Game Development Dr. Mathias Lux ITEC - Universitt Klagenfurt
[email protected] 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,
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