Transcript of Game Development Dr. Mathias Lux ITEC - Universität Klagenfurt mlux@itec.uni-klu.ac.at This work is...
- Slide 1
- Game Development Dr. Mathias Lux ITEC - Universitt Klagenfurt
mlux@itec.uni-klu.ac.at This work is licensed under a Commons
Attribution-Share Alike 3.0 Austria License. See
http://creativecommons.org/licenses/by-sa/3.0/at/
- Slide 2
- http:// www.uni-klu.ac.at 2 Agenda Why teaching computer games?
What is a good game? Game projects in teaching Game
development
- Slide 3
- http:// www.uni-klu.ac.at 3 Why teaching computer games?
Commercial relevance o Games are a big business Research and
technology o Games lead to innovation Application of knowledge in
game dev. o Maths, physics, algorithms, data structures o Project
management & planning o Self reflection and team work Image
(cc) by http://www.flickr.com/photos/juliebee
- Slide 4
- http:// www.uni-klu.ac.at 4 Why teaching computer games? Many
people o play games themselves! o assume they are experts! o think
they can do better! Image (cc) by
http://www.flickr.com/photos/neilschelly
- Slide 5
- http:// www.uni-klu.ac.at 5 Industry Facts: ESA (US) Gaming
industry economics & sales: o 2003-2006 the annual rate (gain)
exceeded 17% (cp.
- http:// www.uni-klu.ac.at 16 MMOG Economics WoW has >11 Mio.
subscribers (Oct. 2008) o Monthly fees o Add-ons & DLC o World
of WarCraft: Wrath of the Lich King was Xmas best seller at
amazon.de Source: http://www.mmogchart.com/Chart1.html
- Slide 17
- http:// www.uni-klu.ac.at 17 Example: Super Mario Jump &
Run, Nintendo Video game for NES o World -> SNES & GameBoy o
Mario64 -> Nintendo64 o Super Paper Mario -> Wii o Most
successful video game ever o 295 Mio. units sold
- Slide 18
- http:// www.uni-klu.ac.at 18 Example: LBP Little Big Planet o A
collaborative platformer o 2.5 D Jump & Run Awards o Academy Of
Interactive Arts & Sciences 2009 8 Awards including best
overall game o E3 Awards Best console game, best casual and social
game o etc.
- Slide 19
- http:// www.uni-klu.ac.at 19 Example: LBP Videos: o Danger
Showing the gameplay o Sackzilla Showing the editor
- Slide 20
- http:// www.uni-klu.ac.at 20 Example: Guitar Hero &
Rockband Guitar Hero (Activision) & Rockband (EA) o Revenue of
2.3 billion dollars o Within three years Guitar Hero III Legends of
Rock o First game exceeding 1 billion $ revenue
- Slide 21
- http:// www.uni-klu.ac.at 21 Example: Popcap Games Popcap Games
creates casual games Most popular game: Bejeweld o 150 million
downloads, o 25 million sold units Distributes on o XBox
Marketplace o PSN o PC (Steam, own shop, boxed)
- Slide 22
- http:// www.uni-klu.ac.at 22 Computer & Innovation Consumer
Hardware o 3D graphic cards, Open GL for consumers o Video decoding
(HD video) Cp. Nvidia & ATI/AMD graphic cards o Input and
output methods High performance mouse Sensors (cp. Wiimote) 3D
screens, shutter o PC Setup PSUs, cooling, etc.
- Slide 23
- http:// www.uni-klu.ac.at 23 Computer & Innovation Consumer
Entertainment Hardware o PS3: 1 (control) +1 (PPC) +7 (SPE) =9
Cores o XBox: 3 Cores w. Hyperthreading ~= 6 Cores o Compare to
Wii, DVD recorder, routers, Consumer Software o 3D interfaces
Google Earth Brockhaus Multimedial Aero, Beryl, KDE4, etc.
- Slide 24
- http:// www.uni-klu.ac.at 24 Computer Games & Computer
Science Computations o Using shaders for parallel processing o High
performance clusters, CUDA Serious Games o Human Computing (v. Ahn)
o Article Games with a purpose Educational Games o Military
training o E-Learning, pedagogical (e.g. common sense)
- Slide 25
- http:// www.uni-klu.ac.at 25 Example: Hazmat Hotzone 3D
training for fire fighters Handling hazardeous materials o E.g.
terrorism, Employs Unreal engine Developed at CMU Quelle:
http://www.gamasutra.com/features/20051102/carless_01b.shtml
- Slide 26
- http:// www.uni-klu.ac.at 26 US Army leadership development
(CSU) Stories of soldiers are converted to knowledge Knowledge is
applied in training scenarios for soldiers o Decisions in combat
and surveillance scenarios o Interaction with locals (customs,
etc.) (cc) by Army.mil,
http://www.flickr.com/photos/soldiersmediacenter/2941583135/
- Slide 27
- http:// www.uni-klu.ac.at 27 Games as part of our culture
Common sense & knowledge o Lara Croft & Pac-man o Mario
Bros. & Sonic Merchandising o E.g. Game & Film Many people
have/had contact with games o PC, Nintendo, Playstation, etc.
- Slide 28
- http:// www.uni-klu.ac.at 28 Games as part of our culture
- Slide 29
- http:// www.uni-klu.ac.at 29 Games as part of our culture Human
TETRIS Performance o GAME OVER Project o
http://www.youtube.com/watch?v=G0LtUX_6IXY Real Life Donkey Kong o
Bam Margera o http://www.youtube.com/watch?v=_KyIpMtvJvE Real Mario
o Gordon College o http://www.youtube.com/watch?v=R0fCnf8uWxw
- Slide 30
- http:// www.uni-klu.ac.at 30 Acceptance and controversial
issues The disturbing material in Grand Theft Auto and other games
like it is stealing the innocence of our children and it's making
the difficult job of being a parent even harder... I believe that
the ability of our children to access pornographic and outrageously
violent material on video games rated for adults is spiraling out
of control. - (Hillary Clinton, 2005)
- Slide 31
- http:// www.uni-klu.ac.at 31 Acceptance(RocknRoll) "The effect
of rock and roll on young people, is to turn them into devil
worshippers; to stimulate self-expression through sex; to provoke
lawlessness; impair nervous stability and destroy the sanctity of
marriage. It is an evil influence on the youth of our country." -
Minister Albert Carter, 1956
- Slide 32
- http:// www.uni-klu.ac.at 32 Acceptance Similar statements to
Comics (1954) Phone(1926) Film (1909) Waltz (1816) Novels (1790)
Source: http://www.wired.com/wired/archive/14.04/war.html
- Slide 33
- http:// www.uni-klu.ac.at 33 Agenda Why teaching computer
games? What is a good game? Game projects in teaching Game
development o XNA o Tutorials
- Slide 34
- http:// www.uni-klu.ac.at 34 A good game World of Goo
- Slide 35
- http:// www.uni-klu.ac.at 35 Aspects of a Game Review game in
several aspects: Challenge Choice Clear and Compelling Goals
Representation Conflict Feedback Source:
http://www.cs.wisc.edu/graphics/Courses/679-s2007/Main/GameDesign
- Slide 36
- http:// www.uni-klu.ac.at 36 Challenging Goals Premise of the
game o Story o Character o Motivation Why do I play the game? Why
do I build towns, jump & run, ?
- Slide 37
- http:// www.uni-klu.ac.at 37 Clear Goals Different aspects o
What is the goal? o When is the goal achieved? Strongly connected
with feedback o I need to know when Im making progress Short term
vs. long term goals o Get over fire pit vs. Rescue princess
- Slide 38
- http:// www.uni-klu.ac.at 38 Clear Rules Figuring out rules o
In play: learning curve? o Common sense (gravity, rebound, etc.)
Unclear rules are frustrating o I couldnt.. because I didnt know Do
not allow workarounds o Circumventing != cheating Happens within
allowed rule set
- Slide 39
- http:// www.uni-klu.ac.at 39 Choices Player should have
meaningful choices Consider example choice qualities: o Hollow
-> No consequence o Obvious -> Choice without alternative o
Informed -> based on provided information cp. guessing o
Dramatic -> Connects to emotions o Weighted -> Both neg. and
pos. outcomes o Immediate -> Need fast decision o Orthogonal
-> Choices are independent
- Slide 40
- http:// www.uni-klu.ac.at 40 Challenge Tuning / Balance o Make
things hard, but not too hard Dynamic games o Change with game
progress & gamers skills Challenge from design vs. technical
issues o Cant figure out puzzle vs. cant find button combo (cc) by
law keven, www.flickr.com/photos/66164549@N00/2506022298/
- Slide 41
- http:// www.uni-klu.ac.at 41 Feedback Action & Reaction o
Choose a new car and feel the effect o Buy new clothes & see
them on avatar Gamers need rewards o Cp. concept of highscore
Experience o Buy weapon or skill upgrades o Reach new levels &
challenges
- Slide 42
- http:// www.uni-klu.ac.at 42 Assumed audience ?!? Who will play
your game? Who will pay for your game? What are appropriate
distribution channels? o App Store, Steam, Download, Boxed,
- Slide 43
- http:// www.uni-klu.ac.at 43 Agenda Why teaching computer
games? What is a good game? Game projects in teaching Game
development o XNA o Tutorials
- Slide 44
- http:// www.uni-klu.ac.at 44 Possible Topics Arcade games o
Typically 2D, lots of historical examples Puzzle games o Simple
graphics, focus on logic Mobile games o Realistic scope &
deployment scenario Educational games for kids o Topic based, more
weight on story
- Slide 45
- http:// www.uni-klu.ac.at 45 Possible Aspects Programming
skills o Learning by doing Hands-on with tools o GFX, SFX Soft
skills o Teamwork, discussion, coordination Specific topics
different areas o Physics, geometry, linear algebra, AI,
- Slide 46
- http:// www.uni-klu.ac.at 46 Project Milestones 1.Planning
& Design 2.Implementation 3.Testing & Evaluation
4.Deployment 5.Post mortem
- Slide 47
- http:// www.uni-klu.ac.at 47 Design Documents (not technical)
High Level Document o Abstract of the game in 2-4 pages Game
Treatment Document o Present game in a broader outline o Its also
more sales than dev document Game Bible o Character design o World
design o Flowboard: flow of gameplay modes o Story & level
progression: storyline o Game script: rules and mechanics of the
game (cc) by dunechaser,
www.flickr.com/photos/dunechaser/103294050/
- Slide 48
- http:// www.uni-klu.ac.at 48 Game Script Should enable one to
play the game Create a paper prototype o Use it for testing (cc) by
kekremsi, www.flickr.com/photos/emraya/2929959881
- Slide 49
- http:// www.uni-klu.ac.at 49 Sample Design Document: Abstract
Catch the Clown Catch the Clown is a little action game. In this
game a clown moves around in a playing field. The goal of the
player is to catch the clown by clicking with the mouse on him. If
the player progresses through the game the clown starts moving
faster and it becomes more difficult to catch him. For each catch
the score is raised and the goal is to get the highest possible
score. Expected playing time is just a few minutes. source:
http://www.yoyogames.com/make/tutorials
- Slide 50
- http:// www.uni-klu.ac.at 50 Sample Design Document: Game
Objects Game objects There will be just two game objects: the clown
and the wall. The wall object has a square like image. The wall
surrounding the playing area is made out of these objects. The wall
object does nothing. It just sits there to stop the clown from
moving out of the area. The clown object has the image of a clown
face. It moves with a fixed speed. Whenever it hits a wall object
it bounces. When the player clicks on the clown with the mouse the
score is raised with 10 points. The clown jumps to a random place
and the speed is increased with a small amount. source:
http://www.yoyogames.com/make/tutorials
- Slide 51
- http:// www.uni-klu.ac.at 51 Sample Design Document: The Rest
Sounds We will use two sounds in this game. A bounce sound that is
used when the clown hits a wall, and a click sound that is used
when the player manages to click with the mouse on the clown.
Controls The only control the player has is the mouse. Clicking
with the left mouse button on the clown will catch it. Game flow At
the start of the game the score is set to 0. The room with the
moving clown is shown. The game immediately begins. When the player
presses the key the game ends. Levels There is just one level. The
difficulty of the game increases because the speed of the clown
increases after each successful catch.
- Slide 52
- http:// www.uni-klu.ac.at 52 Game Postmortems Written after
finishing the project o Done by senior developer or manager
Summarizes dev process to o Avoid pitfalls in later projects o
Apply practices that worked well in later projects Check for
instance gamasutra.com (cc) by devicer,
www.flickr.com/photos/devicer/42503985/
- Slide 53
- http:// www.uni-klu.ac.at 53 Game postmortems: Structure
Project Overview o Describe the game (idea, setting, story,
features) o Describe team and circumstances What went right o
Describe best practices o Describe and argue good decisions o
Motivation for this part: Think of benefits for future
projects
- Slide 54
- http:// www.uni-klu.ac.at 54 Game postmortems: Structure What
went wrong o Describe pitfalls and difficulties o Describe mistakes
experienced, technical as well as from management perspective
Conclusion & Closing o Final note from the authors, personal
experience o Project brief: Dev tools, resources,
- Slide 55
- http:// www.uni-klu.ac.at 55 Agenda Why teaching computer
games? What is a good game? Game projects in teaching
Implementation
- Slide 56
- http:// www.uni-klu.ac.at 56 Typical Basic Elements (I) Game
Loop o Painting current state to screen Sprites o Moving objects,
animated Level o The playground Score o The achievement &
reward system
- Slide 57
- http:// www.uni-klu.ac.at 57 Typical Basic Elements (II)
Collision Detection o Check if objects interfere Sound o Background
& SFX Game AI o Some intelligence, dynamics or adaptation
- Slide 58
- http:// www.uni-klu.ac.at 58 Game Frameworks Framework manages
Input & Output o poll & queue input controllers o render
game in time (hardware acceleration) o network & storage
Physics o object-world and object-object interaction Resources o
loading, animation
- Slide 59
- http:// www.uni-klu.ac.at 59 Microsoft XNA Game Studio Set of
game development tools Based on.NET Compact Framework Available in
version 3.0 o Version 3.1 already announced Programming in C# o
Help in MSDN / Knowledgebase
- Slide 60
- http:// www.uni-klu.ac.at 60 Out-of-the-Box Game
- Slide 61
- http:// www.uni-klu.ac.at 61 Basic game structure
- Slide 62
- http:// www.uni-klu.ac.at 62 Experience with XNA Students find
their way fast o Workshop (1 day) for first tutorial based game
Students are occupied for hours o Hours of adaptations Graphics and
sounds Gameplay and levels Testing and tuning XNA is very powerful
o With necessary limitations
- Slide 63
- http:// www.uni-klu.ac.at 63 Experience with XNA Team members
have different roles o Sound & 2D Design o Implementation &
Testing o Planning & Coordination Learning programming along
the way o How can we rotate/scale/translate a sprite? o How can we
add a loop for ?
- Slide 64
- http:// www.uni-klu.ac.at 64 Summer Camp 2008-2009 Arcade game
development in teams of 2 o Students of age 16-18 o Basic knowledge
of programming (Java) Duration: 5 Days with ~ 3 hours each Results
o Steep learning curve o 2 (out of 5) very innovative projects
Design & Gameplay o Students programmed in their spare
time
- Slide 65
- http:// www.uni-klu.ac.at 65 VK Games @ Uni Klu Goal: Arcade
(Casual) Game o In 6 weeks of development time o With planning and
self reflection o In teams of 3 with max. 40 h of work each Results
o All but one projects finished o Everyone put a lot more effort in
than 40 h
- Slide 66
- http:// www.uni-klu.ac.at 66 Proposed Format 1.One day workshop
as introduction o Basics on games o Basics on game development o
Self directed learning through tutorials 2.Multiple units of self
directed (but tutored) game development. o Based on the outcome of
the tutorial 3.Final presentation of the outcome
- Slide 67
- http:// www.uni-klu.ac.at 67 Resources XNA Creators Club o Lots
of tutorials and game samples o
http://creators.xna.com/en-US/education/catalog/ Visual C# Express
Edition o Free 2 use version of visual studio o
http://www.microsoft.com/express/vcsharp/ Alternative: Gamemaker o
Strange tool, but immediate results o
http://www.yoyogames.com/make
- Slide 68
- http:// www.uni-klu.ac.at 68 Final words Nearly every single
student was very much involved with the gaming projects. o Some
even failed other courses Typically people spent a lot more time on
the project than they should have. o Despite prior warning Overall
feedback was very encouraging o Although many reconsidered their
career plans
- Slide 69
- http:// www.uni-klu.ac.at 69 Questions? Mathias Lux
mlux@itec.uni-klu.ac.at http://www.itec.uni-klu.ac.at/~mlux