Download | Screenshots | Development
Toasted Development Info
Written by Paul
April 13, 2007
Looking back at my freshmen year at Digipen, I can safely say that I've learned a lot, especially when it comes to making games. Some eight months ago, I was put into a group with four other freshmen students. We were given the task of dividing up the five major roles in game development: producer, designer, technical director, product manager, and tester. I took on the role of designer and proceeded to create a game design document (GDD) for what would later become know as our text based game. Each team, consisting of four to five students, was required to craft such a design for a text based game which we would program the following semester.
After throwing around some ideas, I decided to pitch the thought of a top-down, action oriented text based game where the player was focused on collecting weapons and destroying enemies. Luckily for me, my team thought it was a good idea so we decided to go with it. I expanded and fleshed out the design throughout the duration of the semester into a detailed, twenty six page document. With the next semester on the horizon, my team and I enjoyed a much needed Christmas break before coming back and divvying up the coding responsibilities.
An Initial Level Layout
We decided we should break the game code down into specifics like the graphics system, level manager, enemies, weapons, levels, bosses, player, user interface, sounds, etc. Each member of the team was responsible for creating a level, but besides that we divided up the work as follows:
- Producer (Mike) - user interface, saving / loading
- Designer (Paul) - enemy system, level one and two bosses and minibosses
- Technical Director (Chris) - graphics system, particle system, player movement, level three and five bosses and minibosses
- Product Manager (Cullen) - weapon system
- Tester (Sheridan) - level loading, player interaction, pause menu, sounds, level 4 boss and miniboss
What Went Right
- Management -
With a team of five individuals, it takes a good leader to keep everybody on the same page. Our producer, Mike, did an excellent job keeping us on track. Whenever a particular item of our game wasn't functioning correctly, I felt confident that our producer would be there to figure out what the problem was. He made sure we successfully hit each of our milestones, and always kept an accurate record of where our team was in developement.
- Teamwork -
When we first started this project, three out of five members on our team had seen very little, if any, C code. Our technical director and tester had a strong grasp on overall game logic and design, so we heavily relied on them for setting up the initial structure. And as it turned out, the tester role didn't have any specific responsibilities like managing a team or creating a GDD, so Sheridan was basically a free agent who was able to help the rest of the team whenever they had questions. For me personally, he was there the first few weeks to help me get my linked list code that I used to keep track of all the enemies working properly.
Sample Load Screen
What Went Wrong
- Communication -
When we were at about the half way point, we decided it would be a good idea to sit down once a week and code together as a team. Since class was short on Fridays, we usually ended up occupying a lab together as a team from around 4:00PM until midnight. This worked marvelously for the first few weeks, as I was able to ask my team about how the new enemies should interact with the player. Another reason this worked so well was because whenever anybody had a question, another member of the team was there to answer it on the spot. Unfortunately, as we continued to have these team coding sessions, our technical director was unable to attend for whatever reason. I feel this was a lack of communication as a whole, but it led to many problems that could've easily been avoided. At one stage of development, we had a bug where all the enemy spawn points weren't being created properly. Seeing as I was in charge of the enemies and spawns, everybody thought it was my fault, but in actuality, the bug resulted from a function call that our absent teammate had called in my enemy manager code (I still give him a hard time about that).
After a grueling two semesters of school and coding, I was overall very pleased with what our team pulled off. We set out with the idea of a fast, fun, pickup and play sort of game and we accomplished just that. There isn't a deep story, and there aren't pages and pages of instructions to read. The player simply boots up the game, starts a new file, and proceeds to enjoy five levels filled with multiple enemies, five unique bosses, ten different weapons, a fantastic particle system, and an epic final boss. I couldn't have imagined a more talented and dedicated team of individuals to have been paired up with to create what will later become known as our first complete project in our quest to rule the games industry.