Sergiu Dascalu April 13, 2005

Preview:

DESCRIPTION

CS 491m / CS 691m Computer Games A Software Engineering View on Game Development (and perhaps the other way around). Sergiu Dascalu April 13, 2005. Outline. 1 Background 2 Looking around 3 Notes 4 Lights ahead 5 References. 1 Background. Hits at google - PowerPoint PPT Presentation

Citation preview

11

CS 491m / CS 691mComputer Games

A Software Engineering View on Game Development

(and perhaps the other way around)

Sergiu DascaluApril 13, 2005

22

Outline

1 Background

2 Looking around

3 Notes

4 Lights ahead

5 References

33

1 Background

Hits at google The Renaissance man or mathematics and arts Harder than you think Why computer games? Why software engineering? A bridge too far?

44

Background hits at google

‘fun software engineering (design)’ 26‘fun games development (design)’339

‘rigorous software engineering (design)’1,347‘rigorous game development (design)’4

55

Background mathematics and arts

Computers: a fine combination of mathematics and artsRenaissance man: “a man who has broad intellectual a man who has broad intellectual interests and is accomplished in areas of both the arts interests and is accomplished in areas of both the arts and the sciences” and the sciences” [answers.com, 2005][answers.com, 2005]

Computer games: the work of “Renaissance men & women”

Goethe in Italy, from www.answers.com

66

Background philosophical roots

Excellent lecture by Ernest W. Adams at GDC 2004 [Adams, 2004]. Excerpts: “Game developers … are the Victorians of our time”“You can make The Lord of the Rings in a video game … But you can’t make The Grapes of Wrath into a video game - not yet. Not now,anyway.”“The Matrix is the epitome of the nerd aesthetic.”“Engineering is as essential to the game developer as words are to the writer, as paint is to the painter. But we need to restore the balancebetween the two.”

More on Ernest W. Adams can be found at

http://www.designersnotebook.com/

77

Background harder than you think

Another excellent article [Blow, 2004]. Factors that make game development verychallenging (“… it was all fun and games. now it’s blood, sweat, and code”)

… size and complexity… workflow and multiplatform development… 3rd party components and full-figure option… highly domain-specific requirements… depth of simulation, profiling, and risk

The article can be found at http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=114More on Jonathan Blow is available at http://number-none.com/blow/

88

Background why computer games?

… because they are awesome![see, for example http://www.buzzcut.com]

but, pay attention, they might mean “the end of your social life” [http://www.computergames.ro]

99

Background why software engineering?

… because it is necessary!see, for example [Elmqvist, 2004]

but, hackers might say that game programming is a “black art” that doesn’t really need it [idem, available athttp://www.cs.chalmers.se/Cs/Grundutb/iss/kurser/simul/doc/lecture-3.pdf]

1010

Background a bridge too far?

… i don’t think so! … on the contrary…

“it’s a hard, dangerous job that of a bridgeman, but he likes it”[Open Video Library, Bridging of San Francisco Bay, 1937]

1111

2 Looking around

Software engineering for game development Game development for software engineering Various projects Conferences, magazines, websites Round table at GDC-2004

1212

Looking around software engineering for game development

Software engineering includes processes, activities, techniques, and tools for systematic software development

Processes: from waterfall, through incremental and evolutionary, to spiral

Activities: typical are specification, design, implementation, integration, testing, and evolution (maintenance)

1313

Looking around software engineering for game development

Techniques: various, e.g., brainstorming, risk analysis, requirements tracing, checklist validation, reviews, inspections, top-down integration, black-box testing, white-box testing, and many other Tools: broadly, can be classified in modeling notations (e.g., UML), and CASE tools (e.g., diagrammatic editors, programming environments, CVS, etc.)

Computer games are software-intensive applications hence all the above do apply

1414

Looking around game development for software engineering

There is an interesting reverse of the coin in this case

Since computer games are software-intensive applications they can be used to bring software engineering “into the limelight”

This includes- teaching software engineering [Oh, 2002] [Overmars, 2004]- playing for improving design tools [Tenzer, 2004]- simulating management environments [Rauch, 1990]- providing support for collaboration [Jern, 2002] [Siti, 2004] - stimulating innovation in the development process [Torvinen, 1998]

1515

Looking around various projects

Examples:

- SE framework for game development [Emqvist, 2004]- Game Unified Process (GUP) [Flood, 2003]- Agile game development [Keith, 2005]- Improvement of processes and practices for F/OSS

game development [Scacchi, 2003]

1616

Looking around various projects

Examples (cont’d):

- Applying game features in non-game applications [Fitzmaurice, 2003]

- Test-driven game development [Llopis, 2005]- Serious games [David, 2004] [Handy, 2005]

1717

Looking around conferences, magazines, websites

Game Development Conference March 2006, San Jose, CA

IE-2005 The 2nd Australasian Conference on Interactive Entertainment November 2005, Sydney, AUS (deadline June 15, 2005)

ENSYS-2005 The 1st International Conference on Entertainment Systems December 2005, Hawaii, (deadline July 1, 2005)

Online Magazines: ACM Queue; Computer Games Magazine; DIGRA Online

Journals: Game Studies: The International Journal of Computer Game Research

Websites: buzzcut.com, gamesfromwithin.com, gamedev.net

1818

Looking around round table at GDC-2004

Three sessions, covering, among other [Llopis, 2004]: Techniques

Coding standards Code reviews UML

Processes and methodologies SCRUM Test-driven development Extreme programming

1919

Looking around round table at GDC-2004

Three sessions, covering, among other [Llopis, 2004] (cont’d): Languages and tools

GUI development APIs Documentation Bug tracking

More information is available athttp://www.gamesfromwithin.com/articles/0403/000015.html

2020

3 Notes

By Sergiu, Eric, and Leo By all present

2121

Notes by Sergiu, Eric, and Leo

Clearly, computer games are a different type of software

Yet, they are still software (perhaps even more so “software”)

Very exciting, challenging, rewarding You can make a living while having fun The game concept is crucial Requirements are highly specific, complex, difficult to

capture

2222

Notes by Sergiu, Eric, and Leo

Design seems to be “melted” into specification In general, a “whole” approach for the project

seems to be needed Difficult to manage large teams Specific principles, processes, activities, techniques

and tools are needed; hence, very promising area of research

Both Aftermath and Partyopolis have taken shape very nicely

2323

Notes by all

_? _? _?

2424

4 Lights ahead

This class Finish Beta versions Have nice public demos Perhaps more (Dr. Louis)

Other classes Dr. Louis, Fall 2005? In CS791z, for Spring 2006 the theme “Software

Engineering for Game Development” is strongly considered

2525

4 Lights ahead

Beyond classes Game Lab at CSE/UNR Specific research topics identified and prioritized Summarize experience and plan for the future OSS repository

Your intentions, comments, suggestions?

2626

5 ReferencesFull references are available upon request

[Adams, 2004] [Blow, 2004] [David, 2004] [Elmqvist, 2004] [Fitzmaurice, 2003] [Flood, 2003] [Handy, 2004] [Jern, 2002] [Keith, 2005] [Llopis, 2004] [Llopis, 2003] [Oh, 2002] [Overmars, 2004] [Rausch, 1990] [Scacchi, 2003] [Siti, 2004]

[Tenzer, 2004] [Torvinen, 2004]

2727

Addendum

Video clips from CHI-2005, Portland, OR, April 2-7, 2005 Martial arts in virtual environments Intelligent lightning in games

Recommended