Child pages
  • Runner's Rampage
Skip to end of metadata
Go to start of metadata


„Nur wo du zu Fuß warst, bist du wirklich gewesen.“ (Goethe)


Inhaltsverzeichnis



Das Team


TeammitgliedMatrikelnummerAufgabenbereich

Yannic Kühn

2382131Konzept, Coding
2380225Konzept, Coding, Art Design, 3D Modeling
Justus Boos2388000Konzept, Coding, Multiplayer
Tom Kalberg2382485Konzept, Level und Art Design, Dokumentation



Kurzbeschreibung


Runner's Rampage ist ein Jump ’n’ Run Partyspiel, bei dem 2-8 Spieler um die Wette laufen und sich währenddessen mit Items bzw. Powerups bekriegen. Wer zuerst das Ziel erreicht oder als letzter Spieler überlebt, gewinnt die Runde.



Walkthrough-Video



Download


Download-Link folgt, sobald eine spielbare Version des Spiels existiert.



Erste Ideen


Beim ersten Brainstorming kristallisierte sich schnell heraus, dass wir alle gerne ein Spiel mit Online-Multiplayer kreieren möchten, da wir zum einen bisher nur wenig Erfahrung mit diesem Thema und den dazugehörigen Komponenten wie etwa Netcode, Serverinfrastruktur oder API sammeln konnten, zum anderen macht die aktuelle COVID-19-Situation es nicht gerade einfach, ein Spiel mit lokalem Multiplayer effektiv gemeinsam zu testen.

Das Spiel soll am Ende ein Jump ’n’ Run Partyspiel werden, bei dem 2-8 Spieler um die Wette laufen und sich währenddessen mit Items bzw. Powerups bekriegen. Wer zuerst das Ziel erreicht oder als letzter Spieler überlebt, gewinnt die Runde. Bei der Konzeptionierung haben wir uns hierbei von den beiden Spielen Mario Kart und Speedrunners inspirieren lassen.

Bei den Überlegungen bezüglich des Game Designs stand zuerst die Idee im Raum, das Spiel auf einer 2D-Basis zu erstellen. Somit könne man sich beim Design einer der drei Achsen gänzlich sparen und wäre bei der Erstellung von Assets auf Sprites statt Polygonen angewiesen. Unity hat hierfür sogar einen eigenen 2D-Modus, der das Programmieren auf zweidimensionaler Ebene vereinfacht.  Diese Idee haben wir jedoch letzendlich verworfen, da wir unsere bereits gesammelten Erfahrungen mit Unity 3D und der Erstellung und Animation von 3D-Assets mit Blender anwenden möchten. Die Entscheidung fiel also auf 3D-Grafik mit Low-Poly Assets, um den Gesamtaufwand im Rahmen zu halten und Teile der Assets selber erstellen zu können, ohne auf viele Assetpakete angewiesen zu sein.


Mario KartMario KartSpeedrunnersSpeedrunners



Ziele


In der folgenden Tabelle sind unsere geplanten Ziele in Form von Spielelementen aufgelistet und in "Must Have" bzw. "Nice To Have" unterteilt sowie mit der jeweiligen Priorität quantifiziert.

Prio (0-10)Must HaveNice To Have
8

IN ARBEIT 2 x vollständige Level

GEPLANT > 2 Level

6

IN ARBEIT Items bzw. Powerups

GEPLANT Fähigkeiten

9

IN ARBEIT Kamera


6

GEPLANT Score bzw. Highscore-System


5

GEPLANT Sounds


10

IN ARBEIT 2-4 Spieler

GEPLANT > 4 Spieler

6

IN ARBEIT Hauptmenü / Multiplayer-Lobby


6

GEPLANT Start-Screen


6

GEPLANT Game-Over-Screen


6

GEPLANT Einstellungen bzw. Settings


9

IN ARBEIT Movement: Laufen

IN ARBEIT Movement: Slide bzw. Dash

9

IN ARBEIT Movement: Jump

IN ARBEIT Movement: Wall Jump

9

IN ARBEIT Movement: Double Jump


9

IN ARBEIT Animationen


5

IN ARBEIT Controller-Implementierung


7

GEPLANT Gameplay-Effekte

GEPLANT Environment-Effekte



Das Spielprinzip


Wird zum Ende der Entwicklung formuliert, wenn sich das Spiel in einem spielbaren Zustand befindet und ein Großteil der primären Ziele erfüllt ist.



Umsetzung / Devblog

  • Projekt in Unity erstellt und mit Hilfe von Collaborate für alle Gruppenmitglieder verfügbar gemacht
  • Basic Movement mit RigidBody funktioniert
  • Experimente RigidBody vs. CharacterController
  • Rudimentäres Testlevel zum Testing des Movements erstellt
  • Recherche und Tests mit verschiedenen Spiral Meshes
  • Erstes Low-Poly Charaktermodell in Blender erstellt und nach Unity exportiert
  • Erste Animationen (laufen, springen, rutschen) in Blender erstellt und nach Unity exportiert
  • MLAPI (Unity Multiplayer API) in Unity Projekt integriert
  • Photon Realtime Networking implementiert
  • Erste Multiplayer-Tests mit mehreren Spielern
  • Multiplayer-Lobby mit mehreren Räumen implementiert
  • Animation over Network implementiert
  • Erstes UI-Design für Hauptmenü und Lobby
  • Charakterauswahl implementiert
  • Mehrere Multiplayer-Funktionstest
  • Recherche nach passenden Assetpacks und anschließendes Testing
  • Implementierung von ausgesuchten Assetpacks
  • Konzeptionierung, Design und Erstellen des ersten Levels
  • Umstieg von CharacterController auf RigidBody
  • Erweiterung des RigidBody Movement-Scripts, Implementierung eines "Dashes"
  • Weitere Low-Poly Charaktermodelle in Blender erstellt und nach Unity exportiert
  • Erste Low-Poly Itemmodelle (z.B. Rocket Launcher) in Blender erstellt und nach Unity exportiert
  • Weitere Experimente mit RigidBody Movement
  • Erstellen eines zweiten Levels
  • Finetuning des RigidBody Movements


Lobby


Screenshots


Wird später mit vorzeigbaren Screenshots gefüllt, wenn sich das Spiel in einem spielbaren Zustand befindet und ein Großteil der primären Ziele erfüllt ist.



Zeitaufwand/Stundenrechnung


Wird aktuell in einer separaten Excelliste gepflegt und zu einem späteren Zeitpunkt in das Wiki übertragen.



Fazit


Wird gegen Ende der Projektarbeit ausformuliert.




  • No labels