What Others Can Learn from Game Developers
Total Page:16
File Type:pdf, Size:1020Kb
Get in the What others Game can learn By Clinton Keith from game developers 24 BETTER SOFTWARE NOVEMBER 2006 www.StickyMinds.com More than twelve years ago I left a defense has increased development teams and communication and iterating on an industry software engineer job to become budgets exponentially. emerging product from the start, and we a video game programmer. The higher Both of these factors have led to can react to changes from many different level of technology and quicker pace of massive industry problems. One is the directions to make the product better. product development in games—about sometimes egregious abuse of people ten times greater, in terms of lines of who work in games; crunch times lasting Background of Video code—shocked me. The game industry a year are not uncommon and have Game Development attracted some of the best, most highly resulted in lawsuits for overtime pay. When I entered the video game industry, motivated programmers, and the latest Project delays and cost overruns are it was less than twenty years old. In the late software engineering metaphors were also common. 1970s and early 1980s, it had experienced discussed with a passion. Yet for all the In response to these challenges, we at significant mainstream growth. Coin-op enthusiasm, there was a nearly complete High Moon Studios have taken lessons arcades—and later consoles that re-created lack of—and a high level of disdain from other industries and adopted agile the experience at home—were raking in for—process in project management. methodologies to stay competitive and huge amounts of money. In just three decades, video games deliver on time and within budget. During this time, a team of one to have gone from a niche toy industry We’ve had to make changes to account for three people could create a game in about making Pong boxes to a branch of the unique development environment issues, three months. The hardware consisted of entertainment industry larger than but they haven’t broken the vision of 8-bit processors running at a few hundred Hollywood’s box office. The change what it means to be agile. We focus on kilohertz, 16 K of memory, and low-resolu- www.StickyMinds.com NOVEMBER 2006 BETTER SOFTWARE 25 For a video game the value is fun ... Fun is very difficult to define in a document. tion (256 color) 2-D graphics. Individual more than a dozen people. restore the team atmosphere we had had heroics were common because the con- At this point the informal incremental when team size was ten people or fewer. sumer demanded that the hardware be and iterative development process began We found Scrum and, within a month pushed to its limits, though the resources to break down for two major reasons. of adopting its practices, saw significant were limited. Often the game art First, communication among a dozen improvements in team productivity and was created by the programmers! The specialists did not flow as easily as morale. The team soon recognized main obstacle for development was that among three programmers. Details of another improvement: The game we were mass producing arcade cabinets— development could easily slip through developing began to take shape, with the or cartridges for home consoles—was the cracks, resulting in increased waste. biggest revelation being how playable and far more expensive than creating the Second, the cost of development began to fun it had become in a short time. Later, games. As a result, development was outstrip other costs, such as manufacturing our programming team adopted Extreme iterative and incremental. Each game and marketing. Companies that provided Programming (XP) practices and saw had to show value improvement at the funds couldn’t cancel a dozen games additional significant benefits. frequent intervals or risk cancellation. for every game delivered and still For each game released, a dozen games make money. Challenges might be cancelled, yet the rewards for The reaction was to introduce more When we adopted agile, we set a making a hit game were substantial. structured, traditional methodologies to goal to use all of its practices. Our The high profits and exploding demand game development, the most common caveat was that we would modify a created problems, namely a relaxing of being waterfall. Waterfall was a popular practice only when we understood its quality control to allow more game method used in other industries that had principles. In fact, it took quite some time releases. The result in the mid-1980s experienced large growth in team size before senior management understood was the first and to date largest crash and project development cycles. To the principles of agile well enough to for the game industry. Companies like manage that growth, the method divides stop making wrong decisions—many of Atari lost hundreds of millions of dollars, projects into a number of phases— which would have been correct for a and landfills received tens of thousands roughly: planning, prototyping, devel- company practicing waterfall but were of cartridges that no one wanted to buy. opment, integration, and testing. In the incorrect for agile. Innovation in home consoles helped the initial phases, the product and its attributes After months of working to apply market recover quickly, and sales are defined through documentation, agile and understand the reasons behind continued to grow with more control by which more than a dozen developers its practices, we began to adjust to meet the console hardware manufacturers. will follow to produce the final product. the challenges we encountered. Nintendo was a major catalyst in the Waterfall sacrifices the ability to iterate. industry’s recovery, introducing its That sacrifice was an acute problem, as it Hard Deadlines hugely successful home console and is difficult to know the value of a game Video game development is largely ensuring stringent quality controls with and its attributes at the start of a project. driven by hard deadlines. Most deadlines a seal of quality on all software released For a video game the value is fun, and are seasonal and driven by marketing. for the system. many of the elements that help define Marketing deadlines can be most critical The major pressure for game develop- that value only become evident in to a game’s success. Many mainstream ment soon became the growth of hardware demonstrable iterations of the game. Fun games rely on a holiday release, the power. Within a decade after the crash, is very difficult to define in a document. largest season of the year for game pur- consoles had processors running at chases. For games based on film licenses, more than 20 MHz , 4 MB of RAM, Moving to Agile it is crucial to set a deadline that allows and NTSC-resolution 3-D graphics So given these problems with waterfall the simultaneous release of the game capability. Skilled artists were hired to development, there was a strong desire to and the movie. create highly realistic art, and teams of move back to an iterative and incremental With a fixed schedule, the only truly programmers took on specialized areas methodology at High Moon Studios. flexible element left for development is of technology such as graphics, audio, The major barrier to this was team size. the scope of the game. Budgets may be and artificial intelligence. Games required We needed a more formal methodology— flexible, but throwing more people at a a year of development with teams of one with a set of practices that would late project usually makes things worse. 26 BETTER SOFTWARE NOVEMBER 2006 www.StickyMinds.com Controlling scope is where the benefit of One challenge in adopting agile has mers would use. The same can be said for an iterative “value first” approach to been creating contracts that allow for the benefits of mentoring and sharing making games becomes apparent. Using the method’s practices. Agile planning is tasks, which are more difficult in a agile, game development proceeds in an flexible and only defined in the near cross-discipline team environment. iterative manner that operates by priority, term, usually three months. While this Ideal team size is more difficult to with the most important features being short-term scheduling once horrified achieve, as well. With agile there are addressed with every successive iteration. many publishers, they’ve begun to see approximately eight to twelve people on When the team is running short on time, it the futility of their previously required a team. Beyond this limit, the lines of can stop adding features with confidence level of up-front detail. Trust between communication get too complicated for that those not implemented are less im- developer and publisher is another hurdle. the team to self-organize. With several portant than the ones already in the game. It needs to be established over time, as disciplines on a team, it’s more difficult When using a waterfall method for the publisher recognizes the developer’s to get critical mass within each discipline. development, feature implementation isn’t productive pace and commitment to For example, four team programmers is necessarily done in order of value. For quality, and the developer begins to believe the minimum, with two pairs in an XP example, the technical team may want in the publisher’s vision and integrity. Trust environment. Six is ideal, but if each to focus on a complex animation system strengthens the relationship and allows a discipline has six people, then the team before an artificial intelligence (AI) better game to emerge. becomes too large. The solution is teams system. If the animation takes longer Trust does not mean unwritten con- that are skewed slightly toward one than expected, then it will use some of tracts, but that they need to reflect the discipline over the others.