27
1 CS 491m / CS 691m Computer Games A Software Engineering View on Game Development (and perhaps the other way around) Sergiu Dascalu April 13, 2005

Sergiu Dascalu April 13, 2005

  • Upload
    alda

  • View
    31

  • Download
    1

Embed Size (px)

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

Page 1: Sergiu Dascalu April 13, 2005

11

CS 491m / CS 691mComputer Games

A Software Engineering View on Game Development

(and perhaps the other way around)

Sergiu DascaluApril 13, 2005

Page 2: Sergiu Dascalu April 13, 2005

22

Outline

1 Background

2 Looking around

3 Notes

4 Lights ahead

5 References

Page 3: Sergiu Dascalu April 13, 2005

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?

Page 4: Sergiu Dascalu April 13, 2005

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

Page 5: Sergiu Dascalu April 13, 2005

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

Page 6: Sergiu Dascalu April 13, 2005

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/

Page 7: Sergiu Dascalu April 13, 2005

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/

Page 8: Sergiu Dascalu April 13, 2005

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]

Page 9: Sergiu Dascalu April 13, 2005

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]

Page 10: Sergiu Dascalu April 13, 2005

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]

Page 11: Sergiu Dascalu April 13, 2005

1111

2 Looking around

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

Page 12: Sergiu Dascalu April 13, 2005

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)

Page 13: Sergiu Dascalu April 13, 2005

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

Page 14: Sergiu Dascalu April 13, 2005

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]

Page 15: Sergiu Dascalu April 13, 2005

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]

Page 16: Sergiu Dascalu April 13, 2005

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]

Page 17: Sergiu Dascalu April 13, 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

Page 18: Sergiu Dascalu April 13, 2005

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

Page 19: Sergiu Dascalu April 13, 2005

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

Page 20: Sergiu Dascalu April 13, 2005

2020

3 Notes

By Sergiu, Eric, and Leo By all present

Page 21: Sergiu Dascalu April 13, 2005

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

Page 22: Sergiu Dascalu April 13, 2005

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

Page 23: Sergiu Dascalu April 13, 2005

2323

Notes by all

_? _? _?

Page 24: Sergiu Dascalu April 13, 2005

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

Page 25: Sergiu Dascalu April 13, 2005

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?

Page 26: Sergiu Dascalu April 13, 2005

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]

Page 27: Sergiu Dascalu April 13, 2005

2727

Addendum

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