View
31
Download
1
Category
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