CMPM171, Winter 2015, Section 01: Goals

Game Design Studio II is the second of three courses comprising a year-long project sequence in which students work in teams to develop a fully functional computer game. The course is offered at the University of California, Santa Cruz, USA, and is intended to be taken by seniors in the BS Computer Science: Computer Game Design major as a capstone experience. The other two courses in the sequence are Game Design Studio I (CMPM 170) and Game Design Studio III (CMPM 172). The three course sequence starts in Fall quarter, and continues through Winter and Spring quarters.

Overall, the three-course Game Design Studio sequence is intended to provide an experience where students can take a non-trivial game concept from initial idea through to completed game, thereby experiencing the full range of issues inherent in producing a working computer game. The sequence requires students to synthesize the concepts they have learned in their prior classes by applying them to a concrete game creation task. Since the course involves the creation of design documents, giving presentations, creation of project management materials (user stories, burndown charts, etc.), and the creation of a project website, the sequence also satisfies the UC Santa Cruz Disciplinary Communication general education writing requirement. The course also exposes students to the issues of working in teams, and software engineering issues such as project management, software design, software testing, configuration management, and software builds. Teams additionally have to learn the specific capabilities of their game platform (e.g., C++/SFML, Unity, etc.), and how to coordinate with artists, musicians, and animators to create the art assets for their game.

The specific learning goals for CMPS 171 are as follows. By the end of the quarter, students will know:

  • Scrum software development process:
    • Release and Sprint planning
    • Experience performing several Sprints and one Release
    • Project management using Scrum (burndown charts, task boards, daily scrums)
    • "Bad apple" behavior and how it affects teams
    • Coordination with artists and musicians
  • Game development:
    • Experience implementing one or more game features
  • Software design:
    • Unified modeling language (UML)
    • UML structure and sequence diagrams
    • Experience using UML to represent software designs
    • Software design patterns
  • Game testing:
    • Game playtesting, concept and application
    • Gameplay metrics
  • Software testing:
    • Unit testing, experience using unit testing frameworks
    • Black box and white box testing
  • Art direction:
    • Developing an art style for a game
    • Communicating with artists to develop an art style
  • Community building
    • Creation and maintenance of a Facebook page
    • Building and maintaining community
    • Development blogs
  • Disciplinary communication:
    • Use of UML to represent and present a software design
    • Use of user stories, tasks, task boards, and task burndown charts to represent and present software project status
    • Use of a website to communicate the game to an audience of potential players
    • Presentation of gameplay and gameplay metric information gathered during playtests
    • Use of Powerpoint to give presentations on project status
    • Ability to give a live demonstration of software during a presentation

Since this course is the second in a three-course project sequence, students also need to make progress towards completion of their game projects. By the end of the quarter, game projects will meet the following goals:

  • Game presents a playable experience that can be used during playtesting sessions
  • A website exists that describes the game

Whereas Game Design Studio I focused on game design and developing a novel game concept, Game Design Studio II focuses on software engineering issues. The course leads teams through the development of project management infrastructure for creating their games (the Agile Scrum process and its application), the creation of a testing infrastructure (unit tests, play test process). Successful execution of these tasks leaves teams well poised to make rapid progress towards completion of their game in the final course of the sequence, Game Design Studio III.