Beruflich Dokumente
Kultur Dokumente
Computer Games
Brasov, SS16
Computer Games
SS 2016
Prof. Dr. R. Drner, HS RheinMain
Lernziele
V1 [2]
Seite 1
Akademische Ehrlichkeit
Alles, was zur Benotung abgegeben wird, muss
selbst erstellt worden sein
alle Hilfen von anderen mssen angegeben
werden
alle Texte, Bilder, Code-Teile, die man
bernommen hat, mssen als solche
gekennzeichnet und mit Quellenangabe versehen
sein
Copyrights beachten
V1 [3]
R. Drner
Empfohlene Literatur
Carsten Seifert:
Spiele entwickeln mit Unity 5;
3D-Games mit Unity und C#
fr Desktop, Web & Mobile
Hanser Verlag
2015
Sehr grundlegende Einfhrung
in die Spieleentwicklungsumgebung Unity3D. Enthlt
ein Spiel als Vorlage und
Videotutorials.
V1 [4]
Seite 2
Empfohlene Literatur
Mike McShaffry:
Game Coding Complete, 3rd
Edition,
Charles River Media, 2009
Einfhrung in wesentliche
Aspekte der Game
Programmierung, die vom
Umgang mit Game Daten,
Lua-Skripting bis hin zur Game
AI und dem Debugging von
Game Software reicht.
V1 [5]
Empfohlene Literatur
Jason Gregory, Jeff Landner,
Matt Whiting:
Game Engine Architecture,
AK Peters, 2009
V1 [6]
Seite 3
Weitere Literatur
Mark DeLoura et.al.:
Game Programming Gems,
Charles River Media, 2001
Sammlung von ntzlichen
Aufstzen ber die Lsung
verschiedenster Probleme bei
der Erstellung von Computer
Games. Es gibt eine ganze
Reihe von diesen Bchern.
V1 [7]
Weitere Literatur
Steve Rabins:
AI Game Programming
Wisdom 2, Charles River
Media, 2003
Sammlung von praktisch
anwendbaren Aufstzen zum
Thema Artificial Intelligence in
Computer Games. hnlich wie
bei den Game Programming
Gems gibt es hier eine Reihe
von Bchern.
V1 [8]
Seite 4
Weitere Literatur
Jesse Schell:
The Art of Game Design: A
Book of Lenses,
Morgan Kaufmann, 2008
V1 [9]
Weitere Literatur
Katie Salen, Eric
Zimmerman:
Rules of Play: Game
Design Fundamentals,
MIT Press, 2003
Allgemeine Abhandlung ber
das Thema Spielen und
Design von Spielen.
Bercksichtigung
verschiedener Disziplinen.
Versuch ein theoretisches
Framework aufzubauen.
Computer Games Prof. Dr. R. Drner SS 16
V1 [10]
Seite 5
Weitere Literatur
Chris Crawford:
Chris Crawford on Game
Design, New Riders,
2003
V1 [11]
Weitere Literatur
David Freeman:
Creating Emotion in
Games, New Riders,
2003
V1 [12]
Seite 6
Weitere Literatur
Isaac Kerlow:
The Art of 3D Computer
Animation and Effects,
4.te Auflage
John Wiley & Sons, 2009
V1 [13]
V1 [14]
Seite 7
V1 [15]
R. Drner
V1 [16]
R. Drner
Seite 8
Relevante Quellen
Konferenzen
Game Developers Conference (www.gdconf.com)
Games Convention (www.gamesconvention.com)
SIGGRAPH Konferenz und Workshops (www.siggraph.org)
Zeitschriften
Game Developer Magazine (www.gdmag.com)
Digital Production (www.digitalproduction.com)
Online Ressourcen
V1 [17]
R. Drner
www.gamedev.net, www.gamasutra.com
www.biu-online.de, http://www.game-bundesverband.de/
ACM Portal
portal.acm.org
Zugriff auf vielfltige
wissenschaftliche
Verffentlichungen im
Bereich Informatik direkt
als pdf
V1 [18]
R. Drner
Seite 9
IEEE Explore
http://ieeexplore.ieee.org/
Xplore/dynhome.jsp
Zugriff auf vielfltige
wissenschaftliche
Verffentlichungen und
Normen direkt als pdf
V1 [19]
R. Drner
Google Scholar
Spezielle Version
von Google fr
wissenschaftliche
Literatur
scholar.google.de
Anzeige von
Zitaten und
direkter Link auf
Digital Libraries
Computer Games Prof. Dr. R. Drner SS 16
V1 [20]
Seite 10
Danksagung
Jan-Christoph Sievers fr die Erstellung von
Illustrationen
V1 [21]
bersicht
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
Einfhrung
Computer Animation
Echtzeit und Realismus
Hardware Shading
Game Design
Design Dokumente
Game Development
Game Engines und Tools
Game AI
Zusammenfassung
Computer Games Prof. Dr. R. Drner SS 16
V1 [22]
Seite 11
Teil A:
Einfhrung
Pong
1972
Andy Capps eine Bar in Sunnyvale, California
Ein Gert (Seriennummer ZZ-001) wird aufgestellt, das
25 Cent Mnzen akzeptiert
Hersteller: eine benachbarte Firma
Einziger Text: Avoid Missing Ball for High Score
Schon am nchsten Tag bilden sich lange Schlangen vor
der Bar
um ein Spiel zu spielen, das von Ralph Baer
entwickelt und von Nolan Bushnell als Video Game
umgesetzt wurde
Computer Games Prof. Dr. R. Drner SS 16
V1 [24]
Seite 12
Pong
Quelle:
www.pong-story.com
V1 [25]
Geschichte
Spiele
seit Tausenden von Jahren
(Schach, Go)
Video-Spiele
1951: Erster Prototyp (fr
Fernseher)
1958: Tennis for Two erstes
Spiel
Computer Games
1962: Space War!
Computer Games Prof. Dr. R. Drner SS 16
V1 [26]
Seite 13
Genre
Actionspiele
Ego-Shooter
Half Life, Far Cry
Taktik-Shooter
Splinter Cell, Thief
Multiplayer-Shooter
Unreal Tournament, CounterStrike
Strategiespiele
Echtzeit-Strategie
Warcraft, Spellforce, Empire
Earth
Computer Games Prof. Dr. R. Drner SS 16
V1 [27]
Genre
Aufbau-Strategie
Sims, Anno 1503
Runden-Strategie
Civilization, Battle-Isle
Taktik-Spiele
Codename Panzers,
Desperados
Adventures
Riddle-Adventures
Monkey Island, Moment of
Silence
Action-Adventures
GTA, Max Payne, Aquanox
Computer Games Prof. Dr. R. Drner SS 16
V1 [28]
Seite 14
Genre
Rollenspiele
Computer-Rollenspiele
Gothic, Morrowind, Baldurs
Gate
Action-Rollenspiele
Dungeon Siege, Diablo
Online-Rollenspiele
(MMORPG)
Everquest, World of Warcraft
Sport
Fuball / American Sports
FIFA Football, NBA, NHL
Computer Games Prof. Dr. R. Drner SS 16
V1 [29]
Genre
Motorsport
DTM Race Driver, Colin Mc Ralley
Simulationen
Militrsimulationen
Eurofighter, Comanche
Wirtschaftssimulationen
Fuballmanager, Die Gilde,
SimCity
Sportsimulationen
Tiger Woods PGA, Virtual Tennis
Computer Games Prof. Dr. R. Drner SS 16
V1 [30]
Seite 15
Genre
Edutainment
Physicus, Flipps
galaktische Abenteuer,
Lwenzahn
Geschicklichkeit /
Arcade / Kartenspiele
Schach, Dame,
Mahjonngg
Tetris, Minesweeper
Space Invaders
Lemmings
Solitaire
Computer Games Prof. Dr. R. Drner SS 16
V1 [31]
Adventure:
Strategy:
Nontrivial choices.
Simulation:
Optimization exercises.
Puzzle:
Toys:
Educational:
Learning by doing.
V1 [32]
Seite 16
Serious Game
Begriff ursprnglich fr
BoardGames geprgt [Abt,
1970]
kein Genre, sondern
besondere Untergruppe von
Computer Games
Neuer Trend: Anwendung
von Computer Games ber
die Unterhaltung hinaus
V1 [33]
Characterizing Goal
Kognitive Kompetenzen
Wahrnehmung
Aufmerksamkeit
Verstehen
Problemlsen
Emotionale Kompetenzen
Stressbewltigung
Durchhaltevermgen
Personale Kompetenzen
Selbstbewutsein
Selbstkritik
Sensor-motorische
Kompetenzen
Reaktionszeit
Hand-Auge-Koordination
Soziale Kompetenzen
Empathie
Moral
Teamfhigkeit
Mediale Kompetenzen
Medieneinsatz
Informationelle
Selbstbestimmung
V1 [34]
Seite 17
IBM
Lernspiel ber Business Process
Management
Re-Mission
Kindern Infos ber Krebserkrankung
vermitteln
Bessere Disziplin bei
Chemotherapie
SnowWorld
VR-Spiel fr Opfer von
Verbrennungen zur Ablenkung bei
schmerzhaften Prodzeduren
Wirkung mit Morphium vergleichbar
V1 [35]
Exergames
Spiele zur Gesundheitsfrderung
Bsp. Wii Balance Board
Advergames
Spiele fr Werbezwecke
Bsp. Sm & Mel der DB AG
Computer Games Prof. Dr. R. Drner SS 16
V1 [36]
Seite 18
V1 [37]
Gamification
Transfer von Game
Methodologien
Es entsteht kein Spiel
Beispiele:
Badges
Ranglisten
Fortschrittsanzeigen
Quests
Direkte Bewertung
Computer Games Prof. Dr. R. Drner SS 16
Quelle: NIKE
V1 [38]
Seite 19
geekwire.com (2013)
Wirtschaftliche Bedeutung
V1 [39]
Wirtschaftliche Bedeutung
V1 [40]
Seite 20
Wirtschaftliche Bedeutung
V1 [41]
Wirtschaftliche Bedeutung
V1 [42]
Seite 21
Weihnachtsgeschft
V1 [43]
Anteil am Entertainment
V1 [44]
Seite 22
geekwire.com (2013)
Wirtschaftliche Aspekte
V1 [45]
Wirtschaftliche Aspekte
V1 [46]
Seite 23
Wirtschaftliche Trends
V1 [47]
Wirtschaftliche Trends
V1 [48]
Seite 24
Wirtschaftliche Trends
V1 [49]
Wirtschaftliche Trends
V1 [50]
Seite 25
Wirtschaftliche Trends
V1 [51]
Wirtschaftliche Trends
V1 [52]
Seite 26
Wirtschaftliche Trends
V1 [53]
Developer
(Mittelstndisch)
Idee
Finanzierung
Prototyp
(<300)
Pitch
Produkt
Publisher
(Grounternehmen)
Royalties
Konsolenhersteller
(Grounternehmen)
Lizenzen
V1 [54]
Seite 27
Lizensierung
Cross-Platform (z.B. PC -> Konsole,
Handy)
Merchandising, Verfilmung der Story,
Verwendung von Characters (z.B. in
Musikvideos)
Game Engine
Computer Games Prof. Dr. R. Drner SS 16
V1 [55]
V1 [56]
Seite 28
V1 [57]
Lizenzproduktionen
Pro
Kontra
Lizenzkosten
Evtl. schlechte Vorgaben
Man ist Diener zweier
Herren: Lizenzgeber und
Publisher
Schlechte Lizenz kann
Mitarbeiter frustrieren
Arbitrary Deadline (z.B.
Kinostart), die nicht durch die
Entwicklung begrndet ist
V1 [58]
Seite 29
Demografie
V1 [59]
Demografie
V1 [60]
Seite 30
Demografie
V1 [61]
V1 [62]
Seite 31
Trend
Hin zum typischen Software-Haus
Hin zur strkeren Spezialisierung
Computer Games Prof. Dr. R. Drner SS 16
V1 [63]
V1 [64]
Seite 32
Warum Beschftigung
mit Computer Games?
V1 [65]
Teil B:
Computer Animation
Seite 33
Computer Animation
B.1
Begriffe
B.2
Keyframing
B.3
Weitere Animationstechniken
Animation
griech. animos: Wind
lat. anima: Luft,
Hauch, Atem, Seele
lat. animos: beleben
Belebung
(Bewegung,
Vernderung) von
Bildern bzw.
Bildinhalten
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 34
Phi-Phnomen
Experiment von Wertheimer (1912):
Wundertrommel
Seite 35
Terminologie
Scene
Kontinuitt in Ort, Figuren und Aktionen
Shot
Zusammenhngende Serie von Einzelbildern
(durchlaufende Kamera)
Frame
an animator is a craftsman whose bricks are
frames (J. Rosbush)
Cue
Besonderer Frame, an dem ein Ereignis
stattfindet
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 36
Terminologie
Ease in / Ease Out: Animation
startet und endet nicht abrupt
Stretch and Squeeze:
Verformungen durch Bewegung
Secondary Animation:
Bewegung des Hintergrundes,
induzierte Bewegungen
Computer Games Prof. Dr. R. Drner SS 16 V1
Terminologie
Anticipation: Vorbereiten des
Betrachters auf eine Bewegung,
dadurch Erzeugung einer
Erwartungshaltung
Overshoot: berziehen einer
Bewegung
Moving Holds: etwas bewegt sich
immer, sonst wirkt Szene tot
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 37
Computer Animation
B.1
Begriffe
B.2
Keyframing
B.3
Weitere Animationstechniken
Traditionelle Animation
Zeichentrick
Cut-out Animation
Puppen Animation
Knet Animation
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 38
Traditioneller Zeichentrick
Idee: Zeichnen einer
Reihe von Einzelbildern
(Frames)
Prsentation der
Einzelbilder in einer
geeigneten
Geschwindigkeit (z.B. 30
fps)
Muybridge:
Animals in Motion ,
1899
Bei Computerspielen:
60 Hz, 30 hurts
Animationstisch
Aufnahme der Frames
auf speziellen Tischen
nacheinander auf Film
Abspielen des Films in
richtiger Geschwindigkeit
erzeugt Illusion der
Animation
Seite 39
Cel-Animation
Keyframing
Frames wurden von Hand
gezeichnet
Arbeitsteilung:
Hauptanimatoren zeichneten nur
ausgewhlte Frames, sogenannte
Schlsselbilder (oder Keyframes)
Animatoren zeichneten
Zwischenbilder (Inbetween-Frames)
zwischen je zwei Keyframes
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 40
Keyframing
bertragung dieser Arbeitsweise auf
Computer:
User erstellt Keyframes (Spezifikation des
Bildes zu festen Zeitpunkten), Computer
erstellt Inbetween-Frames durch
Interpolation
Parametrisches Keyframing: nicht ganzes
Bild, sondern einzelne Parameter werden
zur Bilderzeugung werden in Keyframes
spezifiziert
Computer bietet das Erstellen eines Bildes
auf verschiedenen Ebenen an und
verwaltet diese Ebenen
Computer bernimmt Generierung und
Prsentation der Animation
Computer Games Prof. Dr. R. Drner SS 16 V1
Keyframing
V1 [82]
Seite 41
Seite 42
Einstellungen fr Zwiebelschalen:
(Anzahl und Kontur vs. Ausgefllt)
Resultat in Zwiebelschalendarstellung:
Tweening
3D Parametrisches Keyframing
Parametrisierte Form der
Szenenbeschreibung
Vielfltige Parameter
Translationsvektoren
Rotationswinkel
Farbe
Semantische Parameter
Seite 43
Kinegraph
Seite 44
Parametrisches Keyframing
Pro und Contra
universell
Interpolation kann
schwierig sein
auf Parameter
hoher Grad an Kontrolle
durch den Autoren
Seite 45
Computer Animation
B.1
Begriffe
B.2
Keyframing
B.3
Weitere Animationstechniken
Motion Path
Spezielle Form des
Keyframings
Beschreibung einer
Bewegung mittels einer
parametrisierten Kurve
Parameter Zeit muss auf
Kurvenlnge abgebildet
werden (Kurvenlnge
evtl. schwierig zu
bestimmen)
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 46
Unterschiedliche Parametrisierung
des Pfades
Seite 47
Scripting
Spezielle
Animationssprachen
Prozedurale Beschreibung
Prozeduren stehen hufig
fr Canned Animations
p = new Pferd();
p.springe(3);
p.gallopiere(15, 5);
doInParallel
{
p.trabe(3);
p.wiehern(2);
}
p.warteAufUser(RUHIG);
Beispiel: ALICE
V1 [96]
Seite 48
Kinematische Ketten
Seite 49
V1 [99]
Seite 50
Typische Schritte
Rigging
Skinning
Posing
Beispiel: Rigging
Seite 51
Beispiel: Skinning
Beispiel: Posing
Skelett selektieren, Pose
Mode whlen
Einzelne Knochen
knnen selektiert werden,
dann transliert und rotiert
werden
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 52
Seite 53
Motion Capturing
V1 [107]
Motion Capturing
Seite 54
Quelle: duden.de
Canned Animation
Fixe Animationszyklen (mit
Anschlussframes)
Beispiel:
Gehen
Rennen
Knien
Winken
Character Animation
Seite 55
Facial Animation
Simulation
Basiert auf einem Modell
Vorteil: Modell muss sich nicht
primr mit Graphik und Animation
beschftigen, sondern kann
Anwendungs- abhngig sein
Verschiedene
Simulationstechniken sind
bekannt
Sonderflle:
Physikalisch-basierte Animation
Partikelsysteme
Quelle: bulletphysics.org
Seite 56
Physikalisch-basierte Animation
Quelle: visual-logic.com
Partikelsysteme
Seite 57
Partikelsysteme
V1 [115]
Seite 58
Seite 59
Seite 60
Behavioral Animation
Anwendung von KIMethoden
Regelbasierte Systeme
Agenten
Sonderformen
Flock Animation
Crowd Animation
Modellierung kognitiver
Funktionen
Goal-oriented Animation
Quellen: shutterstock.com, area.autodesk.com
Seite 61
Teil C:
Echtzeit und Realismus
Echtzeitanforderungen
C.2
Methoden fr Performanz
C.3
Methoden fr Realismus
C.4
Interaktivitt
C.5
Kollisionserkennung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 62
Echtzeitanforderungen
Echtzeit: mit dem
Benutzer schritthalten
Systemreaktion auf
Benutzerinteraktion (<
100 ms)
Bildrate
60 Hertz, 30 hurts
Situationsabhngig
Individual verschieden
Computer Games Prof. Dr. R. Drner SS 16 V1
Simplifikation
Culling
All das vor dem Rendern entfernen, was nicht auf dem Bild
sichtbar sein kann
Seite 63
Simplifikation
All das vor dem Rendern entfernen, was nicht auf dem Bild
sichtbar sein kann
Echtzeitanforderungen
C.2
Methoden fr Performanz
C.3
Methoden fr Realismus
C.4
Interaktivitt
C.5
Kollisionserkennung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 64
V1 [129]
V1 [130]
Seite 65
Verwendung von
Parameter-Kurven (NURBS) und -Flchen
u-v-Linien
32-Patches
Kontrollpunkte
fr die Patches
Polyogon-Mesh:
32 Patches
16 Kontrollpunkte pro
Patch
288 Eckpunkte (Zwei
Patches haben bis zu 12
gleiche Kontrollpunkte)
Speicheraufwand: 288 x 3
Real-Zahlen (4 Byte)
2048 Vierecke
3456 Byte
24576 Byte
Seite 66
Quelle:
Watt / Policarpo
3D Games
Subdivision Faces
niedrige LOD
Seite 67
hoher LOD
niedrige LOD
Seite 68
hohe LOD
Quelle: flylib.com
V1 [138]
Seite 69
V1 [139]
BSP-Tree
Grundlage fr das
Szenenmanagement
Aufteilung der Szene in Teilrume
Strukturierung der Teilrume als
Baum (vorberechnet)
Finden eines Blattes oder
Traversierung des Baumes mit
effizienten Algorithmen
Seite 70
BSP-Tree
Teilung des Raumes durch Gerade (in 2D)
bzw. Ebene (in 3D)
Szene
Normalenvektor
BSP-Tree
Szene
Seite 71
BSP-Tree
V1 [143]
BSP-Algorithmen
Seite 72
Culling
Kollisionserkennung
Schattenberechnung
Seite 73
V1 [147]
V1 [148]
Seite 74
Strategie:
Level vom Layout so
gestalten, dass PSV
mglichst klein werden.
Betrachter
Strategie:
Keinen BSP-Baum fr
gesamte Szene, sondern
fr jedes PVS
Computer Games Prof. Dr. R. Drner SS 16 V1
Portal Culling
V1 [150]
Seite 75
Seite 76
MipMaps
MipMaps
Quelle:
Watt / Policarpo
3D Games
Seite 77
Bump Mapping
Quelle:
Watt / Policarpo
3D Games
Bump Mapping
V1 [156]
Seite 78
Texture Baking
V1 [157]
Lightmaps
Vorberechnung der
Beleuchtung
Shading whrend der
Laufzeit: einfach in der
Lightmap nachschauen
Sonderlsungen fr
bewegliche Objekte und
bewegliche Lichtquellen
1.
2.
3.
4.
Seite 79
Quelle:
Watt / Policarpo
3D Games
Seite 80
Fog Sphere
Quelle:
Watt / Policarpo
3D Games
Echtzeitanforderungen
C.2
Methoden fr Performanz
C.3
Methoden fr Realismus
C.4
Interaktivitt
C.5
Kollisionserkennung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 81
Raytracing
Seite 82
Multi-pass Rendering
StencilMaske
Resultat
Quelle:
Watt / Policarpo
3D Games
Environment-Map
Seite 83
Prozedurale Vegetation
V1 [168]
Seite 84
Prozedurales Terrain
V1 [169]
Seite 85
Schattenvolumen
Seite 86
Shadow Maps
Quelle:
Watt / Policarpo
3D Games
Seite 87
Quelle:
Watt / Policarpo
3D Games
Quelle:
Watt / Policarpo
3D Games
Seite 88
Quelle:
Watt / Policarpo
3D Games
Quelle:
Watt / Policarpo
3D Games
Seite 89
Vergleich:
Textur-Schatten vs. Soft Shadows
Quelle:
Watt / Policarpo
3D Games
Fake Shadows
Seite 90
Seite 91
Seite 92
Quelle:
Watt / Policarpo
3D Games
Multi-Texturing
Beispiel: Hinzufgen von Struktur
Multi-Texturing
Beispiel: Hinzufgen von Struktur
Quelle:
Watt / Policarpo
3D Games
Seite 93
Quelle:
Watt / Policarpo
3D Games
Quelle:
Watt / Policarpo
3D Games
Seite 94
Echtzeitanforderungen
C.2
Methoden fr Performanz
C.3
Methoden fr Realismus
C.4
Interaktivitt
C.5
Kollisionserkennung
Computer Games Prof. Dr. R. Drner SS 16 V1
Reaktion in Echtzeit:
Visuelles Feedback: Highlighting
Verarbeitung des Events durch
Spielelogik
Quelle:
Rick Komerska et.al.
Vislab CCOM UNH
Problem:
R. Drner
Seite 95
Verwendung eines
Selektionsstrahls
Anklicken mit der Maus
(Picking)
Computer Games Prof. Dr. R. Drner SS 16 V1
3D-Picking
Strahl von Projektionszentrum durch
angeklicktes Pixel
Erstes Objekt, das der
Strahl trifft
Um den ersten Schnittpunkt
zu finden, mssen die
Schnittpunkte mit allen
Objekten berechnet werden.
Bei n Objekten Komplexitt
O(n)
Lsst sich reduzieren auf
O(log n) durch Verwendung
geeigneter Datenstrukturen
Computer Games Prof. Dr. R. Drner SS 16 V1 [192]
Seite 96
R. Drner
Color-Picking
Seite 97
Color-Picking
Idee: Unterschiedliche Objekte
verschieden-farbig markieren,
kein Shading (Objekte haben je
berall dieselbe Farbe)
Bild in den Backbuffer zeichnen
Farbwert an der geklickten
Stelle ermitteln und auf Objekt
schliessen
R. Drner
R. Drner
Beispiel fr Color-Picking
Seite 98
Echtzeitanforderungen
C.2
Methoden fr Performanz
C.3
Methoden fr Realismus
C.4
Interaktivitt
C.5
Kollisionserkennung
Computer Games Prof. Dr. R. Drner SS 16 V1
Kollisionsbehandlung
Kollision
Kamera Objekt
Objekt Objekt
Glaubwrdiges Verhalten
von Objekten
Teil der Physik-Simulation
einer Spielewelt
R. Drner
Constraints in der
Navigation
Seite 99
Quelle: sglab.kaist.ac.kr
Kollisionsbehandlung
Collision Detection:
feststellen, ob Kollision
Collission Determination:
Geometrie der Kollision
berechnen (Schnitte von
Dreiecken etc.)
Collision Response:
Reaktion auf Kollision, z.B.
Aufprall auf elastische
oder auf weich
nachgebende Wand
Prinzipielle Vorgehensweise
Kollisionen behandeln
(z.B. Weiterbewegung
verhindern, Impuls
und Krfte
bestimmen)
- Schritt
Auf Kollisionen
berprfen
(Kollisionserkennung)
R. Drner
berhaupt kollidiert?
Wo kollidiert?
Seite 100
Kollisionsbehandlung
Viele bewegliche Objekte (mehrere
Tausend)
Schnelle Durchfhrung (100.000
Polygone in weniger als 1 ms)
Wenig Speicherverbrauch
Aufbau der Datenstrukturen fr
Kollisionserkennung whrend des
Ladens der Szene in annehmbarer
Zeit mglich
R. Drner
Collision-Interest Matrix
Dreiecksmatrix, die angibt, ob
zwei Objektpaare prinzipiell
kollidieren knnen
Statische Eintrge (einmal
anfangs eintragen)
Dynamische Eintrge (ggf.
Update)
R. Drner
Seite 101
Hllkrper
R. Drner
V1 [204]
Seite 102
V1 [205]
Idee:
Erst auf oberer Ebene
auf Schnittpunkte testen,
nur falls notwendig, untere
Ebenen betrachten
R. Drner
Seite 103
Sphere Tree
V1 [207]
Separierende Achsen
V1 [208]
Seite 104
R. Drner
Raumgitter
Gitterzerlegung
V1 [210]
Seite 105
Plane-Sweep
R. Drner
V1 [212]
Seite 106
Beobachtung: Zwei
aufeinanderfolgende Frames in
einer Bildsequenz unterscheiden
sich vielfach nur wenig.
R. Drner
Quelle: sparkasse.it
Frame-to-Frame Coherence
Beispiel fr Frame-to-Frame-Coherence
Bei konvexen Objekten (=
Objekt entsteht durch Schnitt
von Halbrumen) gilt:
Zwei Objekte schneiden sich
nicht, wenn es eine
separierende Ebene gibt (= die
Schnittmenge der an beiden
Objekten beteiligten
Halbrume ist leer)
R. Drner
Seite 107
Dynamische Kollisionserkennung
Statischer Test auf Kollision in jedem Frame ?
Reicht nicht fr schnell bewegte Objekte:
p
Frame n
Frame n+1
R. Drner
Seite 108
Teil D:
Hardware Shading
Hardware Shading
D.1
Grundlagen
D.2
Shader-Programmierung
D.3
Anwendungsgebiete
Seite 109
2.
Per-Vertex
Operation
3.
Primitive
Assembly
4.
Clip, Cull,
Project,
Viewport
6.
Fragment
Processing
7.
Per
Fragment
Ops
8.
Frame
Buffer
Ops
Rasterize
Pixel
Pack /
Unpack
Pixel
Transfer
TEXTURE
MEMORY
FRAME
BUFFER
Vertex
Fragment
Textur / Pixel
Computer Games Prof. Dr. R. Drner SS 16 V1 [219]
R. Drner
Application
5.
VERTEX-/
GEOM. - /
TESS.SHADER
3.
Primitive
Assembly
4.
Clip, Cull,
Project,
Viewport
FRAGMENT
SHADER
7.
Per
Fragment
Ops
8.
Frame
Buffer
Ops
Rasterize
Pixel
Pack /
Unpack
Pixel
Transfer
TEXTURE
MEMORY
FRAME
BUFFER
Vertex
Fragment
Textur / Pixel
Computer Games Prof. Dr. R. Drner SS 16 V1 [220]
R. Drner
Application
5.
Seite 110
Hardware Shading
D.1
Grundlagen
D.2
Shader-Programmierung
D.3
Anwendungsgebiete
Datenflsse
VERTEX
SHADER
uniform Variable,
Java,
in / out Variable
Texturen
uniform Variablen,
in Variable, Texturen
FRAGMENT
SHADER
R. Drner
C / C++,
OPEN GL
APPLICATION
in Variable, Texturen
Seite 111
Im Vertex Shader:
Dieser Vertex setzt f = 0.0;
Im Fragment Shader:
Fr das mittlere Fragment wird f auf 0.5
automatisch vorinitialisiert
Im Vertex Shader:
Dieser Vertex setzt f = 1.0;
R. Drner
R. Drner
Seite 112
GLSL Beispiel
Data Layout,
wie Buffer
Object
bergeben wird
Werte kommen
aus der
Applikation
Buffer Object:
Daten werden im
Block bergeben
in vec3 position;
in vec2 aTexCoord;
out vec2 texCoord;
Deklaration von
Variablen, position
enthlt 3D Koordinate
des Vertex
void main(){
texCoord = aTexCoord;
gl_Position =
pmvMat *
vec4(position, 1);
}
in der Applikation
berechnete Matrix
fr Transformation
Texturkoordinaten werden
in der Pipeline
weiter gegeben
Konstruktor fr
4D-Vektor, da
4x4 Matrix
V1 [225]
Hardware Shading
D.1
Grundlagen
D.2
Shader-Programmierung
D.3
Anwendungsgebiete
Seite 113
Realistische Beleuchtungseffekte
Schrfen, Weichzeichnen
Focus & Blur
Animation
LOD-Erzeugung
Bildverarbeitung
Prozedurale Texturen
Anti-Aliasing
Natrliche Phnomene
Non-photorealistic Rendering
Partikelsysteme
Prozedurale Animation
Bildeffekte
Motion Blur
Tiefenschrfe
R. Drner
Um ein Bild zu
erzeugen, kann
Renderpipeline
mehrmals durchlaufen
werden
Quelle: software.intel.com
Multipass-Rendering
R. Drner
Seite 114
StencilMaske
Resultat
R. Drner
Quelle:
Watt / Policarpo
3D Games
Non-Photorealistic Rendering
Vernderte
Beleuchtungsrechnung
Vielzahl von Effekten ist
mglich
Aquarell
Blaupause
Skizze
Bleistiftzeichnung
Cartoon
R. Drner
Seite 115
1.0
1.0
Cartoon-Shader
R. Drner
0.0
R. Drner
Wireframe-Darstellungen
Seite 116
Multitexturing
Verwendung von mehreren
Texturen, z.B.:
R. Drner
Polarkoordinaten umrechnen in
Texturkoordinaten
R. Drner
Environment Mapping
Seite 117
R. Drner
Environment Mapping
R. Drner
Realistische Materialien
- Beispiel Glas
Seite 118
R. Drner
Realistische Materialien
- Beispiel Ziegelstein
R. Drner
Realistische Materialien
- Beispiel: Granit
Seite 119
R. Drner
Realistische Materialien
- Beispiel: Holz
Realistische Materialien
- Beispiel: Autolack
Verwendung einer bidirectional
reflectance distribution (BRDF)
Idee BRDF: genauer Modellieren,
wie Licht reflektiert wird, als im
Phong Modell
Vorgehensweise
Aufstellen der BRDF, z.B. durch
Messungen
Speichern der Werte in einer Textur
Im Shader diese Werte aus Textur
rekonstruieren und anwenden
R. Drner
Seite 120
Realistische Materialien
- Realisierung
Verwendung von Texturen
Liegen im Speicher vor (z.B. als
Bilddatei)
Werden on-the-fly berechnet
(prozedurale Textur)
ohne Noise
mit Noise
R. Drner
Noise Funktionen
Anforderungen
Stetige Funktion, Werte im Intervall
[0,1] bzw. [-1,1]
Fr gleiche Eingangswerte werden
immer dieselben Ausgangswerte
erzeugt
Ausgangswerte sollen trotzdem
zufllig wirken, keine Muster
erzeugen, selbst Teilbereiche sollen
zufllig wirken
Verfgbar fr 1D, 2D, 3D, 4D etc.
R. Drner
Seite 121
R. Drner
R. Drner
Animation: Erosion
- ein Beispiel
Seite 122
R. Drner
Animation: Morphing
- ein Beispiel
R. Drner
Animation: Morphing
- ein Beispiel
Seite 123
R. Drner
Partikelsysteme
R. Drner
Partikelsysteme
- Beispiele
Seite 124
R. Drner
Partikelsysteme
- Beispiele
Shader-Berechnungen sorgen
fr berstrahlung
Computer Games Prof. Dr. R. Drner SS 16
V1 [250]
Seite 125
R. Drner
Quelle: wikipedia.org
R. Drner
Seite 126
1/9
1/9 1/9
1/9
1/9 1/9
1/9
1/9 1/9
Resultatbild
R. Drner
Ausgangsbild
1/9
1/9 1/9
1/9
1/9 1/9
1/9
1/9 1/9
Resultatbild
133
?
1
1
1
1
1
1
1
1
1
? 0 100 100 0 250 250 0 250 250 133
9
9
9
9
9
9
9
9
9
Computer Games Prof. Dr. R. Drner SS 16 V1 [254]
R. Drner
Ausgangsbild
Seite 127
Resultatbild
Filterkern
1/9
1/9 1/9
1/9
1/9 1/9
1/9
1/9 1/9
100
?
133
R. Drner
1
1
1
1
1
1
1
1
1
? 100 100 100 100 100 100 100 100 100 100
9
9
9
9
9
9
9
9
9
Computer Games Prof. Dr. R. Drner SS 16 V1 [255]
Resultatbild
Filterkern
1/9
1/9 1/9
33
67 100 100
1/9
1/9 1/9
33
67 100 100
1/9
1/9 1/9
R. Drner
Seite 128
Mit Filter
R. Drner
Ohne Filter
R. Drner
Seite 129
Quelle: Crytek
Hardware Shading
D.1
Grundlagen
D.2
Shader-Programmierung
D.3
Anwendungsgebiete
Seite 130
Teil E:
Game Design
Game Design
E.1
Grundbegriffe
E.2
E.3
Stories
E.4
Designfaktoren
E.5
Seite 131
Play
playing vs. gaming (im
Deutschen das gleiche
Wort: spielen)
Aktivitt in der
menschlichen Entwicklung
Kind ahmt die Rollen
anderer nach
Zweckfreie, intrinsisch
motivierte Aktivitt ohne
explizite Regeln
Computer Games Prof. Dr. R. Drner SS 16
V1 [263]
Abzhl-Reim
Competitive Play
Chance-based Play
Simulation or Make-believe Play
Verkleiden
Im Kreis drehen
Fuball
Roulette
Theater
Ski-Fahren
Ludus
(Regelgebunden)
Paida
(FreiformSpiel)
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 132
Feedback, klares
Ergebnis, Vergleichbarkeit
der Ergebnisse
Games beinhalten die
Aspekte
Regeln
Spielerfahrung
Kultureller Kontext
Seite 133
Kulturelle Dimension
Kultur stellt implizite Regeln
bereit (Etikette, Ethos,
Konventionen)
Games reflektieren und
beeinflussen Kultur
Kulturelle Prferenzen fr SpielGenres
Games als Mittel der Tradierung
Soziale Dimension
Play communities
Spiele sind emergent social
systems
Komplexitt des Spieles selbst
wird durch komplexe soziale
Erfahrungen verstrkt
(Wechselwirkung), Beispiel:
Siedler von Catan
Gruppendynamische Prozesse
Quelle: journaldugamer.com
Seite 134
Deskriptive Definition:
Entstehung durch Beziehung:
Aktion Spieler Systemreaktion
Beziehung trgt Bedeutung
Evaluative Definition:
Beziehung zwischen Aktionen u.
Resultat ist wahrnehmbar und
eingebettet in den Spielkontext
Wahrnehmbar:
Spieler bemerkt
die unmittelbare
Folge einer
Aktion
Eingebettet:
Resultat einer
Aktion ist eingewoben in das
Gesamtsystem
Interaktion
A game is a series of
interesting choices.
(Sid Meier)
Seite 135
Beispiel: Schach
Game Play
Seite 136
Game Mechanic
Quelle: retrogamesnow.co.uk
Spa haben
gefordert werden
involviert sein
versunken sein
Emotionen haben
GX ist komplexer
Begriff, mehrere
Dimensionen
Computer Games Prof. Dr. R. Drner SS 16
Quelle: emotiv.com
V1 [274]
Seite 137
Ist es originell?
Ist es kohernt?
Beobachtung
Thinking Aloud Test
Fragebgen / Interview
Logging von Daten im
Spiel
Physiologische Sensoren
Ist es interaktiv?
Ist es interessant?
Macht es Spa?
R. Drner
Spieletester
Synthese
Kombination von Ideen,
sinnvolles Zusammenpassen
Resonanz
Synergie nutzen, Resonanz mit
Realitt und Vorerfahrungen
Konvergenz
Erst jetzt Konzept und Ideen
analytisch kritisieren
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 138
Game Design
E.1
Grundbegriffe
E.2
E.3
Stories
E.4
Designfaktoren
E.5
Regeln
Regeln legen die innere,
formale Struktur des
Spiels fest
Spielregeln
unterscheiden sich von
sozialen Regeln, Gesetzen,
etc. (knstlicher Kontext)
strategischen Regeln
Spielerfahrung und
kulturellem Kontext (Bsp.
ndern der Spielfigurnamen im Schach)
Spielregeln
limitieren die Aktionen der
Spieler
sind explizit und eindeutig
werden von allen Spielern
akzeptiert
sind festgelegt und bindend
sind wiederholbar
Seite 139
Regeltypen
Konstituierende Regeln
Abstrakte, mathematisch
beschreibbare Regeln
Beschreiben Spielelogik
Operationale Regeln
Beschreiben das Verhalten der
Spieler
Spiele-Anleitung
Implizite Regeln
Etiquette
Ungeschriebene Gesetze
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 140
Emergence
Emergence
Emergence is above all a product of coupled, contextdependent interactions. Technically these interactions,
and the resulting system, are nonlinear: The overall
system cannot be obtained by summing the behaviors
of its constituent parts.
John Holland
Seite 141
Emergence - Beispiele
Emergence - Beispiele
Seite 142
Emergence - Beispiele
Langtons Ant
Go vs. Schach (Ebene:
Game intern)
Bluffen beim Poker
(Ebene: SpielerVerhalten)
Populous: Prediger und
Krieger
Quelle: wikipedia.org
Periodisch
Komplex
Fixed (statisch)
Game System
Chaotisch
Emergence
Spielregeln
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 143
Regeldesign
Design der Regeln ist wichtiger Teil des Game Designs
Konstituirend: fair, ausgewogen, interessanter Konflikt
Operational: einfach, schnell, zu angemessener Reprsentation
fhrend
Implizit: an allgemein akzeptierten impliziten Regeln orientiert
Game Design
als indirektes Design Problem
Game Designer gestaltet
Regeln direkt
Game Designer gestaltet
Spielerfahrung indirekt
Kunst beim Game Design:
Vorhersage wie
nderungen in den
Regeln die Spielerfahrung
ndern (verbessern) wird
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 144
Quelle: wikipedia.org
Balance
Seite 145
Langweile
Fhigkeit des
Spielers
Seite 146
Game Flow
klare Ziele
Gefhl der
Mhelosigkeit
Einklang
Anforderung /
Fhigkeit
Konzentration
Gefhl der
Kontrolle
V1 [293]
Game Design
E.1
Grundbegriffe
E.2
E.3
Stories
E.4
Designfaktoren
E.5
Seite 147
kommunizieren Fakten
beantworten Fragen
erzeugen Emotionen
provozieren Aktionen
bauen Spannung auf
Beispiel: Storyverlauf
Exposition / SetUp - Establish
Characters and
Situations:
Gott, Garten
Eden, Adam
und Eva,
Apfel
Introduce
Problem / Agent
of Conflict
Schlange,
berredung
Schlange
Eva
Adam: Apfel
Apfel: Notwendigkeit
von Kleidung,
Nichtbeachtung von
Gott
Climax
Gott befragt
Adam und
Eva
Resolution
Vertreibung
aus dem
Paradies
Seite 148
Game Design
E.1
Grundbegriffe
E.2
E.3
Stories
E.4
Designfaktoren
E.5
Design-Faktor: Unsicherheit
Wre alles vorherbestimmt, gbe es keine
bedeutungstragenden Aktionen, also kein Game
Beziehung Entscheidung / Aktion und Resultat kann
sicher sein
risikoreich (Wahrscheinlichkeiten sind bekannt) sein
unsicher (Wahrscheinlichkeiten sind unbekannt) sein
Seite 149
Design-Faktor: Information
Arten von Games
Game mit perfect information (Bsp. Schach)
Game mit imperfect information (Bsp. Skat)
Kategorien
Seite 150
Sam Kerbeck
Erzhlung
Seite 151
Game Design
E.1
Grundbegriffe
E.2
E.3
Stories
E.4
Designfaktoren
E.5
Erfolgstyp
Investierte Zeit
Belohnungstyp
(intrinisische Motivation: belohnt werden)
Antrieb:
Gesellschaft
finden,
Erfolge,
Belohnung,
positive
Emotionen
Genieer
(schneller Spa, Vergngen)
V1 [304]
Seite 152
Spieler Typen
Typen:
Standard Spieler
Engagierter Spieler (starkes Interesse am Gewinn)
Unsportlicher Spieler (verletzen implizite Regeln)
Schummler (verletzen operationale Regeln)
Spielverderber (verletzen Autoritt des Spiels)
Fangen
Barriere
berwinden,
Verletzen,
Verteidigung
brechen
Symbol oder
Personen
nehmen
Rennen
Jagd
Angriff
Eroberung
Vorn bleiben
Wegbleiben,
Ducken
Verteidigen,
Bewachen
Vermeidung
der
Eroberung
rgern,
Kdern
Belstigung
Durchschauen,
Bestrafen,
Abwarten
Chance oder
Hinweis
finden
Entkommen,
Retten
Zu etwas
Verbotenem
verleiten
Suche
Befreiung
Verfhrung
Verstecken,
In die Irre
fhren,
Heucheln
Gefangen
nehmen,
bewachen
Wiederstehen,
Selbstkontrolle
zeigen
Seite 153
Personalisierung
Spiel kann an die
individuellen
Charakteristika des
Spielers angepasst
werden
Umsetzung durch
externe Person (z.B.
Trainer): Adaptability
Spielsystem basierend auf
In-Game Assessment:
Adaptivity
Computer Games Prof. Dr. R. Drner SS 16
Quelle: blog.motionfitness.com
V1 [307]
Teil F:
Design Dokumente
Seite 154
Storyboards
Kleine Comics zeichnen, die darstellen,
wie sich das Spiel dem User prsentiert
Problemen
Fehlern
Lcken
Inkonsistenzen
V1 [310]
Seite 155
Living Documents
Allen Teammitgliedern verfgbar
machen
Problem: Dokumente werden
nicht gelesen
Lsung:
Intranet
Living Document, Hyperlinked
Document
Herunterbrechen in Mini-Specs
(goals, philosophy, expected
results, alternatives)
Verbindung mit Work in Progress
Projektstatus fr das ganze Team
reflektieren
Computer Games Prof. Dr. R. Drner SS 16 V1
Game Overview
Concept Stage
Work in Progress
Alpha (Feature Complete)
Interim oder Second Alpha
Final Beta (Asset Complete)
Gold Master
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 156
Game Spec
Designers Notes
Auch Begrndungen, Gedankengnge
festhalten (nicht nur was, sondern auch
warum)
Addressiert
Features
Gameplay
Interface
Regeln
Level Design
Computer Games Prof. Dr. R. Drner SS 16 V1
Features
Integrale Features
Entscheidend, damit das Spiel funktioniert
Bsp. Formationen in einem Strategie-Spiel
Chrome
Features, die das Spiel selbst nicht
grundlegend betreffen, aber das
Spielerlebnis verbessern knnen
Bsp. Interface an Alien Rasse anpassen in
StarCraft
Gameplay Ersatz
Scheinbare Auswahl
Bsp. Verschiedene Essen in einem
Rollenspiel, die identisch behandelt werden
Quelle: Wikipedia
Seite 157
Interfaces
Sorgfltiges Interface Design
mit Usability Bercksichtigung
Interface muss Funktionalitt
fr den Spieler erreichbar
machen
Spieler darf nicht den Eindruck
haben, gegen das System zu
arbeiten
Noch besser: Spieler vergisst
seine eingeschrnkten Kontrollund Interaktionsmglichkeiten
Computer Games Prof. Dr. R. Drner SS 16 V1
Level Design
Quelle: petermcglory.com
Seite 158
Game Spec
Overview
Genre, typische Zeit fr ein Spiel, Spielidee
Players
solo, multiplay, max. Anzahl Spieler, Zielgruppe
Interface
Icons, Tastenkrzel, Mens, hnliche Spiele
Start Up
Wie fngt das Spiel an, was hat jeder Spieler
Objectives
Ziele des Spiels (Sieg ber Feinde, viel Geld, )
Game Spec
Entities
Strukturen, Charaktere, Gegenstnde
Features
(besondere) Eigenschaften des Spiels
Rules
Spielregeln
Gameplay
Wie stellt sich das Spiel aus Sicht des Spielers dar?
Level Design
enge Rume, weite Flchen, Anforderungen an Levels
Technical Requirements
PC, Spielkonsole, High-End oder Low-End Voraussetzungen
Marketing
Unique Selling Points, Marktanalyse, hnliche Spiele
Seite 159
Treatment
Competitive Analysis
Analyse
Welche hnlichen Spiele gibt es?
Welche Features bietet das Spiel auch? Welche
zustzlich?
Welche Zielgruppe?
Evaluation
Sind alle Features ntig? Bringen die Features
Spielspa?
Warum wurden die Alleinstellungen bislang noch nicht
von anderen aufgegriffen?
Ist das Game realistisch umsetzbar? Ist es spielbar?
Seite 160
Game Proposal
Bewerbung an einen Publisher
Anschreiben (1 Seite, mit
Aufforderung endend)
Game Overview
Treatment
Competitive Analysis
Game Spec
Vorstellung des Teams,
Bios
Budget und Zeitplan
Demo
Quelle: einstieg.com
Seite 161
Quellen: wikipedia.org,
kroening-online.de
Token
Properties
Events
Endliche Automaten (FSM)
Interaktionsmatrizen
Computer Games Prof. Dr. R. Drner SS 16 V1
Tokenization
Zerlegung des Gameplay
in konzeptionelle Objekte
(auch hierarchisch)
Beispiel Pong:
Game World
Ball
Netz
Seitenlinie
Player Avatar
Schlger
Spielstand
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 162
Seite 163
Seite 164
Teil G:
Game Development
Seite 165
Game Development
G.1 Development Team
G.2 Architekturen und Pattern
G.3 Aufgaben der Entwicklung
G.4 Software Engineering fr Games
G.5 Agile Entwicklung
Computer Games Prof. Dr. R. Drner SS 16 V1
Rollen im Produktionsprozess
Management & Design
Software Planner
Project Manger
Programming
Lead Programmer
Game Designer
Art
Lead Artist
Programmer
Lead Architect
Playtester
QA Technician
Artist
Assorted Technicians
Seite 166
Kommunikation im Team
Protokolle schreiben
Commitment explizit machen
Missverstndnisse erkennen
Mechanismen der Akzeptanz des Protokolls
Kommunikation
Architektur
Prozesse etablieren
Explizite Ansprechpartner fr Kunden / Publisher
Problem der Skalierung (kombinatorische
Explosion)
Herausforderungen interdisziplinrer
Kommunikation
Design
Baum
V1 [334]
Seite 167
Game Development
G.1 Development Team
G.2 Architekturen und Pattern
G.3 Aufgaben der Entwicklung
G.4 Software Engineering fr Games
G.5 Agile Entwicklung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 168
V1 [337]
V1 [338]
Seite 169
Entity Manager:
Tabelle: Entity ID
List<Component ID>
Component:
Component ID, Entity ID,
Attribute und Methoden
Datenbank:
Entity ID
List<AttributeValues>
System:
Zugehrige Entities
List<EntityID>
Methodensammlung
V1 [339]
Event Producer:
addListener
deleteListener
fireEvent
Event Listener
(Observer):
addHandler
deleteHandler
Event :
Event Data
Event Handler:
handleEvent(Event)
V1 [340]
Seite 170
Seite 171
Game Development
G.1 Development Team
G.2 Architekturen und Pattern
G.3 Aufgaben der Entwicklung
G.4 Software Engineering fr Games
G.5 Agile Entwicklung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 172
Aufgaben
Asset Erzeugung
3D Modellierung
Animation
Sound & Musik
Game Balancing
Playtesting
Projektmanagement
Marketing
Internationalisierung
V1 [345]
Marketing
Marketing Strategie
Press Releases
Werbung (z.B.
Spielemessen, Werbespots)
Verhandlung mit
Distributoren / Handel
Nicht alles wird vom
Publisher bernommen
Texte ber das Spiel
Stills, Videos
Demoversionen (nicht nur
das eigentliche Spiel ist zu
implementieren)
Computer Games Prof. Dr. R. Drner SS 16
V1 [346]
Seite 173
Nutzung Modellierungswerkzeug
Import eines Referenzobjektes (zur
Grenabschtzung)
Erstellen eines geometrisch einfachen
Whitebox-Modells aus Primitiven
Mit Subdivision gewnschte
Komplexitt des Modells herstellen
Export in 3D Spielewelt und
Begutachtung der Proportionen
Verfeinerung und Aufteilung des
Modells (z.B. fr Animationen), Nutzung
von Symmetrien und Wiederholungen
Computer Games Prof. Dr. R. Drner SS 16
V1 [347]
V1 [348]
Seite 174
Quelle:
Watt / Policarpo
3D Games
Materialerstellung
Abwicklung der Oberflche in eine
UV-Map (mglichst gleichfrmig)
Nutzung einer Materialbibliothek
Texturierung: Diffuse Map, Specular
Map / Gloss Map, Normal Map /
Bump Map
Texturierung auf verschiedenen
Ebenen durchfhren
Feinschliff der Texturen (z.B. mit
Photoshop), z.B. abgedunkelte
Kratzer einfgen
Texture Baking (Maps mit einander
verrechnen, Vorberechnungen fr
die Beleuchtung durchfhren und
speichern, d.h. in eine Textur
rendern)
V1 [349]
Prototyp wegwerfen
Trick: andere Programmiersprache
verwenden (z.B. Visual Basic, Java
oder Flash / Actionscript)
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 175
Playtesting
Frhes Testen (durch
Implementierung verkrustet
das Computer Game)
Spiel sollte auch ohne Chrome
Spa machen
Auswahl an Testpersonen:
professionelle Tester
Personen aus der Zielgruppe
(Focus-Group)
ffentlicher Beta-Test (Incentives
fr Feedback)
Quelle: morae.com
Debugging
Fehler kategorisieren
Quelle: blogs.msdn.com
Seite 176
Lokalisierung
bersetzung von Texten in
andere Sprachen: Texte haben
unterschiedliche Lnge,
Datumsformate, Leserichtung
Kulturelle Anspielungen knnen
bei der bersetzung verloren
gehen (z.B. monkey fr
Schraubenschlssel)
Native Speaker fr Sprache
einsetzen
Lokale Lizenzen und
Rechtsprechung beachten
Computer Games Prof. Dr. R. Drner SS 16 V1
Game Demos
Einplanen nicht vergessen
Game Demo
soll Eindruck vermitteln (selbst
spielbar sein)
Lust auf das komplette Spiel
wecken
Seite 177
Abschlieende Evaluation
Ziel erreicht? Marktchancen?
Canceln?
Game Development
G.1 Development Team
G.2 Architekturen und Pattern
G.3 Aufgaben der Entwicklung
G.4 Software Engineering fr Games
G.5 Agile Entwicklung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 178
User-Centered
User getrieben
Fokus auf externe
Attribute (z.B. Look and
Feel)
Qualtittskriterien:
Usability und
User-Performanz
Lsungen folgen einem
Verstndnis des Kontexts
der Nutzung (User, Task,
Arbeitsumgebung)
User-Centered Design
iteratives Vorgehen:
Design
Refine
Test
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 179
User-Centered Design
Anforderungenim
Nutzungskontext
Planungdes
Gestaltungsprozesses
Erfllungder
Anforderungen
Evaluation
positiv
Analysedes
Nutzungskontextes
Evaluation
(insb.Nutzertests)
Evaluation
negativ:
Iteration
Spezifikationder
Anforderungen
Konzeption,Entwurfu.
Implementierung
Game Development
G.1 Development Team
G.2 Architekturen und Pattern
G.3 Aufgaben der Entwicklung
G.4 Software Engineering fr Games
G.5 Agile Entwicklung
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 180
V1 [361]
Motivation
Schwer vorhersagbar:
Wo liegen Probleme?
Wie lange dauert
Entwicklung?
Schwer alles zu
bedenken
Emerging Requirements
Kunden wissen nicht was
sie wollen
Anforderungen ndern sich
im Projekt
Computer Games Prof. Dr. R. Drner SS 16
V1 [362]
Seite 181
Motivation
Schwer vorhersagbar:
Wo liegen Probleme?
Wie lange dauert
Entwicklung?
Schwer alles zu
bedenken
Emerging Requirements
Kunden wissen nicht was
sie wollen
Anforderungen ndern sich
im Projekt
Computer Games Prof. Dr. R. Drner SS 16
V1 [363]
Motivation
Schwer vorhersagbar:
Wo liegen Probleme?
Wie lange dauert
Entwicklung?
Schwer alles zu
bedenken
Emerging Requirements
Kunden wissen nicht was
sie wollen
Anforderungen ndern sich
im Projekt
Computer Games Prof. Dr. R. Drner SS 16
V1 [364]
Seite 182
Verbesserungspotential
Hhere Produktivitt
Bessere Qualitt
Hhere Zufriedenheit in
Teams
Eingriff vom
Management
Fremdbestimmung
Hhere Flexibilitt
Computer Games Prof. Dr. R. Drner SS 16
V1 [365]
Idee
Arbeit in berschaubare
Stcke teilen
In jedem Arbeitsschritt
Team in Ruhe lassen
Fortschritt
nachvollziehbar,
hufigere
Erfolgserlebnisse
Selbstorganisation
Computer Games Prof. Dr. R. Drner SS 16
V1 [366]
Seite 183
SCRUM
SCRUM Begriff aus
dem Rugby
(dt. Gedrnge)
Name der SWEntwicklungsmethode
von Ken Schwaber
et.al. (1991)
Zentraler Begriff: Sprint
Computer Games Prof. Dr. R. Drner SS 16
V1 [367]
Sprint
Sprint Planning
Meeting
Sprint
Sprint
Sprint Review
Meeting
Sprint
Sprint
Sprint
1 bis 4 Wochen
V1 [368]
Seite 184
Sprint
Sprint Planning
Meeting
Sprint
Sprint Review
Meeting
voll
Sprint Backlog:
Sprint
Anforderungen,
die im Sprint
behandelt werden sollen
funktionierendes,Sprint
Sprint
Sprint
getestetes, auslieferungsfhiges
Produkt
1 bis 4 Wochen
!
V1 [369]
Backlogs
A1
A2
A4
A3
A5
Auswahl im
Sprint Planning
Meeting
A2
A5
A6
A6
Product Backlog:
Sammlung aller
Anforderungen
Kundenwnsche
to dos
Sprint Backlog:
Auswahl fr den Sprint aus
dem Product Backlog
V1 [370]
Seite 185
Meetings
beginnen absolut
pnktlich (typisch:
selber Ort, selbe Zeit)
sind time-boxed,
damit keine endlosen
Diskussionen
haben fest definierte
Themen
Computer Games Prof. Dr. R. Drner SS 16
V1 [371]
Meetings
Am Beginn des Sprints
Sprint Planning
Meeting
Betrachtung Product
Backlog, Aufstellen
Sprint Backlog (4h)
Identifikation
notwendiger Tasks,
Verteilung der Tasks
(4h)
Commitment
V1 [372]
Seite 186
Meetings
Tglich zu fester Zeit
whrend des Sprints (15 min)
Themen:
Daily Scrum
V1 [373]
Meetings
Am Ende des Sprints
(4h)
Sprint Review
Meeting
V1 [374]
Seite 187
Meetings
Am Ende des Sprints
(3h)
Jedes Teammitglied
reflektiert ber Sprint
Sprint Retrospective
Kontinuirliche
Verbesserung
Computer Games Prof. Dr. R. Drner SS 16
V1 [375]
Beteiligte
Pigs
committed
involved
Scrum-Master
Chicken
Kunde
Product Owner
Team
Manager
(7 10 Personen)
Computer Games Prof. Dr. R. Drner SS 16
Technical
Support
V1 [376]
Seite 188
Beteiligte
Kein Chef, kein
Projektmanager
Moderator
Kenntnisse von SCRUM
Einhaltung Regeln
Scrum-Master
Hindernisse frhzeitig
erkennen und Abhilfe
schaffen
V1 [377]
Beteiligte
Reprsentiert Kunden im
Team
Kundenkontakt
Ermittlung von
Anforderungen fr das
Product Backlog
Product Owner
Priorisierung der
Anforderungen, bewertet
Business Value
V1 [378]
Seite 189
Dokumente
Product Backlog
Erste Einschtzung ber die
Dauer der Tasks durch Team
Sprint Backlog
Herunterbrechen auf Tasks (4
16 h)
Team teilt Tasks selbst auf
Einzelne auf (Fertigkeiten,
Wichtigkeit)
Task Board
Liste der Tasks, geschtzte
Zeit, Zuordnung
Status: to do, in progress, done
V1 [379]
Burn-Down-Chart
ffentlich verfgbar
(Aushang, Web)
Zeigt an, was gem
Sprint Backlog noch zu
tun ist
Tgliches Update
Simpler berblick des
Fortschritts
Computer Games Prof. Dr. R. Drner SS 16
V1 [380]
Seite 190
Burn-Down-Chart
V1 [381]
Werkzeuge
Unterstzung von
SCRUM durch
Software Werkzeuge
Beispiel:
Agilo
http://www.agile42.com/
cms/pages/agilo/
Computer Games Prof. Dr. R. Drner SS 16
V1 [382]
Seite 191
Mehr Infos
Bjrn Jensen: Agilo for Scrum:
schlankes Werkzeug zur
Umsetzung von Scrum, online
verfgbar auf Heise Developer
Ken Schwaber: Scrum im
Unternehmen. Microsoft Press
Deutschland, 2008
Mike Cohn: Succeeding with
Agile: Software Development
Using Scrum, Addison-Wesley,
2009
http://www.implementingscrum
.com/
Computer Games Prof. Dr. R. Drner SS 16
V1 [383]
Teil H:
Game Engines und Tools
Seite 192
Werkzeuge
H.2
Game Engines
H.3
Beispiele
H.4
Entwicklungsumgebung
Seite 193
Produktionsprozess vorgeben
Werkzeuge spiegeln Produktionsprozess wider
Computer Games Prof. Dr. R. Drner SS 16 V1
Prinzipielle Kategorien
Turn-Key / COTS (Commercial of the
Shelf) Systeme
Idealvorstellung: Installieren und
loslegen
In-house Tools
Selbstentwickelte Werkzeuge
z.B. Level-Editor genau zu dem Spiel
passend
Hybride Tools
Individuelle Erweiterung / Ergnzung
von Turn-Key Systemen
Seite 194
Quelle: autodesk.com
Seite 195
MAXScript
Skriptsprache
UI-Scripting, Animation-Scripting,
Controller-Implementierung
Quelle: autodesk.com
Seite 196
Beispiel: Maya
Hersteller: Autodesk
(www.autodesk.com)
Nebenlufig mit 3ds Max
(historische Grnde:
Diskreet und Alias|Wavefront
von Autodesk aufgekauft)
Lizenzkosten 5000$
mental ray als leistungsstarker externer Renderer
mudbox fr Modellierung und
Sculpting
Quelle: autodesk.com
Beispiel: Maya
Seite 197
Beispiel: Maya
Beispiel: Maya
Maya API / SDK
Export und Import zu proprietren
Dateiformaten
Neue Funktionen zu Maya hinzufgen
Quelle: autodesk.com
Seite 198
Seite 199
Quelle: adobe.com
Flex
Open Source Framework
MXML als deskriptive Sprache fr UI
Layout
Actionscript: OOProgrammiersprache basierend auf
ECMAScript
Klassenbibliothek und Komponenten
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 200
Adobe AIR
Plattform-bergreifend
(z.B. Android, iOS,
Blackberry)
Standalone Anwendungen
(unabhngig von WebBrowser)
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 201
ZBrush
Sculpting Programm
Bearbeitung von 3D
Modellen mit Pinseln
Nicht nur Farbe, sondern
auch Tiefe
Werkzeuge
H.2
Game Engines
H.3
Beispiele
H.4
Entwicklungsumgebung
Seite 202
Nachteile
Einarbeitung
Lizenzkosten
hheres Risiko
Robustheit (mehrfacher
Einsatz, besser
ausgetestet)
Alleinstellungsmerkmal?
Alle Spiele sehen gleich
aus?
Seite 203
Devices /
Treiber /
Netzwerk
Audio
Engine
Timer
2D / 3D
Engine
Eventhandler
Game AI
User
Interface
Ressource
Manager
Physics
Engine
Client
Control
Data
Update
Simulation
GAME ENGINE
Game Data
Computer Games Prof. Dr. R. Drner SS 16
V1 [408]
Seite 204
Seite 205
Visueller Realismus
Physically-Based Shading
(modelliert Beleuchtung genauer
als Phong-Shading)
V1 [411]
Visueller Realismus
HDR
Lens Flares
Auswahl an Anti-Aliasing
Techniken (Trade-Off zwischen
Bildschrfe und Performanz)
V1 [412]
Seite 206
Visueller Realismus
V1 [413]
Visueller Realismus
Volumetrischer Nebel
Particle Shadows
Sub-Surface Scattering fr
realistische Hautdarstellung
Computer Games Prof. Dr. R. Drner SS 16
Quelle: crytek.com
V1 [414]
Seite 207
V1 [415]
Editoren
Engine wird begleitet von
Toolset
Aufgaben:
Import von Assets aus
Photoshop, Maya, 3DSMax
Resource Compiler (passt
Assets fr Plattform an)
Erzeugung der Szene inkl.
Verhaltensbeschreibung
Seite 208
Sandbox Editor
Editoren
V1 [418]
Seite 209
Physics
Simulation von Schwerkraft,
Reibung, Kollisionen etc.
Simulation der interaktiven
Deformation / Zerstrung von
Objekten
Rope Physics
Fahrphysik
Simulation von Pflanzen und
Wasser
Cloth Simulation
Computer Games Prof. Dr. R. Drner SS 16
Quelle: crytek.com
V1 [419]
Performanz
Diagnose Werkzeuge
Multi-Core Untersttzung
V1 [420]
Seite 210
Werkzeuge
H.2
Game Engines
H.3
Beispiele
H.4
Entwicklungsumgebung
Inhouse Engine
Alleinstellung (z.B.
eigenes Look-And-Feel)
keine Abhngigkeit von
externen Entwicklern
Source-Code
bestehender Game
Engines als Grundlage
Nutzung von Game
Engine SDKs oder Teile
einer Game Engine als
Library
Computer Games Prof. Dr. R. Drner SS 16
V1 [422]
Seite 211
CryEngine
crytek.com
Bsp.: Farcry, Ryse
C++, LUA
Android, iOS, Linux, PS3, PS4,
Wii, Windows, Xbox One
kostenlos bis V. 3.5.8
exzellente Grafik und
Echtzeitfhigkeit
Quelle: crytek.com
V1 [423]
C4
terathon.com
Bsp.: Wind of Luck, The 31st
C++
Linux, Mac, PS3, PS4,
Windows
Nutzung im akademischen
Umfeld
Quelle: terathon.com
V1 [424]
Seite 212
OGRE
ogre3d.org
Bsp.: Ankh, Torchlight
C++, C#, .NET, Java, Python
Android, iOS, Linux, Mac,
Windows, WinRT
Open Source
Objekt-Orientierte Architektur
V1 [425]
jMonkey
hub.jmonkeyengine.org
Bsp.: PirateHell
Groovy, Java
Android, Linux, Mac, Windows,
Web
Open Source komplett in Java
geschrieben
Modulares Framework mit
NetBeans
Computer Games Prof. Dr. R. Drner SS 16
V1 [426]
Seite 213
Unreal
epicgames.com
Bsp.: Unreal Tournament
C++, Blueprint
Android, iOS, Linux, Mac,
Windows, PS4, Web, Xbox
One
kostenlos, aber 5% Royalties
beliebt fr AAA-Titel, auch fr
Serious Games / Training
Computer Games Prof. Dr. R. Drner SS 16
V1 [427]
Havok Vision
havok.com
Bsp.: Stronghold 3, Settlers 7
C++, Lua
Android, iOS, Windows, PS3,
PS Vita, Xbox 360
fr mobile Gerte kostenlos
fr Spiele mit viel Simulation
(Anbindung an Havok Physik
und Havok AI)
Computer Games Prof. Dr. R. Drner SS 16
V1 [428]
Seite 214
Unity
unity3d.com
Bsp.: WolfQuest, Tiger Woods
Boo, C#, Javascript
Android, Blackberry, iOS,
Linux, Mac, Windows, PS3,
PS4, PS Mobile, PS Vita, Web,
Wii, Xbox
Mchtige Werkzeuge und
Editoren
V1 [429]
Seite 215
Unity Pro
Einbindung nativer
Bibliotheken (z.B. C++
Physik Engine)
Profiling
Audio und Video Support
Global Illumination
Echtzeit Schatten
Deferred Lighting
Post Processing Effects
Seite 216
Unity - Konzepte
Project
eine Unity Applikation
eigene Verzeichnisstruktur
SceneGraph
Jede Szene hat einen Szenengraph
Ordnet GameObjects hierarchisch
an
Transformationen wirken sich
entsprechend der Baumstruktur aus
GameObject
Container
Basisklasse aller Entities, d.h. aller
fr das Spiel relevanter Objekte
V1 [433]
Unity - Konzepte
Components
Bausteine fr GameObjects
Beispiele: Transform, Animation, Audio
Prefabs
Vorlage fr das Klonen eines
GameObjects
Solange Verbindung zur Vorlage erhalten
bleibt, wirken sich nachtrgliche
nderungen der Vorlage aus
Scripting
Beschreibung des Verhaltens von
GameObjects, die ber die
Basisfunktionen der Components
hinausgehen
Reaktion auf Events (z.B. Usereingaben)
C# (hnlich Java), JavaScript /
UnityScript, Boo (hnlich Python)
Basisklasse MonoBehaviour mit den
Methoden Start und Update
Computer Games Prof. Dr. R. Drner SS 16
V1 [434]
Seite 217
Unity - Konzepte
Koroutinen
Fhigkeit eines Skripts zu pausieren
und fortzusetzen (z.B. auch ber
mehrere Frames hinweg) und hlt
aufrufende Funktion nicht auf
Methoden StartCoroutine,
StopCoroutine
Schlsselwort yield zum Pausieren,
z.B. yield WaitForSeconds(10) oder
yield WaitForEndOfFrame
Assets
Importer fr verschiedene
Datenformate / Werkzeuge verfgbar
AssetStore (z.B. Texturen, aber auch
Prefabs, GUI-Toolkits oder GameAIVerfahren)
Computer Games Prof. Dr. R. Drner SS 16
V1 [435]
V1 [436]
Seite 218
Ressourcen zu Unity
www.unity3d.com
forum.unity3d.com
www.unifycommunity.com/w
iki
answers.unity3d.com
Aktive Community, Tutorials
erhltlich, z.B.
http://www.digitaltutors.com/
11/training.php?pid=572
Tutorials auch direkt auf der
Homepage von Unity
Werkzeuge
H.2
Game Engines
H.3
Beispiele
H.4
Entwicklungsumgebung
Seite 219
Softwareliste
Entwicklungsumgebung
(z.B. Visual C++)
Error-Checker (z.B.
BoundsChecker, Purify)
Version-ControlSoftware (z.B.
SourceSafe, CVS)
Office-Tools
3D Modeler (z.B.
3DSMax, Blender)
2D Zeichensoftware
(z.B. Photoshop,
CorelDraw)
Software fr
Projektmanagement
(z.B. MS Project)
Seite 220
Konvertierungstools
Unzahl von Formaten
Computer Games Prof. Dr. R. Drner SS 16 V1
Autorenumgebung fr Games
Modellierung
Animation
Verhaltensbeschreibung
Game-Engine Front-End
Level-Editor
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 221
Beispiel: Virtools
Hersteller: www.3dvia.com
Produktionsprozessmodell mit
Projektmanagement
Grafische Programmierung
Subtools:
Hierarchy Manager
Shader Editor
Path Manager
Profiler
Action Manager
Attribute Manager
...
Computer Games Prof. Dr. R. Drner SS 16 V1
Beispiel: Virtools
Virtools GUI
Seite 222
Beispiel: Virtools
Visuelles
Programmieren
in Virtools
Beispiel: Virtools
Skripting in
Virtools z.B.
fr ShaderProgrammierung
Seite 223
Beispiel: Virtools
Schreiben eigener
Plug-Ins in C++
Beispiel: Virtools
Untersttzung von
Management und
Testen
Seite 224
Beispiel: Virtools
Untersttzung von
Management und
Testen
Beispiel: Virtools
Vorsicht:
Wer hat hier die Rechte?
Sind Royalties fr die
Produkte fllig?
Seite 225
Beispiel: Blender
Beispiel: Blender
Geschichte
Niederlndische Firma NaN
ging pleite
Blender Foundation kaufte
Source Code auf, seitdem
offenes Entwicklungsprojekt
Zusatzinfos unter:
www.blender3d.org
(Homepage)
www.blender.org
(Developer-Site)
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 226
Beispiel: Blender
Features:
sehr viele, u.a. fr
3D Modellierung
Animation
Rendering (incl. Raytracing u.
Radiosity)
Post-Production
Erstellung interaktiver 3D Welten
Playback
Plattformen:
Windows, Linux, Irix, Solaris,
FreeBSD, Mac OS
Programmiersprachen: C, C++,
Python
Beispiel: Blender-Toolbox
Aktivieren mit
Space - Taste
Computer Games Prof. Dr. R. Drner SS 16 V1
Seite 227
Game-Engine in Blender
Sensor:
Keyboard,
Mouse, Touch,
Collision,
Message,
Controller:
AND, OR,
Expression,
Python,
Action
Motion, Visibility,
Camera, Random,
Message, Scene,
Quest3D
Hersteller: Act-3D,
www.quest3d.com
VR Edition mit Anbindung
verschiedener VR Devices
Integration einer Physik
Engine
Graphischer Editor, direkte
Ausfhrung
R. Drner
Seite 228
R. Drner
Quest3D
R. Drner
Quest3D
Seite 229
Teil J:
Zusammenfassung
Zusammenfassung
A. Einfhrung
B. Computer Animation
C. Echtzeit und Realismus
D. Hardware Shading
E. Game Design
F. Design Dokumente
G. Game Development
H. Game Engines und Tools
I.
V1 [460]
Seite 230