Well, in my off hours, I'm still working forward on Turf Wars (TW). This is hopefully going to be my submission to the GameDev's 4E5 contest. I decided to start with a basic Model-View-Controller (MVC) approach to the development. The model is the internal engine, TurfWars.Engine and related classes. It actually has details for every single game element in the game.

It also keeps track of what players knows what. The main reason for this is to give the ability to have a snapshot view (how much money does my enemy have now?) that doesn't automatically update over time. So, you might have some "stale" information about your opponents which may or may not be still accurate. Of course, trying to keep up all the details is also hard.

To handle this, I created a series of View classes. For every component, there is one view for every player. Well, technically if the player doesn't know about it, there is no view for it. This is the part I need to focus on and clean up at the moment, but it seems to be fairly progressive in details. You'll see from these screenshots that the two windows show different things. Both players know what "AI #2" has for favors, but not each other.

tw-001.png tw-002.png

The other major part of the application is the ability to handle time. I decided that the model is semi-continious. This means that it handles event over time. I set up the front end, however, to be either real-time stragtegy (RTS) or turn-based strategy (TBS). The difference is that the TBS will just advance 24 hours (or 6 or 12, whatever) at a time while the RTS version does incremental changes every tenth or hundredth of a second. I put in a little bit of code that automatically gives money to the user over time, so you can see the results. These images show money over time, look at the "current time and date" bit to see the advancement.

tw-003.png tw-004.png
tw-005.png tw-006.png

Still encouraging on the development side. I'm going to focus on the model of the application, then work on a "prettier" front end using the Irrlicht engine for 3D graphics. This is a major undertaking compared to WordPlay, but I also think that it is in my skill set and I won't have to give up "too much" to get it working. Not to mention, it has to be done by the end of November, so I should have enough time.