Game Development 1 Flashcards
Aus welchen 5 Komponenten besteht eine Game Engine?
System, Window, Grafiken, Audio, Netzwerk
Wie könnte die Initialisierung eines Games aussehen?
System überprüfen (genug Speicherplatz, Input, mehrere Instanzen…)
Init Logger
Fenster erstellen und Grafikgerät einrichten
Game Subsysteme einrichten
Ressourcen laden
Gameplay starten
Was ist wichtig zu beachten beim Game Shutdown?
Game Systeme sollten in umgekehrter Reihenfolge abgebaut werden, wie sie erzeugt worden sind
Exit(0) sollte nicht einfach so verwendet werden, weil das richtige Abbauen von Game Ressourcen ein Anzeichen von clean code ist und, dass der Speicher richtig freigegeben worden ist
Wie werden Game States am besten gehandled?
Es gibt eine zentralen Game State Manager, der sich um das Handling von States kümmert. Ebenso kommt es zum Einsatz vom State Design Pattern (ConcreteStates erben vom State und erben die handle Methode) - der GameStateManager nimmt einen String bei SetState entgegen und kümmert sich dann um das richtige Setzen vom State.
Was ist ein Game Object?
Eine Entität in der Spielwelt
Was ist ein hierarchisches Game Object?
Bei einem hierarchischen Game Object erben einzelne Game Objects von der Game Object Klasse und stellen somit neue einzigartige Game Objects dar - hierbei kann es allerdings zum Problem kommen, dass eine neues Game Object (zum Beispiel Mechtank) sowohl von Character als auch Vehicle erbt, wodurch es zu einem Diamond of Death kommt
Was ist ein komponenten-basiertes Game Object?
Ein komponenten-basiertes Game Object ist ein Container für Komponenten, wobei jede Komponente ihre eigene Funktionalität enthält - somit können Game Objects sich einfach bilden, indem verschiedene Komponenten ineinander gestöpselt werden
Wie kommunizieren Komponenten miteinander? Wann sollte welche Kommunikation verwendet werden?
1) Modifizierung von Container Objekt - Transformation
2) Komponente referenzieren sich gegenseitig (tightes coupling) - Animation + Rendering
3) Nachrichten senden - Play Sound, Trigger on collision
Was sind Kontroller Dead Zones?
Zonen bei Kontrollern, die während dem Spiele keine Wirkung haben sollen - Tile-basiertes Bewegen sollte nur 4 Richtungen beim Joystick erlauben, oder kleine Bewegungswerte sollten beim Shooter ignoriert werden
Welche Game Input Methoden gibt es?
Knopf, 1-Axis-Kontroller (Lenkrad), 2-Axis-Kontroller (Joystick, Maus), Motion Kontroller (Wii Remote), Motion Tracking (Playstatino Camera)
Woraus bestehen Motion Controller, um die Bewegung zu messen?
Accelerometer - misst die Beschleunigung
Gyroscope - misst die Rotation und Orientation vom Controller
Welche Herausforderungen treten beim Motion Tracking auf?
Genaue Erkennung von Bewegung (Bewegungs-“noise” macht genaue Erkennung schwer)
Latenz (Player-Prediction hilft)
Synchronisation der Animation (Animation und Spielerbewegung sollen gleich aussehen)
Falsche Fehler (System denkt, Spieler hat Move falsch gemacht, obwohl dieser richtig war - der Spieler hat immer recht)
Welche Arten gibt es Input zu messen?
Über einen Input Manager mithilfe von Polling (konstantes Checken, ob Input betätigt worden ist - Player Controls) oder Callbacks (werden ausgeführt, wenn der Status vom Input Device sich verändert hat - User Interface)
Wie sieht eine Translations-Matrix aus?
1 0 0 t.x
0 1 0 t.y
0 0 1 t.z
0 0 0 1
Wie sieht eine Scale-Matrix aus?
s.x 0 0 0
0 s.y 0 0
0 0 s.z 0
0 0 0 1