Using Evolutionary Design for computer gamesA board game is a simple example of evolutionary design in action. Computer games offer a whole new set of difficulties involving technology and content development. Imagine attempting to test your game design when it takes 6 month for the graphics engine to show something on the screen and 4 more months before there is enough art to describe the environment. How do you integrate evolutionary design with software development and content creation constraints? I don't have a short answer, but I've experienced some powerful, proven techniques that may one day lead to a unified iterative game development process. Adapt an agile software development process like Extreme ProgrammingThere a relatively new type of software development process called Extreme Programming. The goals are similar to evolutionary design. Development occurs in short iterations and all code is constantly tested. The goal is to manage change. I've worked within this system for about a year in a non-game project that required the co-development of a 3D engine, an editing environment, and content. So far I'm impressed. Modifying the process to include game play testing in addition to code testing could place evolutionary design in the context of a proven software development method. Use standard formats for art and then adapt the technology to the resultsThere are proven methods for efficiently creating artwork involving concept artwork, modeling, animation, etc. Such activities require extensive planning. Evolutionary design poses an interesting dilemma because it intentionally avoids abstract upfront planning so that it can adapt easily to the reality of the situation. I have a heretical theory, and mind you this comes from someone who has been painting and illustrating for much of my life. Suppose you were to test art like you test game design and code. You would get back comments like "It needs to be pretty. It needs to have a coherent style." You would hardly ever get back "The art caused the game to fail because the character had goatee instead of a full beard." Why? Because the only function most art has in a game is to help create the setting. Art needs to be attractive, evocative and vaguely related to the game concept. Everything else is up to the vision and talent of the artist and the technical requirements of the engine. During the first few iterations, the game will rapidly solidify. At this point the designer should be able to describe the basic setting requirements. The team can decide upon:
If possible, create high quality artwork and then constantly evaluate how that information is getting into the game engine. I'm glossing over two particularly tricky content related elements. The first is the user interface. This requires numerous iterations of both design and content. The second is map building. Maps are heavily content dependent, but they are part of the game design. There are ways one can separate map functionality (game design of map skeleton) from art creation (making map building blocks) and application (prettifying the map skeleton by applying art resources). However this requires an intricate robust process that is heavily dependent on the tools and people available. A Proven TechniqueEvolutionary design is not an original concept. Similar ideas have been called iterative design or prototyping for many years. Dozens of companies practice grass roots processes that are evolutionary design in spirit if not in name. For my first game design, I worked with a small company called Epic Megagames on a project named The Circle. As a enthusiastic designer fresh out of college, I led a small team that fluctuated between 3 and 5 people for the chaotic two-year length of the project. I was a fervent believer in intelligent game design, and proceeded to write a concise hundred-page design document describing everything. To call the design ambitious would be an understatement. In no particular order, the document included:
There was another project at Epic named Unreal. The Circle used the same Unreal engine and authoring tools, but the Unreal team went about the development process in a very different manner.
The Unreal engine was in a constant state of revision. Content created one month would fail to load inexplicably the next. The documented limits were not the actual limits, and the only way to find out was to break the editor through accidental stress tests. Projected features never materialized, and the completion of the engine was always estimated at a year away. Two very different projects had two very different endings. The Unreal team managed to figure out the limitations of the engine and create the most enjoyable game possible given the constraints. One could say they evolved their game to fit what they were given. The Circle team would try to build the ultimate inventory system, or the ultimate movement UI, completely ignoring the state of the engine. Months were wasted on textures for areas that were impossible to build. For two years, the Circle team carefully built the items in the design document only to realize they were unworkable. In the end, The Circle was canceled, and Unreal went on to fame and fortune. While there were other issues involved, the design methodology contributed greatly to the final result. I hear tales from around the industry. Blizzard mentions that one of their most important design activities is playing the game. Sid Meier discusses his test bed philosophy of trying out game designs. Peter Molyneux expounds upon the prototypes that help him polish original ideas. Each appears to build 'fun' into their game designs throughout the entire development process. Is it really surprising that players worship the games these developers produce? The Benefit of a ProcessIn conclusion, I'd like to tackle why an explicit process like evolutionary design helps the industry. With Giants & Castles, I stumbled upon the various iterative steps and then codified them. Once I began following the rules, my design proceeded more quickly and the modifications I made were better. The Unreal team also stumbled upon the basic concepts. However, they had no steps to follow and large amounts of effort were wasted due to disorganization, lack of communication, etc. A process turns implicit and instinctual knowledge of what works into a repeatable series of steps that improves a group's ability to manage their project.
The hope is that codifying observed successful design practices would help other game designers improve their own design processes. Take the evolutionary design concepts in this article. Adapt them to the situations you find in your unique work environment. There's a very good chance you will build enjoyable games. ReferencesDiablo II Post Mortem Extreme Programming Daniel Cook
© 2002 Daniel Cook. All rights are reserved. |