Hansa Teutonica

Now that we are getting a multitouch table, it is time to write some games for it.

William has already written GemHoarder and we have decided that the next game will be Hansa Teutonica.  It is a relatively new game that we really enjoy. The game doesn’t have a lot of different cards or exceptions that make a conversion difficult.

We are going to write the game with the Torque 2D game engine. William has already incorporated TUIO events into the engine. It is a C++ engine and I will be creating the back-end game model. The game is turn based, and on each player’s turn they can perform 2-5 actions. We know that we will need to be able to undo actions because the player may click in the wrong place, or just change their mind. The later happens regularly in the physical version. So I am going to create a model of the players and the board and then a move system that modifies the model. Finally, there will be some kind of game-runner that interfaces with the GUI to find out what the player wants to do, constructs the move, has the move apply itself, and then saves the move so that it can be undone.

I am also looking forward to trying out some of the new features in C++ 11. My previous C++ application was written with Visual Studio 2008 because the CLI/.NET intellisense is broken in VS 2010. Since I wont be using any of the managed code for this project, I can use VS 10 which supports most of C++ 11. The features that I am planning to try out are the “for each” statement and the Lambda functions.

Land Bridges complete

William and I have completed the Land Bridges program. After playing a similar game, we were inspired to make the game with an AI. We imagined that the AI would be fairly easy to write and could play so much better than humans.

William wrote the interface to the game and created all the art. I wrote a back-end model of the game and the AI. The front-end of the game is written in Torque, a C++ game engine.

The AI was much harder than I expected it to be. The number of possible moves for the AI to consider was much larger than I initially thought, and it became impossible for the computer to “see” more than a couple moves into the future without trimming down the move tree.