AI Wars is done
It’s finished. The Flash frontend and Neko backend are done, and my classmates have produced a nice AI client for demonstration purposes. The whole package is roughly 0.5 MB.
To make things a little easier, I’ve written a batch file that starts both the backend and the frontend. All that’s left then is connecting the AI clients and starting the game.
AI Wars is based on Advanced Wars, and plays by roughly the same rules. Direct-fire units can move and fire in the same turn, indirect-fire units can either move or fire from a distance. Some units are faster on certain terrain types than others. Units use ammunition for their primary weapon, if they have one, so after a few shots, they can only use their secondary weapon untill they’re restocked by an apc or a friendly building. Fog of war applies, so recon units are usefull to have around and forests can be used for ambushes.
When a client connects, it receives gameplay information, that describes what units are used and what capabilities they have and what terrain types and buildings are available. This makes adding units relatively easy for developers and it shouldn’t be too hard to build an interface that allows anyone to change units from within the game itself. When the game starts, all clients receive map and game information. When it’s a clients turn, it receives a situation update and a go signal. After each move, it receives a confirmation and if that isn’t negative, also a situation update.
It has been a fun and educative project. For me, it was the first client-server project where I’ve actively worked on the communication aspects. The result has it’s flaws, but it has also given me a lot more insight. I want to release AI Wars and some client example code soon, but there are a few things I want to work out first, such as writing comprehendable documentation on how to get started with AI Wars. I’ll post more on that soon.