Colosseum Coach is the first game I worked on in Live Studio with MassDiGI, during my second semester of my freshman year at Becker. When I came on to the game, we were meant to polish it up and prepare it for release at PAX East, during the second week of March. This meant I had to go from zero experience on a production game to sending a game out the door in roughly two months.

One of the first things I had to work on was creating the UI for the in-app purchase system. I created a modular system for product options, allowing more products to be added with code rather than by manually creating new buttons in the shop panel. My intention behind this was to allow product configuration to be changed without rebuilding the game, if we made it possible to load product configuration from a server or through other means. This could open up the possibility of doing things like A/B testing of product prices and rewards, though this was never implemented.

The next task I had was working on the shop. This would allow players to buy in-game items for their gladiators using currency they won from fights or purchased using in-app purchases. This is a task all three of the programmers on the game worked on, but one part I can unequivocally refer to as my work is the gossip system. This was a part of the shop system where the shop owner would speak to the player about things they've "heard" around town - this could be meaningless, but it could also tell them about new items that might be coming to the shop (we had a daily item system in the game). This helped the game feel a bit more lively. The shop owner's lines were loaded from a file, but they could take the form of conversations (the player would have to click through to see each line) or they could be exclusive lines where only one of each were shown per day. In addition, because the shop owner referred to specific item names, we couldn't hardcode things like articles and plurality into each line. This made gossip generation a more difficult parsing and text generation task than it would seem on the surface - a task that my experience with Rant uniquely prepared me for.

The last thing I worked on for Colosseum Coach was the daily dungeon system. This was intended to promote retention, by giving the player new (well, procedurally-generated) content if they return each day. A random number generated seeded with the current day (so that it would generate the same thing for every person each day) was used to generate the stats of the monster in the daily dungeon. The name of the monster was generated with - what else - Rant (the Rant pattern can be found here). Unfortunately, the semester ended before the feature could be completed, and I was assigned to a different project next semester.

While Colosseum Coach might not've been a resounding hit, it taught me some important things about working on a production game. It gave me the opportunity to get to know what working on a "real" game was like, and I was also able to work with more skilled programmers than I, instead of working with my peers as is usually the case with team projects in class.