Game Development Basics Flashcards

1
Q

Was sind die 7 Stages von Game Development?

A

Planning, Pre-Production, Production, Testing, Pre-launch, Launch, Post-Production

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie kann man die Komplexität einer Game Engine Architektur reduzieren?

A

Divide and Conquer
Viele Subsysteme und Layer um ein großes komplexes System zu erstellen (Leichter zum Testen, Debuggen und Wiederverwenden)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Benenne alle Schichten einer Game Engine Architektur.

A

System, 3rd Party SDK, Support Layer, Engine Subsysteme, Applikation, Gameplay

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wofür ist der System Layer bei einer Game Engine zuständig?

A

Für das Betriebssystem, Hardware, Treiber am PC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wofür ist der 3rd Party SDK Layer bei einer Game Engine zuständig?

A

Enthält Libraries:

Box2D - Physics Library
FMod - Audio Library
SFML - Media Library

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wofür ist der Support Layer bei einer Game Engine zuständig?

A

Enthält Debugging Tools, Abstrakte Betriebssysteme (Input, Threads, FileSystem…) und Utility Funktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wofür ist der Engine Subsystems Layer bei einer Game Engine zuständig?

A

GUI, Renderer, Physics, AI…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wofür ist der Applikation Layer bei einer Game Engine zuständig?

A

Input lesen, Init, Main Loop des Spiels, Shutdown, Ressourcen - enthält auch die Game Logik

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wofür ist der Gameplay Layer bei einer Game Engine zuständig?

A

Gameplay, Levels, Entities, GameObjects… –> das was Spieler sehen (Game View)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie sieht eine Simple Game Loop aus?

A

Init

Player Input
Game Logik
Rendering

Shutdown

(2 - 4 loopt)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie sieht eine Multithreaded Game Loop aus?

A

Init

Player Input | Rendering
Game Logik | Rendering

Shutdown

(Die Mitte loopt parallel und nicht mehr sequentiell)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

In welcher Reihenfolge wird das Spiel normalerweise gerendered?

A

2D / 3D Szene
UI
Debug-Draw / Gizmos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ist eine Translation linear?

A

Nein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind affine Transformationen?

A

Eine Kombination aus linearen Transformationen und einer Translation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wofür sind affine Transformationen wichtig?

A

Um Geometrie zu transformieren und zu verändern (da nur die vertex-Positionen verändert werden müssen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist die richtige Reihenfolge bei Transformationen?

A

RST - Rotation, Scale, Translation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was sind homogene Koordinaten?

A

Wenn man bei einer Matrixmultiplikation eine Reihe und Spalte dazumacht, verändert sich das Resultat der Berechnung nicht - mit der hinzugefügten Zeile kann man eine Translation beschreiben

18
Q

Was ist der Unterschied zwischen einem Positions- und einem Richtungsvektor?

A

Ein Positionsvektor wird beeinflusst von einer Translation, ein Richtungsvektor allerdings nicht
Der Unterschied liegt darin, ob w = 1 (Positionsvektor) oder w = 0 (Richtungsvektor) ist

19
Q

Wie bringt man Vertices vom Objektspace in den Screen Space?

A

Object Space –> Model Matrix –> World Space
World Space –> View Matrix –> Camera Space
Camera Space –> Projection Matrix –> Screen Space

20
Q

Wie werden UV-Koordinaten bei Texturen gelesen? Wo befindet sich der Punkt [1, 1]?

A

UV-Koordinaten beginnen im oberen linken Eck der Textur und wachsen nach unten rechts hin –> [1,1] ist also das untere rechte Eck.

21
Q

Wofür steht MVP?

A

Model-View-Projectionmatrix

22
Q

Was sind Mipmaps?

A

Mipmaps sind vorkalkulierte Reihen von Bildern, wo jedes Level die Auflösung halbiert - man kann sich diese wie bei einer umgedrehten Pyramide vorstellen - man verwendet Mipmaps um hochauflösende Texturen nicht in der Ferne verwenden zu müssen, da diese dort eh nicht sichtbar sind.

23
Q

Wie sieht eine Simple Render Pipeline aus?

A

Vertex –> Vertex Shader –> Primitive Assembly –> Rasterisierung –> Fragment Shader –> Tiefentest (Depth Test) –> Color Buffer Blend –> Frame Buffer

24
Q

Was ist ein Texel?

A

Texel = Texture Pixel - Texturen werden als ein Array von Texeln in die CPU geladen

25
Welche Faktoren tragen zu gutem Memory Management bei Runtime bei?
Keine Heap-Allokationen im Game Loop Garbage Collection vermeiden im Game Loop Alle Ressourcen ins Game reinladen, bevor das Game überhaupt geladen hat Alle Objekte Instanziieren, bevor der Gameloop gestartet hat Objekt-Pooling verwenden
26
Was ist ein Singleton?
Ein Software-Design Pattern, bei dem von einer Klasse garantiert wird, dass diese nur eine Instanz hat und auf diese global Zugegriffen werden kann - findet oft Verwendung bei Manager Klassen Ein privater Konstruktor wird benötigt, damit nicht mehrere Instanzen dieser Klasse entstehen können
27
Was sind Cel Animationen?
= Sprite Animationen Man rendered von einem großen Spritesheet einzelne Bereiche, damit diese aussehen wie eine Animation.
28
Was sind Vorteile von Sprite Sheets?
Kompaktes und effizientes Speichern von Daten Mehrere Animationen in einem Spritesheet möglich
29
Was sind die Ziele von Animationen?
Timing Slow In / Slow Out (Beschleunigung bei Animationen) Arcs (Dinge im echten Leben bewegen sich in Arcs) Follow-Through und Overlapping Actions
30
Was sind Nachteile von Sprite Animationen?
Sprite Sheets können sehr schnell riesige Blöcke an Data werden Framen können nicht interpoliert werden Keine smoothen Übergänge von einen Animation State in den anderen
31
Vergleiche Frame (Sprite) Animationen mit 2D Skelett-Animationen!
Implementierung: Simple vs. Komplex Performance: Sehr schnell vs. schnell Data: Sehr viel vs. wenig Produktion: Einfach vs. benötigt mehr setup Smoothness: Limitiert zum Frame-Count vs. Smooth Animationsübergänge: Hard vs. Smooth Charakter Variation: Schwierig vs. Flexibel Animationsanhänge: Keine vs. Objekte können an Bones attached werden
32
Welche UI Komponenten Klassen gibt es? Beschreibe diese.
Non-Diegetic - Außerhalb vom Spiel (Stats, Zeit) Diegetic - Innerhalb und Teil vom Spiel (Geschwindigkeitsanzeige in Auto) Spatial - Nicht in der Spielstory, aber in der Spielwelt (Selection Auras, Texte, Pointer) Meta - In der Spielstory, aber nicht in der Spielwelt (Filter, Schmutz am Bildschirm)
33
Was ist Lokalisierung? Wie wird diese standardmäßig implementiert?
Lokalisierung ist der Prozess, wo man ein Spiel (oder Software allgemein) für verschiedene Sprachen zur Verfügung stellt. Implementierung: Alle UI-Strings in einem strukturierten Format abspeichern Token für dynamische Dialoge verwenden Während der Laufzeit dann nur den richtigen String-Container auswählen (Sprache), auf die zugegriffen werden soll
34
Was ist Ludologie?
Ist die Studie von Spielen, der Akt diese zu spielen und die Spieler und Kulturen um diese herum
35
Was ist ein iterativer Game Design Prozess?
Design-Entscheidungen werden durch das Spielen des Prototypen getroffen, während das Spiel in Entwicklung ist - es ist ein spiel-basierter Designprozess
36
Was sind die 4 Grundlagen eines Spiels?
Mechaniken, Story, Ästhetik und Technologie (ob Keyboard oder Maus, oder Papier und Zettel...)
37
Was ist Flow?
Flow ist der Zustand, indem eine "komplette Immersion in einer Aktivität" herrscht
38
Was ist Presence and Immersion?
Immersive Spielen sind Spiele, die die Spieler in eine Alternativwelt befördern - sie leben sich in diese Welt ein Presence hingegen ist sehr ähnlich definiert, allerdings ist dies das Gefühl, dass man im Spiel existiert
39
Was ist Engagement?
Engagement ist das Commitment, was ein Spieler bei einer Aktivität hat - Spieler die sehr viel Engagement bei einer Aktivität aufweisen, nehmen die Außenwelt weniger wahr
40
Welche Faktoren beeinflussen Spieler Engagement am meisten?
Objectives, Challenge, Reward
41
Was ist Gamification?
Systeme und Software so aufzubereiten, dass sie "spielerisch" sind