ABSTRACT
This paper reports on the software architecture, methodology, and student learning experience from the development of Morgan's Raid, an educational game designed to teach fourth-graders about Indiana's Civil War history. The game was designed and developed during the 2010-2011 academic year and involved a multidisciplinary undergraduate team. The team used industrial best-practices of game development, including continuous integration, distributed version control, test-driven development, and Scrum. This methodology was supported by an entity system architecture, a software architectural design pattern that addresses many shortcomings of inheritance-based game engine architectures. Detailed definitions of the entity system architecture and methodology are presented along with the experience report. This combination of methodology and architecture directly contributed to the success of the project, both software development exercise and learning experience.
- K. Beck. Test Driven Development: By Example. Addison-Wesley, 2002. Google ScholarDigital Library
- K. Beck and C. Andres. Extreme Programming Explained: Embrace Change. Addison-Wesley, 2nd edition, 2004. Google ScholarDigital Library
- K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R. C. Martin, S. Mellor, K. Schwaber, J. Sutherland, and D. Thomas. Manifesto for Agile Software Development, 2001. http://agilemanifesto.org.Google Scholar
- S. Bilas. A data-driven game object system, 2002. GDC 2002 Presentation; slides available at http://scottbilas.com/files/2002/gdc_san_jose/game_objects_slides.pdf.Google Scholar
- A. S. Carter and CD. Hundhausen. A review of studio-based learning in computer science. J. Comput. Sci. Coll., 27:105--111, October 2011. Google ScholarDigital Library
- M. Clark. Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps. The Pragmatic Programmers, 2004. Google ScholarDigital Library
- A. Cockburn. Agile Software Development: The Cooperative Game. Addison-Wesley, second edition, 2007. Google ScholarDigital Library
- CruiseControl Home. http://cruisecontrol.sourceforge.net.Google Scholar
- W. Cunningham. The wycash portfolio management system. In Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum), OOPSLA '92, pages 29--30, New York, NY, USA, 1992. ACM. Google ScholarDigital Library
- P. Deemer, G. Benefield, C. Larman, and B. Vodde. The Scrum Primer. Scrum Foundation, 2010. Version 1.2.Google Scholar
- C. Fernández-Vara and P. Tan. The game studies practicum: applying situated learning to teach professional practices. In Proceedings of the 2008 Conference on Future Play: Research, Play, Share, Future Play '08, pages 25--32, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- S. Fincher, M. Petre, and M. Clark. Computer Science Project Work: Principles and Pragmatics. Springer, 2001. Google ScholarDigital Library
- M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. Google ScholarDigital Library
- P. Gestwicki, A. Haddad, A. Toombs, and F.-S. Sun. An experience report and analysis of Java technologies in undergraduate game programming courses. J. Comput. Sci. Coll., 25:102--108, October 2009. Google ScholarDigital Library
- P. Gestwicki and R. Morris. Social studies education game development as an undergraduate immersive learning experience. In M. M. Cruz-Cunha, editor, Serious Games as Educational, Business, and Research Tools: Development and Design. IGI Global, 2012. In press.Google Scholar
- P. Gestwicki, F.-S. Sun, and B. Dean. Teaching game design and game programming through interdisciplinary courses. J. Comput. Sci. Coll., 24:110--115, October 2008. Google ScholarDigital Library
- D. Hendrix, L. Myneni, H. Narayanan, and M. Ross. Implementing studio-based learning in cs2. In Proceedings of the 41st ACM technical symposium on Computer science education, SIGCSE '10, pages 505--509, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- C. Hundhausen, A. Agrawal, D. Fairbrother, and M. Trevisan. Does studio-based instruction work in cs 1?: an empirical comparison with a traditional approach. In Proceedings of the 41st ACM technical symposium on Computer science education, SIGCSE '10, pages 500--504, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- C. D. Hundhausen, N. H. Narayanan, and M. E. Crosby. Exploring studio-based instructional models for computing education. In Proceedings of the 39th SIGCSE technical symposium on Computer science education, SIGCSE '08, pages 392--396, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- C. Keith. Agile Game Development with Scrum. Addison-Wesley, 2010. Google ScholarDigital Library
- T. Leonard. Postmortem: Thief: The Dark Project. Game Developer, July 1999.Google Scholar
- A. Martin. Entity systems are the future of MMOG development. http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1, Sept. 2007.Google Scholar
- A. Martin. Entity System 1: Java/Android, http://t-machine.org/index.php/2010/05/09/entity-system-1-javaandroid, May 2010.Google Scholar
- A. Martin. Entity System: RDBMS-Beta (a new example with source). http://t-machine.org/index.php/2011/08/22/entity-system-rdbms-beta-a-new-example-with-source/, Aug. 2011.Google Scholar
- Mercurial, http://mercurial.selenic.com.Google Scholar
- J. A. Ramage. Rebel Raider: The Life of General John Hunt Morgan. University Press of Kentucky, 1995.Google Scholar
- B. Rene. Component based object management. In K. Pallister, editor, Game Programming Gems 5, pages 25--37. Charles River Media, Hingham, Mass., 2005.Google Scholar
- D. Sanders. Using Scrum to manage student projects. J. Comput. Sci. Coll., 23:79--79, October 2007. Google ScholarDigital Library
- J. Schild, R. Walter, and M. Masuch. Abc-sprints: adapting scrum to academic game development courses. In Proceedings of the Fifth International Conference on the Foundations of Digital Games, FDG '10, pages 187--194, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- D. A. Schon. The Reflective Practitioner: How Professionals Think In Action. Basic Books, 1984.Google Scholar
- K. Schwaber. Agile Project Management with Scrum. Microsoft Press, 2004. Google ScholarDigital Library
- Slick---2D Game Library based on LWJGL. http://slick.cokeandcode.com.Google Scholar
- T. Smith, K. M. Cooper, and C. S. Longstreet. Software engineering senior design course: experiences with agile game development in a capstone project. In Proceeding of the 1st international workshop on Games and software engineering, GAS '11, pages 9--12, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- J. Spolsky. Hg Init: a Mercurial tutorial, 2011. http://hginit.com.Google Scholar
- M. West. Evolve your hierarchy. http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy, Jan. 2007.Google Scholar
Index Terms
- The entity system architecture and its application in an undergraduate game development studio
Recommendations
Model-driven Game Development: A Literature Review
Model-driven game development (MDGD) introduces model-driven methodology to the computer game domain, shifting the focus of game development from coding to modeling to make game development faster and easier. The research on MDGD is concerned with both ...
Teaching game development using microsoft XNA game studio
SpringSim '09: Proceedings of the 2009 Spring Simulation MulticonferenceElectronics games, including video games and computer games, are an important part of American culture and entertainment. According to the Entertainment Software Association (ESA) [1], about 65 percent of American families play video or computer games. ...
Complex game development throughout the college curriculum
This case study discusses the incorporation of game development throughout the Daniel Webster College computer science curriculum. During the freshman year all computer science majors develop complex games in C#.net while participating in an ...
Comments