Language
Throng is written in C# with XNA Game Studio. This was the only choice as we intend to release the game for XBox Live Community Games. Whilst this may seem limiting, C# and XNA truly enable rapid game development. Sometimes progress on the game seems to be rather slow, but it’s rapid considering the amount of time I can put into it as a hobby.
Physics
Currently, the only confirmed external library is the Farseer physics engine and I’m extremely happy with it. I initially tried writing my own 2D physics system which was used in Balls Unleashed. It worked reasonably well and I learned a lot, but eventually I realised that I was reinventing the wheel and wasting precious time that could be better spent on gameplay features. Farseer has opened up the possibilities of the game with support for polygons, joints and springs. I can’t say enough good things about the Farseer team.
Graphics
At the moment, I’m using the stock standard XNA BasicEffect to draw the 2.5D models and the 3D sprites. This may well change if we get time and deem it worth the effort. Thanks to Scott’s cool 2D and 3D art, I think we may be able to get away without a lot of special effects. They are always a Nice To Have, but I think I’ll concentrate my coding time on the essential gameplay features before worrying about the polish.
Pipeline – X2Model
One piece of in-house code I’m quite proud of is the way we load models. Some of you might be surprised to hear that XNA doesn’t include any API for directly loading models at runtime. If you have Game Studio installed, you can compile X and FBX files at runtime to be loaded and rendered with the Model class. If you don’t want to install Visual Studio and Game Studio, currently the only option is write your own model loading and drawing code. I managed to craftily avoid this problem by using SlimDX to parse and load the X files. That’s the simple bit. Wanting to reuse the built in XNA Model class, I used reflection to create and populate it with the vertex, index and material information. The benefit is that the artist(s) on the project won’t need to install VS and GS and even if they had installed them, they wouldn’t need to recompile the models each time they altered them. The drawback is that any custom content pipeline features are not available. I’m intending to release X2Model on codeplex once I get the time.
AI
This is my current task and the path finding is based on the A* algorithm. Once it’s closer to complete, I’ll post more info about it.
Before I sign off, here’s a quick screeny. The Necromancer on the top right is fleeing along an AI path.
Greatings, Where are you from? Is it a secret?
Hi Jinny. No it’s not a secret – we’re from Perth, Western Australia.
hey this is a very interesting article!