Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering in the Game Industry Bill Pyne.

Similar presentations


Presentation on theme: "Software Engineering in the Game Industry Bill Pyne."— Presentation transcript:

1 Software Engineering in the Game Industry Bill Pyne

2 Outline Background  Issues  Trends Processes  Common Practices  Experimental Practices Tools

3 Background

4 Technology Issues Hardware changes at an incredible rate Pressure to support the latest and greatest Developers may work on support for hardware long before the hardware’s completion Hardware may even be buggy

5 Publisher Issues Many game studios live and die by their publishers Publishers tend to follow market trends and don’t take many “risks” Game developers could be forced to develop for particular hardware and platforms late into development

6 Developers Issues High quality and originality can take up too much time Asking a developer to spend less time on a task hurts morale The game is not done in the eyes of a developer until it’s “perfect” The “fun” factor requirement

7 Team Layout

8 Developing for Unfinished Products Developers are trying to cut the time to market in supporting the latest and greatest DirectX 10 documentation included in the DirectX 9 December 2005 SDK Update Console launch titles Unreal Engine 3 used through out the industry before its completion

9 Team Sizes More content developers needed to meet the growing demand Engine programming is highly specialized (physics, graphics, sound, etc.) and requires more programmers Average team sizes from ~20 to ~40

10 High-Poly Character Image from http://www.unrealtechnology.com/html/technology/ue30.shtmlhttp://www.unrealtechnology.com/html/technology/ue30.shtml

11 Low-Poly Character Image from http://www.unrealtechnology.com/html/technology/ue30.shtmlhttp://www.unrealtechnology.com/html/technology/ue30.shtml

12 Normal-Mapped Character Image from http://www.unrealtechnology.com/html/technology/ue30.shtmlhttp://www.unrealtechnology.com/html/technology/ue30.shtml

13 Processes

14 “Standard” Game Development The Waterfall Model Many companies stay close to this model but may not even have a name for it Image from Microsoft Clipart.

15 Concept The idea is born Originates from an employee’s idea or a publisher’s acquired license (movie, book, etc.) Game designer writes a brief concept document

16 Pre-Production Game designer writes the design doc Programmers determine if the ideas are doable Programmers produce the tech doc Artists produce concept art Producer determines project schedule

17 Production Programming and content production begins Producers collaborate between departments Sometimes little communication between departments (“us” vs. “them”)

18 Post-Production Lead tester devises a test plan Testers begin the bug hunt Game play and content are tweaked Game may be localized after the English version has been shipped

19 “The Cabal” Process Developed by Valve Software for Half-Life First attempt at Half-Life was scrapped Valve lacked an official Game Designer Some sort of software design process was needed to organize the multiple disciplines Image from http://www.valvesoftware.com/http://www.valvesoftware.com/

20 Overview “The Cabal” was to generate a 200+ page design document detailing each level in the game Mini-Cabals were used to solve smaller design problems Professional writer employed to over watch the story-line and maintain the design document

21 “The Cabal” Group acted as the “Game Designer” Loosely structured brainstorming sessions held 4 days a week for 6 hours each day Multiple disciplines were represented One person recorded the design Another person drew concept art

22 “The Cabal” Cycling Members were rotated through every couple of months to prevent burn-out Each cabal group had a few previous members to spread experience Important to make sure each discipline was represented

23 Mini-Cabals Went into more detail on a design issue handed down from “The Cabal” Members consisted of individuals in charge of implementing the design decision Provided fresh insight for “The Cabal”

24 Benefits Every team member has a better understanding of the entire project Game play is a combination of the team’s experience and not just a single designer Encourages the team to work together instead of in their own “camps”

25 Extending “The Cabal” Process HL2 development team was about twice as large as HL1 Valve didn’t want a bottleneck with “The Cabal” in decision making Image from Half-Life 2 box art.

26 Design Cabals 3 design cabals were given their own section of the game to make Half programmers and half designers since each are one another’s consumers An engine programmer was present in each cabal for technology requests

27 Shared Resources Art, acting, and sound were not represented in the cabals Design cabals would place requests for the shared resources Shared resources put the final touches on levels

28 Consistency Team-wide play tests provided feedback between cabal groups Weapons cabal was formed from the 3 design cabals to handle player items used throughout the entire game A 2 nd pass through the game was needed to improve quality and consistency issues

29 Extreme Game Development (XGD) Proposed by Thomas Demachy at Titus Interactive Studio Based on Extreme Programming (XP) The producer is the “client” The game designer collaborates with the producer Image from http://www.extremegamedev.orghttp://www.extremegamedev.org

30 Milestones Scheduled for every 6 weeks “Planning Game” takes place at the beginning of each milestone cycle for the team and producer to decide on which “user stories” to implement Game should be playable as early as possible Broken down into development cycles

31 Development Cycles Scheduled in 2 week increments Precise tasks are determined and completed Count unit and functional tests to measure progress

32 Milestone Completion Celebrate for the sake of morale! Find glitches and plan to fix them for the next milestone Postmortem is written after receiving feedback from the team and the “client” Examples of postmortems can be found at www.gamasutra.com www.gamasutra.com

33 XGD Dashboard Producer evaluates each practice and tool the team uses to make-up the “XGD Dashboard” Evaluation scores range from 0 to 5 and should include a short comment XGD may not be right for the team if scores continue to drop each iteration

34 Tools

35 Version Control Blues Programmers need protection from content developers Content developers need protection from programmers QA becomes a necessity even on smaller teams

36 Version Control with QA Image from http://www.gamasutra.com/features/20050829/olsson_01.shtmlhttp://www.gamasutra.com/features/20050829/olsson_01.shtml

37 Asset Management Much more than versioning control Content can be difficult to keep track of Level Designers need a way to look for specific content to fit the needs of their level Tools are needed to search existing content and manage content as it goes through the development pipeline

38 Alienbrain Specially designed for artists Supports art previewing Support for source code but not as powerful in this realm as other software Current customers include Lucas Arts, id Software, Atari, and the list goes on Image from http://www.alienbrain.com/http://www.alienbrain.com/

39 XNA Content Creation, Production Processes, and Game Technologies Lower development costs while improving quality Image and summary from http://www.microsoft.com/xna/http://www.microsoft.com/xna/

40 XNA Studio Extension of Visual Studios 2005 Team System Designed to aid collaboration between team members (programmers, artists, management, etc.) Task and defect tracking, asset management (source control and management for content), etc.

41 Game Development Platform Support for current and future XBox and Windows platforms Attempts to mask the differences between platforms Uses DirectX Stresses High Definition content (HD)

42 Developer Interviews Video from http://www.microsoft.com/xna/http://www.microsoft.com/xna/

43 References Alienbrain® - http://www.alienbrain.com/http://www.alienbrain.com/ “Book Excerpt: Implementing a Digital Asset Management System: Workflow Integration” - http://www.gamasutra.com/features/20060124/jacobsen_01.shtmlhttp://www.gamasutra.com/features/20060124/jacobsen_01.shtml “The Cabal: Valve’s Design Process For Creating Half-Life” - http://www.gamasutra.com/features/19991210/birdwell_01.htm http://www.gamasutra.com/features/19991210/birdwell_01.htm “Extreme Game Development: Right on Time, Every Time” - http://www.gamasutra.com/resource_guide/20030714/demachy_01.shtml http://www.gamasutra.com/resource_guide/20030714/demachy_01.shtml “The games development process” - http://www.eurocom.co.uk/careers/games-d- p.phphttp://www.eurocom.co.uk/careers/games-d- p.php “Hierarchy of a Game Development Company” - http://games.ign.com/articles/672/672661p1.html http://games.ign.com/articles/672/672661p1.html “The Process” - http://www.gamasutra.com/features/20050829/olsson_01.shtmlhttp://www.gamasutra.com/features/20050829/olsson_01.shtml “Scaling the Cabal: Valve's Design Process for Creating Half-Life 2” - Game Developer Magazine, November 2005 Unreal Engine 3™ - http://www.unrealtechnology.com/html/technology/ue30.shtmlhttp://www.unrealtechnology.com/html/technology/ue30.shtml XNA™ - http://www.microsoft.com/xna/http://www.microsoft.com/xna/


Download ppt "Software Engineering in the Game Industry Bill Pyne."

Similar presentations


Ads by Google