Gameprojekt: Pac-Man – Prototyp Game Engine Architecture vorgetragen von: Manuel Kaiser Igor Marijanovic Beuth Hochschule für Technik WS2012/13
Levelaufbau Datenrepräsentation der Level Zweidimensionales Int-Array Int-Werte korrespondieren mit einem Objekt am jeweiligen Ort: Pacman, Geister, Wand, Pellet, usw.. Standardlevel orientiert sich am Level des Original-Spiels Automatischer, scriptgesteuerter Levelaufbau Umrechnung Array-Indexwerte zu Spielfeldpositionen (x,y,z) Beispiellevel var level = [[1,1,1,1,1] [1,0,2,0,1], [1,0,1,0,1], [1,0,3,0,1], [1,1,1,1,1]];
Steuerung Bewegung Pac-Man Basis: GridMove (verbreitetes Bewegungs-Script) Bewegung auf festem 2D-Gitter Erweitert um Kollisionserkennung Bewegung NPCs Eigenimplementierung Prüfungen an jedem Gitterpunkt Mögliche Richtungen Aktuelle Ausrichtung Kontextabhängige Reaktionen Kreuzung, Strecke, Ecke NPCs erhöhen Geschwindigkeit bei Sicht auf Spieler
Kollisionserkennung GameObjects mit Tags z.B. PacMan, Ghost, Pellet, etc. Kollisionserkennung über Trigger Reaktion abhängig vom Tag bzw. entsprechendem Objekt OnTrigger statt OnCollision Bewegung von PacMan nicht über Physikengine
ToDo Geplante Erweiterungen Visuelle Ausarbeitung Spielgeräusche Feinheiten Spielmechanik Titelsequenz nice to have-Erweiterungen Zufälliger Levelaufbau Weitere Multiplayermodi Kameraauswahl
Schwierigkeiten Synchronisation im Multiplayer Abgleich des Spielzustandes Zerstörung/Instanziierung von GameObjects Punktzahl Steuerung Bogenmaß bei transformation.rotation.y
*** GAME OVER *** Vielen Dank für Ihre Aufmerksamkeit!