CrossBlast

CrossBlast turned out to be an excellent test of the Catharsis engine, tools and development process. I finished the tools just before CrossBlast development began. Except for a build fix early on, they worked wonderfully throughout the entire process. The engine was a similar story, I only added a color render state during development. There were no show stopping bugs in either the engine or tools. I spent most of the development time helping out with the various aspects of releasing CrossBlast, and waiting for critical bugs which never came.

Much of the engine and game architecture was validated as CrossBlast was developed. Specifically, the way the event system and scripts work turned out to be a great choice. Scripts can be attached to any node and will process the events sent to that node. Scripts can be swapped effortlessly, making prototyping very easy and modular.

Another smart decision was in the scene system. The files that define the scenes are XML. This allows easy processing using standard XML parser libraries. There are also a lot of very nice XML editors that we can use. In the XML scene files arbitrary properties can be added to nodes. All properties are automatically available to the scripts in the game. This avoids hardcoding magic numbers into the game scripts. This keeps the data in the XML files and the logic in the game scripts. Eventually these properties will be able to be defined generically in maya.

CrossBlast helped us to realize what can be done with our current codebase. It has also shown what we need to do next.

Leave a Reply