Ages of War

My first complete game

Hawkflight

Learning by doing

Ages of War version 2.0 (C++) In my second semester of Computer Science while at the University of New Mexico, a spark had been lit in me. The previous term I rediscovered my love of programming, and I wanted to see what I could do with the skills I had learned. I set about making a game in C++ where two kingdoms would be at war. The result was Ages of War.

In the game you're dealt a hand of cards comprised of 4 types, offensive, defensive, number, and special. There are two mustering slots on the table for each player, one for an offensive card and one for defense. Each turn a player may play one card. They may play to the offensive muster, the defensive muster, a number if offense is already mustering, or one of the special cards that each had unique abilities. It was a fairly simple game and by the end of the school year I used some newly learned skills to upgrade the game to version 2.0.

Over the next summer I taught myself some Java, and as a test of my skill, I rewrote Ages of War as an applet. While I would go on to write many more versions, this one was the only one to ever have unique units for each of the different kingdoms. I ended up making a website on Geocities so I could host it as well as other information about myself.

In my Design of Large Projects class, a group project required us to make a game with networking in it. I convinced my team to use Ages of War as a base. We used OpenGL as well and it became the only version to have multiplayer. Our game was easily the showcase of the project. I was then able to leverage this into a solo project in an OpenGL class a couple semesters later.

Ages of War version 8.0 (Android) I built Hawkflight Studios in the year after leaving college as I had lost my school page. I wanted to create a version of the game that would be available for more people so I built it again, this time with HTML and JavaScript so it could be played in a browser. This was the most robust version with leaderboards and a forum. Completed in July of 2004, this version would be the longest used version and would survive until 2011 when a host error would wipe out my files.

I continued to use Ages of War as a skill test when learning in a new coding environment. I have since made versions for Android and Unity, though neither were completed. I have also attempted making a version for Tabletop Simulator, though without a random number generator the results were a little wonky. While I don't expect anything to come of the game, it has been my favorite pet project and I wouldn't be surprised if I make another version sometime down the line.

Version History

Version Language Platform Description
1.0 C++ UNIX Initial version with 3 special cards.
2.0 C++ Windows More modular code. 6 special cards.
3.0 Java Applet First GUI. Only version to have unique units per country.
4.0 C++ UNIX Class project. First to have graphics (OpenGL). Only multiplayer version.
5.0 Visual Basic Windows Drew my own cards in MSPaint. Some of this art still survives.
6.0 C++ UNIX Another class project repurposed 4.0 with modifications.
7.0 HTML/JavaScript Web First web version with leaderboards, longest running version.
8.0 Java Android Looked like 5.0 but on a mobile platform.
9.0 C# Unity First use of gaming engine.
10.0 LUA TableTop Simulator A version that used dice instead of RNG.