Splat! er, shmup? A postmortem on a capstone production experience

Developing large-scale software applications in teams has long been a popular feature of capstone courses in computing degree programs, particularly in the fields of computer science and software engineering. Instructors utilize real world problems as well as external clients to motivate the students and to provide authentic experiences. Within the field of game design and development, students have strong desires to make and ship a game or series of games during their collegiate experience. To address this need, we created a production studio course offering that addressed the desires of students to create a game as a culminating experience while focusing upon the production process and challenges that are particular to the game industry. In this paper we describe the process undertaken by students, faculty and staff to ship a game. We discuss the successes and failures of the team and in achieving their goals. We show the similarities and differences between the process of developing and shipping a game and other types of large-scale software design and development projects undertaken in similar courses.

[1]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[2]  John G. Meinke Augmenting a software engineering projects course with oral and written communication , 1987, SIGCSE '87.

[3]  A. Jefferson Offutt,et al.  Anatomy of a software engineering project , 1988, SIGCSE '88.

[4]  Linda M. Northrop,et al.  Success with the project-intensive model for an undergraduate software engineering course , 1989, SIGCSE '89.

[5]  Suzanne Rivard,et al.  Toward an Assessment of Software Development Risk , 1993, J. Manag. Inf. Syst..

[6]  Roseanne Tesoriero Tvedt,et al.  The Software Factory: combining undergraduate computer science and software engineering education , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Bruce P. Tis Security from the perspective of the workstation user workshop , 2002 .

[8]  Michael V. Stein Using large vs. small group projects in capstone and software engineering courses , 2002 .

[9]  A. Grossman,et al.  Postmortems from Game Developer: Insights from the Developers of Unreal Tournament, Black and White, Age of Empires, and Other Top-Selling Games , 2003 .

[10]  Deborah E. Rosen,et al.  Multidisciplinary teams to fulfill apprenticeship requirements in industry , 2003 .

[11]  William V. Wright,et al.  A Theory of Fun for Game Design , 2004 .

[12]  Carl Alphonce,et al.  Benefits of using socially-relevant projects in computer science and engineering education , 2004 .

[13]  Nicole Clark Peer testing in Software Engineering Projects , 2004 .

[14]  Robert M. Keller,et al.  Fun and games: a new software engineering course , 2005, ITiCSE '05.

[15]  Katherine Shaw,et al.  Engendering an Empathy for Software Engineering , 2005, ACE.

[16]  Z. Alzamil Towards an effective software engineering course project , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  Kajal T. Claypool,et al.  Teaching software engineering through game design , 2005, ITiCSE '05.

[18]  Edward R. Carroll Estimating software based on use case points , 2005, OOPSLA '05.

[19]  David Coppit,et al.  Large team projects in software engineering courses , 2005 .

[20]  Jon A. Preston Utilizing authentic, real-world projects in information technology education , 2005, SITE.

[21]  Martin L. Barrett,et al.  What kinds of communication are required on the job , 2005 .

[22]  Thomas P. Way,et al.  A company-based framework for a software engineering course , 2005, SIGCSE '05.

[23]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[24]  Ayse Basar Bener,et al.  A Template for Real World Team Projects for Highly Populated Software Engineering Classes , 2007, 29th International Conference on Software Engineering (ICSE'07).

[25]  Steven M. Hadfield,et al.  Crafting a software engineering capston project course , 2007 .

[26]  Andrew Pletch,et al.  A software engineering project that looks like the real world , 2007 .

[27]  John G. Flowers,et al.  Improving the Capstone project experience: a case study in software engineering , 2008, ACM-SE 46.

[28]  Stan Kurkovsky Four roles of instructor in software engineering projects , 2008, SIGCSE 2008.

[29]  Birgit R. Krogstie,et al.  Power through brokering , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[30]  Jesse Schell,et al.  The Art of Game Design: A book of lenses , 2019 .

[31]  Mitchell M. Rohde,et al.  Toward the fusion of serious simulation and video games , 2009, SpringSim '09.

[32]  Jason Gregory,et al.  Game Engine Architecture , 2009 .

[33]  Theresa Beaubouef,et al.  The sometimes harsh reality of real world computer science projects , 2010, INROADS.

[34]  Polona Vilar,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th edition) , 2010, J. Assoc. Inf. Sci. Technol..

[35]  Elizabeth Sweedyk Women build games, seriously , 2011, SIGCSE '11.

[36]  Stephanie Ludi The benefits and challenges of using educational game projects in an undergraduate software engineering course , 2011, GAS '11.

[37]  C. Shaun Longstreet,et al.  Software engineering senior design course: experiences with agile game development in a capstone project , 2011, GAS '11.

[38]  Robert M. Marmorstein Open source contribution as an effective software engineering class project , 2011, ITiCSE '11.

[39]  Bonnie MacKellar A software engineering course with a large-scale project and diverse roles for students , 2011 .

[40]  Alf Inge Wang,et al.  Extensive Evaluation of Using a Game Project in a Software Architecture Course , 2011, TOCE.

[41]  Elena García Barriocanal,et al.  Empirical findings on team size and productivity in software development , 2012, J. Syst. Softw..

[42]  Casper Lassenius,et al.  Teaching real-world software engineering through a capstone project course with industrial customers , 2012, 2012 First International Workshop on Software Engineering Education Based on Real-World Experiences (EduRex).

[43]  Tom Rishel An innovative project structure for teaching software engineering , 2012 .

[44]  Nannette P. Napier,et al.  Integrating authentic learning into a software development course: an experience report , 2013, SIGITE Conference.

[45]  Swapna S. Gokhale,et al.  Selecting open source software projects to teach software engineering , 2014, SIGCSE.

[46]  Thomas Reichlmayr,et al.  Using a real world project in a software testing course , 2014, SIGCSE.

[47]  Bernd Brügge,et al.  Rugby: an agile process model based on continuous delivery , 2014, RCoSE 2014.

[48]  Herbert H. Tsang,et al.  Industry in the Classroom: Equipping Students with Real-World Experience A reflection on the effects of industry partnered projects on computing education , 2014, WCCCE.

[49]  Claudia Szabo Student projects are not throwaways: teaching practical software maintenance in a software engineering course , 2014, SIGCSE '14.

[50]  Nicole Fruehauf Flow The Psychology Of Optimal Experience , 2016 .