Towers of the Prophet Recap: Part 2
Tuesday, July 5, 2011 at 9:11PM After a relaxing Fourth of July I think it is time to get back to my recap of the making of my seven day game, Towers of the Prophet.

(This is a shot of the finished game for comaprison to the WIP shots below)
I had planned for my second day to be dedicated to finishing up a fully functional tower defense game. I figured I should have all of those ducks in a row before I started adding in the melee combat elements. I had plans to implement those on my third day of work, Friday.
Thursday started off very well and I cranked out a good list of new features, UI tweaks, and bug-fixes by lunch. Many of the fixes I made were based on feedback given from a few of my close friends who play tested the game for me at every stage. This process definitely showed me the value of constant play testing. Some of the games I had finished in the past didn’t really have much play testing and, if they did, it was at the very end of the design process so not much could be changed. By having a couple of people who tested for the whole development of the game I was able to spot frustrations and usability problems early on. It also helped me by forcing me to have a “shippable” build every day for them to test.
This sort of iterative design process was meant to help me “find the fun” early on. However, after pouring most of my Thursday into putting the tower defense stuff together I didn't feel like the game was very fun or interesting. The feedback I got from my testers, while supportive, seemed to have a similar vibe. It was early in the evening and I had planned to spend the rest of the night building some new tower types and the trying to balance all of them but I was losing steam quickly. I knew if I wanted to keep my motivation I needed to keep things fun. I wanted to get the melee combat in there as soon as I could just to see if the game would be fun at all. I figured if it still wasn’t fun after adding that in I would probably scrap the project.
So I abandoned my list of stuff I wanted to do for the tower defense part and went to work on getting a basic version of the melee stuff in the game. By around midnight I had a prototype with melee working. After playing around a little I knew that I had found the fun I was looking for. I went to bed confident that my game might yet be a success.

Friday I had a shorter list of stuff to do but each item would take a significant chunk of time. I spent the morning getting some basic usability features in place for the UI. I had been on projects where this stuff got put on the backburner and you ended up with a game that was really fun to play… if you were the guy who programmed it and knew all the tricks. For all other people the games seemed unplayable due to poor interface.
So UI was a priority this time. I know it Is not the prettiest but it has all the info you need. After getting tooltips, health bars and a few other things working I decided to tackle the big task of the day, reworking the enemy spawn handler. I had hacked something together for the initial prototype but it was hard to tweak wave composition and it definitely would not scale with different levels. I decided to break the spawner up into two objects. The spawn master, that calculates what kind and how many enemies to spawn in each wave and divided them up among spawn points, and the spawn points that spawn enemies from the selection they are given in a somewhat randomized fashion. I wanted the spawn master to be able to make waves of any composition and to send different “orders” to each spawn point. I actually sat down and wrote pre-code for both the objects, which I usually don’t do. It took a few hours to work everything out but I was happy with the results. I knew that bit of work would not be very visible to the player but it would prove invaluable later when I needed to balance the game for my release.

After some more play testing I was getting some very positive feedback and knew the changes I had made were worthwhile.
Next, I’ll cover the polishing, balancing, and pixle-arting of Saturday and Sunday.


