Martin Kess, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: Addictive Tower Defense. This isn’t the first of the quality games to come from the CompSci.ca community members, but it certainly raises the bar once again.
I’ve been playing the beta version of the game for a while, and I am blown away by the level of detail put into this game, just by a couple of indie developers. So I caught up with Martin to talk about the game.
What inspired you to make a commercial game, while still being a student?
Well, my main goal in life is to have a wikipedia page that doesn’t get deleted within 30 minutes of its creation.
I was working at Sybase, and Mike, my boss at the time, decided that in his spare time he wanted to do a project on the BlackBerry, and so we started throwing game ideas back and forth. The real inspiration thought were stories of John Carmack and John Romero (co-founders of id Software and yes, those are links to their Wikipedia pages) putting everything aside to make awesome video games.
And why commercial? Well, I thought that there was an off chance that I could retire a little bit of this quickly growing mountain of student debt.
Currently attending the same school with Martin, I had to ask how that played in with making games.
How do you feel that your 5 years of doing CS at Waterloo impacted the development of the game?
Well, co-op especially has turned me into a very productive programmer, so I think that I am pretty good at cranking out a lot of code. To be clear though — I mostly worked on gameplay and tools, Mike did the engine.
CS241 (Foundations of Sequential Programs, also known as “baby compilers”) was pretty relevant — I wrote a little scripting language to define the levels.
What about the Math courses, did any of them come in useful in either development of the game or balancing out the gameplay?
The math was actually pretty straightforward — it wasn’t much beyond Calculus 1. Though MATH 239 (Combinatorial Analysis and Graph Theory) also came in handy. We used just the Dijkstra’s algorithm to find the shortest path for the enemies to take, but we also made a nifty flood-fill algorithm to update the shortest paths quickly when a tower got built. It was too expensive to rebuild the shortest paths every time a tower was placed.
English classes were very important! I did most of the writing on the site and in the game.
So to wrap this up… What’s next?
Next? *laughs* Next I have to rock this CS488 (Introduction to Computer Graphics) project.
We’re going to keep releasing maps for the game, and likely we’ll start working on Game #2, although we aren’t sure what that will be, and will probably take a break until Christmas at least to get caught up on sleep and other such things.
So there it is. A story about indie game development, a Computer Science student in debt, and one of the most polished mobile games I had a chance to play. Check out the game’s website for more details — AddictiveTowerDefense.com.