Best Practices in Game Development
|
Browsing through our respository I found an unpublished article that I and Johno wrote a while back. We never got around to publishing which is a pity since we worked quite a bit on it. So to cut things short, I'll publish it part by part in my blog. This is the first introductory part, so look out for the others coming soon. Feel free to comment. Software Engineering Best Practices in Game DevelopmentIntroductionThis article describes and elaborates five best practices of software engineering in the context of game development. These practices are; iterative development, manage requirements, manage change, verify quality and visual modeling. We urge game developers to realize that many of the software problems commonly encountered in game development have already been encountered and solved in traditional software development organizations. The article is intended as an inspirational starting point for applying best practices in your own projects. Best Practices of Software EngineeringSoftware development is plagued with many serious problems. Complexity is increasing, time to market is decreasing and quality requirements are skyrocketing. This puts great strains on the software developing organization and the people therein. It is no longer possible to work harder; we must work smarter. Best practices of software engineering are commonly observed, commercially proven approaches to successful software development. Developers that wish to compete on the bleeding edge of software technology should adapt these practices to the specifics of their own organization. Game DevelopmentThe most complex part of any computer game is the software behind it. The software needs to incorporate game play mechanics, artificial intelligence algorithms, network protocols, real-time physics simulations, decompression and playback of music, filtering and mixing of sounds, 3d visualization and more. In addition to all of this, multiple platforms must often be supported. The software must also be packaged with huge amounts of data in the form of textures, models, animations, sounds, scripts etc. to create something fun and entertaining, an elusive mix of technology and art. Considering all of this, it is not surprising that many games are released with poor quality, often requiring fixes in the form of software and / or content patches from day one. All of these complexities cause games to exceed their budgets and miss time to market by not days, but months and years. As a result, many game developers are fighting a losing battle to survive. We maintain that a large number of these problems are the very same problems “traditional” software developers have faced and conquered by implementing best practices in their organizations. About the authorsTobias Olsson is a lecturer at the University of Kalmar, where he teaches courses in software engineering, real-time graphics, real-time physics and game development projects. He also runs his own company, Spell Of Play Studios, focusing on computer games and development processes. Johannes Norneby is a is a programmer at MindArk PE AB in Gothenburg, developers of Entropia Universe a MMORPG. Johannes has also held tech director positions at DICE and Massive Entertainment. ReferencesAlan MacCormack "Product-Development Practices That Work: How Internet Companies Build Software", MIT Sloan Management Review, Winter 2001, Volume 42, Number 2 Extreme Programming: A gentle introduction. www.extremeprogramming.org Manifesto for Agile Software Development, www.agilemanifesto.org Martin Fowler, www.martinfowler.com Yoopeedoo, www.yoopeedoo.org UML Resource Page, www.uml.org Continued in: Iterative Development |
Submitted by hObbE
Wed, 03/05/2008 - 10:25
|


Post new comment