The Revenge of Arius
Here’s a quick timeline of how I came up with The Revenge of Arius:
- Over Winter Break of 2013-2014, I spent a bit of time playing tower defense games.
- During the spring semester, I took Intro to Programming and Analytical Chemistry. A lot of my time in Analytical was spent doodling tower defense game ideas in my notebook.
- By the time I graduated, I had a game in my head, the knowledge of for loops, and a decently free summer before grad school.
- I lived at home for a few weeks and worked on this game from 9 AM to 9 PM.
Given that this was my first project, there’s significantly more wrong with the game and the code than right with it. But here are a few things that stand out now as being kind of impressive:
- I did all the art myself. I’m a terrible artist, but this game board looks pretty sweet:
- I had no idea how networking worked, but the game was turn-based, so I came up with a scheme wherein I:
- serialize the entire game state to a string,
- email the string to a throwaway gmail account (ignore the password),
- check for unread emails once every few seconds when it isn’t your turn,
- and download the email and rebuild the updated game state from the string.
- I threw away my first implementation which was entirely procedural and taught myself classes. The class for squares on the board is pretty solid.
- There are even early signs of thinking about software engineering and maintainability. Look at this “why”-focused comment!
- I made a full tutorial with both audio and visuals.
There are plenty of low points and doozies, too:
- Want to update the ice resistance of a reindeer? Do it here.
- How do you feel about magic numbers? Want more?
- I decided I had to show stats at the end of the game and ended up building a “player health over time” graph from the ground up.