„ROCKET LAWNCHAIR!“ (Metal Slug 2)
Inhaltsverzeichnis
Das Team
Teammitglied | Matrikelnummer | Aufgabenbereich |
---|---|---|
2382131 | Konzept, Coding | |
2380225 | Konzept, Coding, Art Design, 3D Modeling | |
Justus Boos | 2388000 | Konzept, Coding, Multiplayer |
Tom Kalberg | 2382485 | Konzept, Level-, Art & Sound-Design, Dokumentation |
Kurzbeschreibung
Runner's Rampage ist ein Partyspiel, bei dem sich 2-4 Spieler in einem Arena-ähnlichen Level mit Raketenwerfern bekämpfen. Last Man Standing - der letzte Überlebende gewinnt!
Walkthrough-Video
Das Spielprinzip
Nach dem Spielstart hat der Spieler im Hauptmenü/Startscreen die Möglichkeit, seinen Spielernamen zu ändern, einen öffentlichen oder privaten Raum zu erstellen, bereits erstellte Räume zu suchen oder einem Raum beizutreten. Sobald man sich in einem Raum befindet, hat man die Auswahl zwischen vier Charakteren: Blau, Grün, Schwarz und Rot. Wenn alle Spieler ihre Charakter ausgewählt haben, wird das Spiel gestartet und alle Spieler werden in dem Arenalevel gespawnt.
Nun gilt es, schnell zu reagieren! In der Arena sind mehrere Item-Pickups verteilt, hinter denen sich ein Raketenwerfer verbirgt. Mit Hilfe des Raketenwerfers kann man andere Spieler schnell und effektiv aus dem Level befördern - aber: Die Munition ist mit einem Schuss knapp bemessen, daher muss dieser besonders gut sitzen! Die Spieler haben außerdem die Möglichkeit, sich mit Hilfe von Jumps, Dashes und Slides aus dem Staub zu machen und den Raketen auszuweichen. Wer den Raketenwerfer einsammelt, hat daher nur theoretisch die Oberhand - denn auch dieser spawnt nach einer gewissen Zeit erneut. Jeder Spieler hat außerdem drei Lebenspunkte in Form von Herzen - man verliert einen Lebenspunkt, wenn man von einer Rakete getroffen wird oder aus der Arena fällt. Ein chaotisches Katz- und Maus-Spiel, bei dem nur der letzte Überlebende gewinnt!
Download
Screenshots
Erste Ideen & Konzept
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. Außerdem sind Offline-Multiplayerspiele eine aussterbene Art - heutzutage ein Multiplayerspiel ohne Onlinekomponente zu veröffentlichen, ist weder zeitgemäß noch besonders klug, gerade wenn man sein Produkt am Ende vielleicht sogar einmal vermarkten möchte.
Nach dem die Genre-Ideen, die von jedem aus der Gruppe in die Runde geworfen wurden, in mehreren (teilweise hitzigen) Diskussion abgewogen wurden, kamen wir letztendlich auf einen ersten gemeinsamen Nenner: Das Spiel sollte am Ende ein Jump ’n’ Run Partyspiel werden, bei dem mehrere Spieler um die Wette laufen und sich währenddessen mit Items bzw. Powerups bekämpfen. Wer zuerst das Ziel erreicht oder als letzter Spieler überlebt, gewinnt die Runde. Bei der Konzeptionierung haben wir uns hierbei von Spieletiteln wie z.B. Mario Kart, Mashed und vor allem 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 Polygone 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 zu stark auf Assetpakete angewiesen zu sein.
Herausforderungen
Ziele
In der folgenden Tabelle sind unsere ursprünglich geplanten Ziele in Form von Spielelementen aufgelistet und in "Must Have" bzw. "Nice To Have" unterteilt sowie mit der jeweiligen Priorität quantifiziert. Außerdem wurden der Status farblich markiert, sodass direkt ersichtlich ist, welche Ziele erreicht wurden und welche nicht.
Prio (0-10) | Must Have | Nice To Have |
---|---|---|
8 | FERTIG Ein vollständiges Level | FEHLT Zwei oder mehr Level |
6 | FERTIG Items bzw. Powerups | FEHLT Fähigkeiten |
9 | FERTIG Kamera | |
6 | FEHLT Score bzw. Highscore-System | |
5 | IN ARBEIT Sounds & Musik | |
10 | FERTIG 2-4 Spieler | ABGELEHNT > 4 Spieler |
6 | FERTIG Hauptmenü / Multiplayer-Lobby | |
6 | FERTIG Start-Screen | |
6 | IN ARBEIT Game-Over-Screen | |
6 | FEHLT Einstellungen bzw. Settings | |
9 | FERTIG Movement: Laufen | FERTIG Movement: Slide bzw. Dash |
9 | FERTIG Movement: Jump | ABGELEHNT Movement: Wall Jump |
9 | ABGELEHNT Movement: Double Jump | |
9 | FERTIG Animationen | |
5 | FEHLT Controller-Implementierung | |
7 | IN ARBEIT Gameplay-Effekte | FEHLT Environment-Effekte |
Zeitaufwand/Stundenrechnung
Lessons Learned
Tools
Im Folgenden noch eine vollständige Auflistung der verwendeten Tools, Unity-Plugins und Assets:
- Unity Version 2020.3.8f1 mit DX11 und HDRP (High Definition Render Pipeline)
- Unity Collab
- Plastic SCM
- Blender
- Audacity
- Discord
- ShareX
- Handbrake
- Instagiffer
- Microsoft Excel