„Pillowheads – It’s Party Time” – Making-of

„Pillowheads – It’s Party Time” ist ein Action Party Game für drei bis vier Spieler. Als Engine wurde Unity 3D genutzt und die Target-Plattform ist der PC mit ­Controller-Unterstützung. Das Projekt wurde von fünf Personen innerhalb von acht Projektwochen entwickelt. Es handelte sich um eine Projektarbeit, die Teil der Ausbildung an der Games Academy – Campus Frankfurt am Main ist. Das Team bestand aus einem Programmierer, zwei Artists, einem Game Designer und einem Producer.

Vier Spieler befinden sich in einer Arena und spielen jeder gegen jeden in einem ultimativen Showdown. Ziel des Spiels ist es, alle anderen Kontrahenten zu besiegen, um der letzte Überlebende zu sein: auch bekannt als „Last Man Standing“. Nachdem man als Spieler besiegt wurde, hat man die Gelegenheit, mit drei sogenannten Sabotagemechaniken das Spiel, von außerhalb der Arena, zu beeinflussen. Wenn es einem Spieler gelingt, einen Gegner von außerhalb zu besiegen, wird dieser wieder in der Arena gespawnt und kann erneut um den Sieg mitspielen. Das Regelwerk ist angelehnt an Völkerball. Vor Beginn des Spiels hat jeder Spieler noch die Möglichkeit, seinen Charakter namens Pillowhead zu individualisieren. Jeder kann zwischen zwei verschiedenen Fahrzeugen sowie vier verschiedenen Kostümen wählen, bei denen sich der Kopf und der Körper getrennt voneinander zusammenstellen lassen.

Customization Screen
Customization Screen

Wir hatten von Anfang an sehr ambitionierte Ziele mit diesem Projekt. Wir wollten es schaffen, in der vorgegebenen Zeit von acht Wochen einen gepolishten Vertical Slice zu entwickeln, dem es dann nur noch an Content fehlen würde, um es theoretisch zu veröffentlichen. Das Spiel sollte zugänglich sein sowohl für erfahrene Spieler als auch für Nicht-Spieler. Zudem wollten wir alle Altersgruppen begeistern und die Zuschauer unterhalten. Während der Entwicklung legten wir besonders viel Wert auf die folgenden Komponenten:

Keep It Simple

Da wir ein Partyspiel für die ganze Familie entwickeln und eine möglichst große Zielgruppe ansprechen wollten, war es uns sehr wichtig, dass man unser Spiel auch dann lernen kann, wenn man sonst kaum bis gar keine Berührungspunkte mit Videospielen hat. Schließlich möchte man das Spiel am Ende mit seinen Freunden und der Familie spielen, und jeder soll die Möglichkeit haben, das Spiel zu gewinnen.
Das simple Spielprinzip war eine der größten Challenges während der Entwicklung, da man selbst sehr viel Zeit mit dem Spiel verbringt, und dementsprechend war es zunehmend schwieriger zu beurteilen, ob es noch einfach und zugänglich für andere Spieler ist. Da wir mit einem agilen Framework (Scrum) gearbeitet haben, konnten wir das Spiel in kurzen Iterationszyklen entwickeln, und es war uns möglich, wöchentlich einen neuen Prototypen zum Testen fertigzustellen. Der Prototyp wurde genutzt, um durch Playtests Daten und Informationen freiwilliger Tester zu sammeln und auszuwerten. Zudem wurde die Zugänglichkeit und Benutzerfreundlichkeit des Spiels getestet. Außerdem erhielten wir nützliche Verbesserungsvorschläge für zukünftige Features.

Die Sonne reagiert begeistert auf die Eliminierung direkt vor ihr.
Die Sonne reagiert begeistert auf die Eliminierung direkt vor ihr.

No Real Loser

Die zweite Komponente war der „No Real Loser“-Ansatz. Damit wollten wir das Szenario vermeiden, dass man mit seinen Freunden auf der Couch sitzt und ein Spieler den Controller schon nach kürzester Zeit beiseite legen muss, da er ausgeschieden ist. Wir wollten, dass jeder Spieler das Spiel von Anfang bis Ende mitspielen und mitbestimmen kann. Daher können Spieler, nachdem sie ausgeschieden sind, sogenannte Sabotagemechaniken verwenden. Wenn sie es schaffen mit einer dieser Mechaniken einen Spieler zu besiegen, spawnen sie wieder auf dem Spielfeld und können erneut um den Sieg mitfahren. So ist das Spiel von Anfang bis Ende spannend für alle Beteiligten, und auch weniger erfahrene Spieler haben die Gelegenheit, zu gewinnen.

Way Over the Top

Als letzte Komponente haben wir viel Wert darauf gelegt, dass das Spiel so lächerlich und absurd wie möglich dargestellt wird. Unsere Charaktere wurden dafür in witzige Kostüme gesteckt. Zur Belustigung wurde zusätzlich jeder Charakter mit einem Ragdoll versehen. Das Ganze wird von einem Publikum aus Pappe unterstützt, das auf verschiedene Ereignisse innerhalb der Arena mit Gelächter oder Jubel reagiert. Die Schadenfreude sollte nie zu kurz kommen!

Level Design

Die erste Aufgabe im Game Design nach dem Kick-off war es, eine Arena bzw. ein Spielfeld zu entwerfen, das zu den Kernmechaniken des Spiels passt. Hierfür wurden drei Kernmechaniken in Verbindung mit einer obligatorischen Sabotagemechanik ausgiebig getestet. Mit jedem Test hat sich das Spielfeld verändert und weiterentwickelt. Anfangs ging es ausschließlich um die Form und die Größe. Danach wurde bestimmt, aus welcher Kamerasicht das Spielgeschehen dargestellt werden sollte, wie weit weg oder wie nah die Kamera ist, sowie ob eine statische oder dynamische Kamera benutzt werden sollte. Wir haben die wichtigsten Entscheidungen in unseren Meetings als Team beschlossen. Dafür wurden die Machbarkeit und die Resultate der Tests als Grundlage für Debatten benutzt. Durch das viele Testen der verschiedenen Mechaniken fiel früh auf, dass es notwendig ist, das Spielfeld mit Hindernissen zu versehen, um Spielern die Möglichkeit zu geben, die Umgebung zu nutzen und eigene kleine Taktiken zu entwickeln. Gleichzeitig sollten die Hindernisse ein Gefühl von Sicherheit vor anderen Kontrahenten vermitteln. Später haben Tests auch gezeigt, dass Spieler recht häufig vom Spielfeld fallen, anstatt sich gegenseitig zu besiegen. Die Lösung war, einen Zaun mit zerstörbaren Planken um das Spielfeld zu errichten. Die Möglichkeit, Deckung zu suchen und nicht beim ersten Fehler vom Spielfeld zu fallen, gibt vor allem auch neuen Spielern, die Chance, in das schnelle Gameplay des Spiels einzusteigen.
Es gab viele Pläne und einige Versuche, den Spielern mit Environment Events einzuheizen. Jedoch haben alle Versuche darin geendet, dass die Sessionlänge der Runden dadurch kürzer gewesen wären. Die Sessionlänge von Pillowheads wird bestimmt durch die Erfahrung, den Skill und den Umgang mit einem Controller jedes einzelnen Spielers. Erfahrungsgemäß sind die besten Runden diejenigen von Spielern mit gleichem Erfahrungswert. Es sollte berücksichtigt werden, dass es sich hierbei um das Design des ersten und bisher einzigen Spielfelds handelt. Dementsprechend war es wichtig, dass die Spieler zu jeder Zeit Übersicht über das gesamte Spielgeschehen haben und dass die Spieler nicht gegen das Spiel, sondern gegen ihre Mitspieler kämpfen.

Erste Map „Grassland“
Erste Map „Grassland“

Bei einem Partyspiel ist es wichtig, allen Spielern zu jedem Zeitpunkt des Spiels das Gefühl zu geben, dass die Möglichkeit auf den Sieg noch besteht. Dieses Gefühl wird in Pillowheads durch zwei Regeln gewährleistet. Zum einen, dass ausgeschiedene Spieler durch eine Eliminierung mit einer der drei Sabotagemechaniken auf dem Spielfeld wiederbelebt werden. Zum anderen müssen alle Sabotagemechaniken einfach zu bedienen und mit der Möglichkeit ausgestattet sein, Spieler auszuschalten. Das Basis-Spielfeld soll daher die Spieler nicht mit Mechaniken überhäufen, sondern ihnen einen guten Einstieg ermöglichen.

Grafikstil

Unser Spiel ist angesetzt für Spieler ab sechs Jahren. Daher sollte der Grafikstil farbenfroh, niedlich, lustig und an einfachen Formen angelehnt sein. Wir haben uns letzten Endes für die Richtung Kinderspielzeug und den Do-It-Yourself-Style entschieden, da sie uns viel Freiraum für Ideen und Kreativität gaben. Viel Inspiration konnten wir uns auch aus Bastelbüchern und Alltagsgegenständen holen. Die ersten Assets fanden schnell Anklang im Team und bei den Mitstudenten. Daraufhin wurde der Stil weiter ausgebaut und definiert. Schnell wurde klar, dass eine Materialsprache erstellt werden musste, da sonst Unruhe durch zu viele verschiedene Materialien aufkommen könnte. Zudem musste sich unser Charakter Pillowhead vom Environment abheben können. Daher wurde z.B. definiert, dass der Charakter zum Großteil aus Stoff bestehen sollte, während das Environment durch Papier und Pappe eher hart und kantig wirkt. Durch den stilisierten bzw. Comic-haften Style spiegelt auch die VFX die Vision wieder, dass es kein ernstes Spiel sein soll. Um den angestrebten Style und die vorgesehene Partystimmung zu verstärken, sind sehr viele Assets vom Spieler zerstörbar oder reagieren auf andere amüsante Weise auf die Spieleraktionen.

Art-Pipeline

Die Konzepte wurden in Photoshop oder 3ds Max zunächst kreiert und dann nach Abstimmung modelliert und weiter ausgearbeitet. Nach dem UV-Mapping wurden die Objekte in Substance Painter reingezogen und mit Smart Materials texturiert. Teilweise wurden per Hand weitere Details hinzugefügt. Maya wurde in diesem Projekt ausschließlich für Rigging und Animation benutzt. Kleinere Animationen im Environment, die kein Rig benötigten, wurden direkt in der Unity Engine animiert. In Illustrator wurde das komplette UI-Mockup erstellt, schließlich final umgesetzt und als Spritesheet exportiert. Die dazugehörigen Animationen wurden dann in Unity größtenteils per Skript fertiggestellt.

Art-Challenges

Früh haben wir erkannt, dass die Kostüme und das Facial Rig für Pillowhead eine Challenge darstellen würden, da weder einer von uns noch unsere Mitstudenten Erfahrung in diesen Bereichen hatten. Aufgrund dessen haben wir schon am Anfang des Projekts Recherche betrieben und experimentiert, um frühzeitig Probleme zu umgehen oder Lösungen dafür zu finden.
Die Kostüme mussten als Set, aber auch in Kombination miteinander funktionieren. Sie mussten einzigartig, bastelbar und angepasst an die Kopfform von Pillowhead sein. Es entstanden leider oft Clipping-Probleme aufgrund der verschiedenen Größen und Formen der Kostüme. Hier musste oft iteriert werden, was sehr zeitaufwendig war. Die Implementierung des Customization-Features von Pillowhead wurde zunächst mit Austauschen der Geometrie versucht, was nicht funktionierte wie erhofft. Als Lösung wurde die Methode angewendet, im Customization Screen die Visibility der Geometrien an- und auszuschalten. Sobald es dann ins eigentliche Spiel geht, werden die nicht sichtbaren Elemente davon gelöscht.

Unser Charakter Pillowhead in verschiedenen Kostümen
Unser Charakter Pillowhead in verschiedenen Kostümen

Um Pillowhead sofort ansprechend und sympathisch wirken zu lassen, wollten wir ihm neben seinen Animationen auch mit Facial Expressions ausstatten. Dazu wurde ein auf Joints basierendes Facial Rig erstellt, was sich als sehr zeitaufwendig erwies, da man jeden einzelnen Joint im Gesicht skinnen und mehrmals testen musste.

Controller

Ein großer Faktor bei einem lokalen Mehrspieler-Spiel ist die Hardware. Insbesondere der Controller, da pro Spieler jeweils einer benötigt wird. Während bei einem Konsolentitel die Controllerwahl eindeutig ist, gibt es auf dem PC eine wesentlich breitere Auswahl. So kann es möglich sein, dass eine beliebige Anzahl unterschiedlicher Controller gleichzeitig angeschlossen ist, welche alle eine andere Tastenbelegung nutzen.
Um möglichst viele Controller einfach unterstützen zu können, entschieden wir uns für einen separaten Input Manager, da Unitys aktuelles Input-System z.B. Probleme mit der Erkennung verschiedener Controller hatte. In Unity werden die Namen der Controller in einem Array aus Strings gespeichert. Außer zur Abfrage der Namen konnte man dieses jedoch nicht weiter nutzen. Somit musste häufig per Stringvergleich der aktuelle Controller abgefragt werden. Es wurden daher eigene Key Codes eingeführt, die in einer separaten XML-Datei serialisiert wurden. Diese Datei hielt für jeden Key Code die dazugehörigen Tasten auf den jeweiligen Controllern. Zusätzlich schrieben wir ein kleines Editorfenster, um diese Datei in Unity visuell anschaulicher bearbeiten zu können.

Jointaufbau des Facial Rig
Jointaufbau des Facial Rig

Mit diesem System konnten wir sehr schnell den Xbox One Controller, den Xbox 360 Controller, Sonys Dualshock 4 Controller sowie deren Wireless-Varianten implementieren. Mit dem Hintergedanken, dass Partyspiele sehr beliebt auf Nintendo-Konsolen sind, versuchten wir ebenfalls, die JoyCons der Nintendo Switch zu verbinden. Dank einer externen Library gelang dies ziemlich einfach und ermöglichte uns sogar auf alle Sensoren zuzugreifen, wodurch eine Bewegungssteuerung möglich war.
Als alles geschafft war, begannen wir mit Tests, doch aufgrund eines Fehlers in Unity entstanden enorme Probleme. Wenn mehr als ein Xbox Controller angeschlossen war, konnte man deren Trigger nicht als separate Achsen ansteuern, was für unser Spiel jedoch essenziell war.
Da wir den Fokus darauf gelegt haben, möglichst viele Controller zu unterstützen, sind wir bis dahin nie auf diesen Fehler gestoßen, denn wir hatten bis dahin immer vier unterschiedliche Controller verbunden. Nun mussten wir auch für die Xbox Controller auf eine externe Library zurückgreifen und nutzten somit komplett unseren eigenen Input Manager.
Nachdem aber auch dieses Problem behoben war, konnten wir uns mithilfe dieses Systems ein paar Späße erlauben und implementierten kurzerhand die Steuerung für den GameCube Controller sowie die einer Tanzmatte. Letztere sorgte für eine Menge Erheiterung bei der Präsentation.

Pillowheads verschiedene Launen
Pillowheads verschiedene Launen

Testing-Pipeline

Die wahrscheinlich größte Challenge innerhalb des Projekts, mal abgesehen von der wenigen Zeit, die wir für die Entwicklung des Spiels hatten, war definitiv das Rapid Prototyping.
Gerade bei einem Spiel wie unserem mit einer etwas ungewöhnlichen Steuerung war es wichtig, dass sie schnell und einfach zu erlernen ist. Hierzu entwickelten wir eine Art Rule­sheet, ein Scriptable Object in Unity, das sämtliche spielrelevanten Informationen in einer Datei vereinte. Sie erlaubte dem Game Designer sowohl in Run­time Werte problemlos zu ändern, als auch immer einen Überblick über diese zu behalten. Werte dieses Rulesheets sind zum Beispiel Beschleunigung, Cooldowns, Sabotageradien oder ähnliches. Der Vorteil dieses Systems besteht zusätzlich darin, dass zu Runtime Instanzen dieses Scriptable Objects erstellt werden, die dann von Spielern frei eingestellt werden können. Somit hätte man sich eigene Presets bauen können. Dieses Feature ist leider noch nicht im Spiel verfügbar.

Zukunftsaussichten

Mit dem aktuellen Stand von „Pillowheads – It’s Party Time” haben wir unsere avisierten Ziele erreicht. Das enorm positive Feedback seitens der Games-Academy-Dozenten und Testspieler ließ uns zu dem Entschluss kommen, aus dem Charakter Pillowhead eine IP zu entwickeln. Wir werden voraussichtlich schon im nächsten Semester damit beginnen. Für einen möglichen Release könnte man überlegen, einen Online-Modus hinzuzufügen.
Zum jetzigen Zeitpunkt ist das Spiel nur lokal für drei bis vier Spieler spielbar. Da Nintendo besonders oft Partyspiele vertritt, planen wir eine mögliche Umsetzung für die Nintendo Switch. Wie bereits erwähnt, handelt es sich aktuell um einen gepolishten Vertical Slice, mit dem es uns möglich ist, in kürzester Zeit viel Content für unser Spiel zu produzieren und somit für viele Stunden Spielspaß zu sorgen. Wir sind gespannt, was die Zukunft bringt!

Kommentar schreiben

Please enter your comment!
Please enter your name here

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.