I started a new open source project where I am going to be experimenting with creating a UWP client application that takes full advantage of the Windows stack in a cross-form factor way. I will be doing custom tailoring of the game experience for Mobile, Desktop, Xbox One, and HoloLens experiences. The open source project I picked is called TripleA (short for Axis And Allies).
It’s currently an open source turn-based game framework written in Java. It works great on the Desktop but it’s pretty terrible experience using a touch screen.
In this open source project, I’ll be experimenting not only with the challenges on the client but also on the server as well. I’ll be designing a new backend server using Azure Service Fabric. I’ve posted the latest check-in of code to Github. It’s all client-side right now. Here’s a screenshot of the current map rendering.
As you can see I’m loading territory polygons as well as relief map tiles and placing units in their start locations. I’ve also implemented a territory selection. It’s ugly, but it works.
Right now, I’ve been focused on accurately re-creating the game map from a game template file. Once I get basic map editing functions complete (Change territory owners, move units, add / remove units, etc.) I’ll be able to tie these actions to state changes within a game model and then finally keep a versioned history of the game model as it changes with each player’s turn. Finally, I will store that game model within the server backend and push updated game models down to the client as other players manipulate the game model on their turn.
Each game has a zip that contains a number of assets that range from graphics to XML configuration files to sounds. The nice thing about this game framework is that if I implement it in such a way that I am totally reliant on the configuration files I should be able to support all game types that have been published by the community.