XERGS Xml Encoded Retro Gaming System
Rebuilding the wheel my way. This is my development journal of my java 2d sprite engine. Maybe someone will find this usefull, maybe not...
About
Why did you start this development journal?

I gotta think partly vanity, though I don't actually want people to come and laugh at me. Mostly I wanted something to show people who wanted to know how the game was coming. Also, it was a fun distraction for a week and kind a fun to setup. A onetime notice as well, everything on this site is my personal opinion, regardless of how it is presented. I am not interested in anyone trying to waste time or screw around. Rational dissent and discussion is welcome.

What is Xergs?

Xergs is my first attempt at writing a complete and somewhat flexible game engine. Xergs is written in Java and utilizes XML files for persistent data storage. I am trying to follow the Model View Controller (MVC from now on) methodology.

What is Chronicles of Mana: Mana Spell (CoM:MS)?

Needless to say (but I will anyway) this game is inspired by my favorite rpg of all time, Secret of Mana. Mana Spell is the game that I am developing to use the Xergs framework (or skeleton and muscles if you will). Mana Spell would be the flesh, the customized appearence, while Xergs is running the show, making it easier to make my next game (which I plan to do in 3D, hopefully with minimal changes. I felt that 2D would be simple enough so that I could concentrate on the architecture of the game (training wheels of a sort). Note that while the visuals (View) of the game is sprite based, the physics and rest of the code is working off of a 3D model, which means that when a token moves in front of another and there is overlap, it isn't a 'trick', its actually represented that way.

Why MVC?

I feel that MVC is a fairly natural and flexible model that leads to easy modification and code reuse and good Object Orientated code (with all the advantages of OO). Take a cup for example. Now in Java, there are some that would prefer that you call cup.fillWithWater() to fill the cup with water. However, I feel that the cup is merely container (model), it can be filled with water, orange juice, beer, etc. So in keeping with that, its the filler class that would determine what was put into the container (controller).

Why Java?

Because I love java! Seriously though, I find it a very easy language to use and feel that it has an excellent blackbox level. I don't give a flying f*&% about pointers and while people can claim they need to use them, people can also claim that a wood fed stove prepares better food. The merits of java are many, from handling pointers to platform independence. Even applets which suffer a bad rep are ready to roll on IE, Firefox, and Opera.

Why XML?

XML is great for maintaining a structure of data and thats basically what a video game needs. In fact a full rdbms would work, I didn't want to have to deal with that factor (setting up, making a connection, etc.). Config files can even be jar'ed up with the code. Makes for a nice package. Also with the power of MVC, if I want to switch to another persistent storage, minimal code changes will make the switch transparent to the rest of the code.

Who is Coldstone?

No, it is not a reference to WWF. Yes, it is partly a reference to Spider Man and yes, its mostly due to Gargoyles the animated series. Other than that, its not really pertinent.