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
Q

Welche Faktoren tragen zu gutem Memory Management bei Runtime bei?

A

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
Q

Was ist ein Singleton?

A

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
Q

Was sind Cel Animationen?

A

= Sprite Animationen
Man rendered von einem großen Spritesheet einzelne Bereiche, damit diese aussehen wie eine Animation.

28
Q

Was sind Vorteile von Sprite Sheets?

A

Kompaktes und effizientes Speichern von Daten
Mehrere Animationen in einem Spritesheet möglich

29
Q

Was sind die Ziele von Animationen?

A

Timing
Slow In / Slow Out (Beschleunigung bei Animationen)
Arcs (Dinge im echten Leben bewegen sich in Arcs)
Follow-Through und Overlapping Actions

30
Q

Was sind Nachteile von Sprite Animationen?

A

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
Q

Vergleiche Frame (Sprite) Animationen mit 2D Skelett-Animationen!

A

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
Q

Welche UI Komponenten Klassen gibt es? Beschreibe diese.

A

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
Q

Was ist Lokalisierung? Wie wird diese standardmäßig implementiert?

A

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
Q

Was ist Ludologie?

A

Ist die Studie von Spielen, der Akt diese zu spielen und die Spieler und Kulturen um diese herum

35
Q

Was ist ein iterativer Game Design Prozess?

A

Design-Entscheidungen werden durch das Spielen des Prototypen getroffen, während das Spiel in Entwicklung ist - es ist ein spiel-basierter Designprozess

36
Q

Was sind die 4 Grundlagen eines Spiels?

A

Mechaniken, Story, Ästhetik und Technologie (ob Keyboard oder Maus, oder Papier und Zettel…)

37
Q

Was ist Flow?

A

Flow ist der Zustand, indem eine “komplette Immersion in einer Aktivität” herrscht

38
Q

Was ist Presence and Immersion?

A

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
Q

Was ist Engagement?

A

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
Q

Welche Faktoren beeinflussen Spieler Engagement am meisten?

A

Objectives, Challenge, Reward

41
Q

Was ist Gamification?

A

Systeme und Software so aufzubereiten, dass sie “spielerisch” sind