Saga - Java RPG in development

last update: 3 Jul 2004 (sources.zip fixed)
Version: 0.18
Blue Turtle Read download part! Manual by Sparafucile!

SourceForge.net Logo /
The Game:

This project is named "Sagaj" because the name we used for internal development was "Saga" and that name was taken on sourceforge already. So I tagged a "j" on to it.

From a Google search it seems that "Sagaj" is a dialekt of the Russian/Asian language Khakas, which has 57,500 speakers all together. While this has nothing to do with why we picked the name, I think it is kind of cool.

Look at the screenshots of sagaj.

Sagaj is a roleplaying game written in Java, in which you can, at the moment, walk one hero around on a map, fight monsters, equip him or her with better stuff and gain stats. It is playable and might even be fun for an hour or two, but it is far from finished.


Implemented Features:
Work in progress:

Working on Version 0.20 which we do not know a lot about yet.


Graphics:

To quote from the mail I got from David:

Tiles By David E. Gervais,
Used with his express permission.

The graphic at the top of this page was drawn by a very talented friend of ours, Wolfgang Hubl. He retains all copyright. I cut-and pasted and resized the original when I switched this page to frames, you can still look at it here.

Music:

The Celtic music was sequenced by Ron Clarke and he has the copyright to the MIDIs, the tunes themself should be old enough so the copyright on them has expired. We are allowed to use his MIDI files as "library files supplied as input", aggregated with the package, as defined in 6. of the Artistic License under which Sagaj is released.
The Bach music is from the Bach Chorales by Margaret Greentree, she has the copyright to the MIDIs, and she wrote an email saying "I have no problem with that [using her music in a game] as long as there is no money involved".


Download:

If you have Java installed and want to try it out, the sources and compiled class-files are up on sourceforge . Download sagaj-018-bin.zip if you just want to run it. This archive contains the compiled class-files, the graphics and basic music.
To get started, read the alpha version of the manual by Sparafucile and Marion.

The blue version 0.15 has Blue Turtles Blue Turtle that you can knock on to travel to another random Island (main motivation behind this choice of transport was that we have no ship icons) and blue potionsPotion that you can consume. Only healing works at the moment and those are, according to old RPG traditions, the blue ones. Potions do not drop anywhere, they can only be bought in shops (and Marion thinks they are much too expensive).

The new version 0.18 has faster combat and a non-random island and quests.

A very short page to get you started somewhat I hacked in way back is here.
If you run Sagaj, please post your impressions in the forums accessible from the Project Site .
The version of Java we used up to 0.17 is 1.3.1. , for some aspects of 0.18 you need Java 1.4.


Development:

If you want to join in the development, you are more than welcome. The sources are in sagaj-018-src.zip. Go and look at everything on the Project site. Marion is using Eclipse as his development environment, so you might want to install that.

Check Subprojects and Tasks for an idea what we plan to do. Read the (little) available documentation and post on the boards or send me a mail.

If you don't know Java, The Java Tutorial is a good place to start.


Development Philosophy:
And if you want to read about my dreams, here is the vision , just do not hold it against me please.

While I am normally an advocate of planning quite a bit ahead with UML , the development style we wanted to try for this project leans heavily on XP (I never tried this in a real project before).

Marion just put up TWiki for Sagaj, you might want to add to the Coder pages instead of using the forums.

Other Open Source RPGs:

Angband is a freeware computer dungeon exploration game based (loosely) on the books of J.R.R.Tolkien. It is written in C and the sources are freely available, also quite a few variants exist. I spent quite a bit of time playing this.

Crossfire is a highly graphical role-playing adventure game with characteristics of Rogue, Nethack , Omega and Gauntlet. It has multiplayer capability and presently runs under X11. It is written in C and is under the GPL. I played this 8 or 10 years ago in my mud days for a bit and it was great fun back then, from their website it seems they have constantly evolved and improved so I would say it is even better now.

Tyrant is a really nice, working, pure roguelike in Java under the GPL, be sure to check it out.

The WorldForge Project is developing a complete system for massively multiplayer online roleplaying games. Their souce code, libraires and art lie under various Open Source licences. Too much to summarize, just click on the link.

I will add links to other projects I find as I come across them, this is far from complete. Feel free to send me a mail if you would like to appear here.

Other interesting Links:

There also is a thesis on the design and construction of a system called Role Maker , an authoring system for computer roleplaying games. However the code is not open source. Jacob Marner keeps all rights to it so you may not copy, redistribute or sell this code without his explicit permission, so I did not download it yet. Once I find some more time I will probably check it out, or would be thankful for a comment from anyone that tried it.

Jacob read this and sent me a mail stating: "As long as you limit your use of the code to learn from (the report helps a lot with that) and grabbing sections or even files of the code it is fine with me. Just don't copy the whole project with the intention to make money from it or with intention for redistribution. *then* I will get mad."


Licence:

We decided to put everything in the project we have copyright to (ie the source code) under the Artistic Licence and expect all additions from team members to the project to be under that licence too.

About us:

This needs some serious updating.
The development team consists of 3 new developers, Rdietze who left, Tribaal, Sparafucile, Marion, and me so far (in reverse order of joining).
Rdietze is Robert Dietze, he used to be a full time software consultant and is a fan of console rpgs, a friend of ours from the time in Dresden. He has some experience on Mac OS X and was going to participate in testing issues as well as coding small parts. He contributed a MacOs build for R0.16. He left the project because in a new job, he does not have the time anymore.
Tribaal is a junior java developer.
Sparafucile is a Computer Science major at the school of Purdue, who wrote the questions at character creation, the larger part of the manual and a prototype stand-alone inventory system which Marion integrated into Sagaj.
Marion and me are both Hobby Roleplayers, doing this in our spare time, and we contributed most all of the java code. Marion is a professional Java Programmer and more into low-end java stuff and thusly dubbed "Lead Programmer" by me, he wrote the combat engine among other things and is our release technician. I used to work as a programmer and trainer for Java. I am more into design (I DM in our roleplaying sessions too :), so I wrote the monsters, items and skills for example.
Marions and my involvement with Computer RPGs goes back pretty far, we met both being wizards on TubMud back in our university days. Even then, Marion coded core functions and I coded areas and quests. As should be quite obvious from the screenshots, neither of us is really into graphics, alas.

Mike Mikera, the author of Tyrant , graciously offered to help with advice on creating an RPG in Java. I also took inspiration from his source code. He is not a team member, having his own project.

This is my first attempt at an Open Source project, Marion is somewhat more experienced with Open Source. I wanted to write a crpg since my C64 days (countless starts and never finished one, but I did learn programming that way).



Sandra, Project Admin