Ship! is a "fly and gun" style space fighting game conceived and executed in ten weeks by a small game design team working out of the Savannah College of Art and Design. All of the game's assets and technology were created from scratch using Agile design methodologies.

Project Statement

The goal of this project was to take a very small set of specifications at the beginning of the design process and through constant iteration and redesign (not documentation), create a polished game. Those specifications, as decided by the team were simple: space, multiplayer, and fast!

Postmortem

Thanks to a lot of hard work, the Ship! team crossed the finish line with a fantastic product.

What went right:

Agile: As is true with many art colleges offering game design programs with no programmers, the Savannah College of Art and Design places heavy emphasis either on digital content creation or on game design through documentation. Neither of these things actually produce games and it was clear that a different approach was needed.

Agile, more specifically Scrum, was the solution we settled on. Agile stresses constant evaluation and retargeting, and as a result, our project responded well to change. Our faculty advisor, Brenda Brathwaite of Wizardry and Playboy the Mansion fame, became our "publisher" in the Agile sense, and was constantly involved in our design process.

Homegrown data-driven code base: The most common approach to making games at SCAD is to use authoring tools like Macromedia Fusion, Flash, or Unreal. It was very clear that none of these solutions would work, as our game would not be 2D and would not be a first person shooter. Creating our own code presented a daunting challenge, but gave us the flexibility to quickly adapt to design changes.

Starfish, the engine driving Ship!, was created by our programmer, Will Miller. With rapid prototyping in mind, Will created an extensible XML based interface that allowed artists with no programming experience to author levels quickly, and as a result, things started to look like a game in relatively short order. Having worked with an earlier incarnation of Will's code base in the past, Chris West quickly became the team's level author, and heavily influenced the final level file specification.

What went wrong:

Chasing ideas: The first iteration of Ship! was a racing game, where players were tethered to a rail. Everything looked good on paper, but implementation became much harder than anticipated. At the five week milestone, we still did not have a game. Based on feedback from our advisor, we were sent scrambling back to the drawing board, and redesigned the game with a more arcade style run-and-gun mechanic. Had we seen that our original idea was not working earlier, we would have had a better product.

No visual design tools: Authoring a level for the Starfish engine involved writing lots and lots of XML. While this is infinitely better than coding levels in C++, things could have been much faster. The lack of visual level design tools in our pipeline was due solely to the fact that Will was our only programmer and was too busy writing engine and game logic code to write development tools. In retrospect, writing these tools should have been the first thing we did, as it would have sped up our design process by several orders of magnitude.

Meager documentation: As is common with Agile based projects, documentation in the game design sense was heavily de-emphasized in favor of prototyping. While this did not impede our progress in the slightest, it displeased our publisher. Code documentation was also not kept up with and at times caused confusion.