Wednesday, February 17, 2010

Open Source RTS Engine


I had a brief window of opportunity to play a game a few weeks ago - the first I've played on my computer for a few years. I used to be a hard-core real time strategy (RTS) player, but with work, house, wife and child, their is never enough time!

The game itself is called Spring, and is an open source RTS engine. The implementation is inspired from Total Annihilation (1997) and more recently, from it's modern equivalent Supreme Commander (2007). The basic idea is a classic RTS paradigm, with base building, resource collecting and domination being the primary methods of success.

The feature which I enjoy the most is the use of metal as salvageable resource from the remnants of the battle field. A favourite strategy is to allow the enemy near to your base to allow easy access when picking over the carcasses of the dead (it's only robots, no blood!!).

Also, I really appreciated (in the original TA), that the command system is entirely queued. Simply hold down shift, and initiate a sequence of commands. It is essentially fire-n-forget. Back in 97, this concept was revolutionary.. It is still awesome today.

What I particularly like - besides being open source - is that the game play is very similar to my recollections of TA, but with better graphics and sound.

The game is separated into the engine, modifications (mods), and maps, such that there are various mods available, some ostensibly require a licence to the original TA (it uses its units model and rule data), and others are complete fabrications of new rules, units, AIs, and scenarios. There are both open source and paid mods, such as a futuristic (Sci-Fi), WW2, and Star Wars themed mods.

I have been playing the Balanced Annihilation (BA) mod only at this stage, since it has the familiar units and rules of the original Total Annihilation game.

After approx. 20 hours of gaming, I can now give a fair review of the engine, the AIs, the mod, and the lobby:

The lobby is the weakest link in this suite, although it does work, I have found it crashes, has a lot of 'nag' dialogs when failing to connect to a server (even when playing single player), and in general is a bit dull (it appears to be a standard windows form application, nothing special..). It is functional, and provides some good mechanisms for downloading content as required.

The engine is very good, but requires a better graphics card than I have to fully appreciate the feature set it offers. I found the game is responsive with medium unit volumes, but since I prefer high response times to great graphics, I generally played with these settings on low.

Since I needed a lot of practice before I could commit to the multi-player game, I spent all my time with the bundled AIs. Some are definitely better than others, E323AI and RAI I beleive the ones I competed against. One is easy ot beat, as soon as the game's mechanics are mastered, but the other one (I think it was E323AI), is a difficult one to handle, especially early game! I suspect that these AI processes are reducing the performance of the game overall, but still performed admirably.

The BA mod is a faithful recreation of the game I remember, and has been so good that I am yet to entertain the thought of loading up any other mods at this time! I will do this at some time though - Time permitting, of course!

For some screenshots, see here.

Well done to the guys over at Spring RTS, this is a worthwhile project, and I hope to get some time in the future to peruse the source for my self.