Technical Support
This project was developed in C. As the team’s producer, I was responsible for reporting the current status of the game each week and ultimately accountable for each teammate’s productivity. I wrote the code for displaying on-screen data (including the HUD, fog-of-war map unveiling, and cut-scenes), the saving and loading interface, the searchable objects, and menus. Additionally, I designed two of the levels in the game.
DigiPen teaches game development from the ground up, so during our freshman year, we were tasked with making a text based game. After a recent assignment to play Rogue had my whole hastily-thrown-together team hooked, we decided to make a Roguelike game. In an attempt to shake cliches, we decided to make it sci-fi instead of fantasy, and I drafted a story assigning the player’s role to a rather unimportant bystander instead of a great hero. The end result was Technical Support.
Technical Support casts the player as a technician aboard the space station Kraken, trying to survive after a science experiment gone awry flooded the station with mutated bug monsters. The technician must search for repair tools to navigate the station and supplies with which to fight the bugs. By rescusing stranded scientists, the player can upgrade his weapons and armor to become more effective in combat.
We wanted to make the combat in our game more exciting than a standard turn-based affair, so we gave the player three weapons: the plasma cutter, a powerful melee weapon; the ray gun, a weak long range attack; and the bug spray, a devastating (but rare) cone attack. It would be difficult to make the game very thrilling if the player had an infinite amount of time to plot his every move, however, so we opted to implement a pseudorealtime system: The enemy bugs take action whenever the player does; however, if the player hesitates for more than a few seconds, the enemies continue to act.
We were originally torn between randomly generating levels or crafting them by hand, but we eventually decided on the latter. Creating levels on-the-fly allows for higher replay value, but makes it rather difficult to ensure that each level is fun and interesting. This way, each teammate had the opportunity to contribute levels designed in their own unique way. I was kind enough to bless the player with an entire hallway of supply closets, with the last one lovingly filled to the brim with powerful bugs.
Developing Technical Support was definitely a new experience for all of us on the team. For me, it was my first experience developing a game with a group of people; for others, it was the first game they coded from the ground up. The process was definitely not without its hitches — there were a few times when we found ourselves desperately scrambling the day before a milestone to fix a newly-uncovered bug, and we lost a teammate right as we were switching over from designing the game to coding it. Despite these, we pushed on and managed to keep to our original design, eventually ending up with a game that, though a little simplistic, was something we were all proud of.



