Incom ist die Kommunikations-Plattform der Fachhochschule Potsdam

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Incom ist die Kommunikations-Plattform der Fachhochschule Potsdam mehr erfahren

Spoiler Alert - The Game

Der Name ist Programm. In diesem Spiel musst du mit Geschicklichkeiten den im Altrag lauernden Spoilern ausweichen. Schaffst du das nicht sind die Konsequenzen klar. Du wirst selbst mit einer bestimmten Information gespoilert ohne dem entgehen zu können. Ein echtes Risiko Spiel mit echten Folgen.

Wie alles begann...

Im Kurs „It's just a game - It's my game.“ von Grit Schuster haben wir zu beginn die Grundkenntnisse in der Java Programmierung beigebracht bekommen. Diese haben wir gleich an beispielhaften Umsetzungen mit [Unity](http://unity.com „Untiy“)ausprobieren und erproben konnten. Die Aufgaben Varrierten und ging von 3D animierten Bällen die mit einem Zähler Objekte einsammeln mussten, hin zu 2D Jump'n'Runs. Während dieser Zeit hatten wir genügend Eindrücke gesammelt um uns über das Spiel das wir verwirklichen wollen klar zu werden.

Mein Anspruch war ebenfalls ein Spiel zu erschaffen, in dem es mir gelingt , die Grundformen selbst zu programmieren und umzusetzten. Das Spielprinzip sollte daher recht simpel sein und in dem Rahmen meiner Möglichkeiten.

Die Spoiler Gefahr

Das Spiel selbst soll trotz seines gefährlichen Inhaltes Spaß bereiten und zum weiter spielen animieren. Das war eine der größeren Herausforderungen, da Spoiler schließlich etwas sind das man vermeiden möchte. Um dem entgegen zu wirken haben ich mir unterschiedliche Spiel-Modi überlegt die abdecken soll das die Frustration eines ungeschickten Spielers nicht gleich jedwede Motivation übertrifft.

Der Spieler startet mit einer Vorauswahl die er treffen muss um zu entscheiden mit welchem härte Grad er das Spiel beginnen will:

Die erste ist der „Ich bin doch nicht wahnsinnig!“ – Modus, in welchem der Spieler eine Vorauswahl bekommt, mit welchen Spoilern er zurecht kommt. Er kann dann selbst bestimmen von welchen Geschichten, Filmen oder Serien er Spoiler erträgt weil er sie schon kennt und die raus lassen bei dennen ihm das Ende unbekannt ist. Der Spoiler ist also nicht weiter gefährlich.

Der nächst Modus heißt „Ich liebe mein Leben gefährlich!“ Der Spieler bekommt keine Vorauswahl und kann tatsächlich zu Inhalten gespoilter werden die er noch nicht kennt. Es ist also eine ganz reale Bestrafung für seine Ungeschicklichkeit die der Spieler dann selber gewählt hat.

Der letzte Modus ist der „Kindheitserinnerungen ruiniert!“ - Modus. Der Spieler wird mit Wissen konfrontieren, auf das man vielleicht hätte verzichten können aber dennoch interessant ist (Im E.T. Kostüm steckte zeitweise ein Schauspieler der ein Kind ohne Beine war und andere Informationen von ähnlicher Natur). Bei diesem Modus müsste man seine aktiv wahrgenommenen Kindheitsjahre festlegen sodass sich das Spiel dementsprechend anpasst ( Heutige Jugendliche haben schließlich E.T. nur in den seltensten Fällen gesehen). Hierbei wäre Bestrafung vielleicht gleichzeitig Belohnung, der Spieler kann sich dann selbst überlegen ob er es zur Aufgabe macht alle verschiedenen Spoiler einzusammeln oder ihnen weiterhin zu entgehen.

Die Abwechslung aus realer Gefahr und netten Inforamtionen, sowie das Thema an sich, das Spoiler etwas sind was man im Alltag versucht zu vermeiden und nun auch in diesem Spiel, sollte eine gute Mischung aus Anreiz und Spaß garantieren. Wenn denn die Spielmechanik stimmt.

Inspiration und Spielmechanik

Screenshot.5144.1000002.jpgScreenshot.5144.1000002.jpg

Das Spiel selbst hat seine Inspiration im angestrebten Aussehen bei Game Dev Tycoon, ein Spiel über die frühe Spielentwicklung. Die einzelnen Level soll den Alltag wieder spiegeln in welchem man sich vor den gefährlichen Spoilern in acht nehmen muss. Das einfache Design, was mit wenigen Mitteln eine schöne Atmosphäre kreiert, hat mir dabei am meisten zugesagt.

Was uns auch schon zur Spielmechanik bringt. Egal wie die einzelnen Level aussehen, es gilt den herumfliegenden Spoilern auszuweichen. Diese sind im Prototypen erstmal als Ausrufezeichen dargestellt, könnten aber im Verlauf der Spieleentwicklung auch Schriftfetzen sein. Wenn du zu oft getroffen wurdest, bilden die Wortfetzen einen Satz auf deinem Game Over screen. Man wird also erst ganz zum Schluss wirklich gespoilert. Unterschiedliche Farben und Bewegungsmuster deuten unterschiedliche Spoiler-Stärken an. Das heißt einige ziehen mehr Lebenspunke ab als andere. Im Prototypen konnten wir die verschiedenen Bewegungsmuster und damit auch die verschiedenen Stärken bereits umsetzten.

Gewonnen hat man das Spiel wenn man es geschafft hat den Raum zu durchqueren ohne all seine Lebenspunkte zu verlieren oder wenn man die Quelle der Spoiler durch unterschiedlige Aufgaben zum erliegen gebracht hat.

Level Design

iso.pngiso.png

Im Verlauf der Umsetzung habe ich mir bereits mehrere Level überlegt die das gesamte Spiel ausmachen werden. Da der Spoiler einem auf manigfaltige Art begegnen kann, wollte ich selbiges in dem Spiel irgendwie darstellen.

Darauß ergaben sich folgende 5 Level:

Der Tag beginnt

• Der Radiowecker im eignen Zimmer beginnt in der morgentlichen Aufweckshow einem Spoiler entgegen zu schmeissen, relativ langsam da er sich nah am Bett befinden wird. Der Spieler bekommt die Aufgabe den Wecker auszuschalten, das geht nur mit dem Wasserglas das am anderen Ende des Zimmers auf dem Schreibtisch steht. Ist der Radiowecker aus, ist das Spiel gewonnen.

Auf dem Weg zur Arbeit/ zur Schule

• Die Ubahn, Wahlweise auch die Straßenbahn stellt eine andere herausforderung dar. Die Spoilerquelle kannst du hier nicht vernichten, da sie vom kleinen Bildschirm in der Ubahn oder von den Leuten in der S-Bahn kommen. Ziel ist es immer wieder rechtzeitig die Position zu verändern um den Spoilern zu entkommen. Es gibt hinweise darauf von wo der nächste Spoiler kommt. Man sieht beispielsweise das die kleinen Bildschirme angehen oder jemand ein Handy zieht.

Auf der Arbeit oder im Klassenzimmer

• Hier ist es die Aufgabe des Spielers Themen zu finden die als Ablenkung fungieren um eine Gruppe an Menschen daran zu hindern weiter Spoiler auszuwerefn (eine Klassentest der beim Lehrer rumliegt / oder die Kaffeesorte die neue ist im Büro) Der Spieler muss also erst einmal den Raum absuchen um etwas zu finden um die Gruppe „auszuschalten“. (In einem höheren Schwierigkeitsmodus oder einem höheren Level könnte es auch einen fiesen Kollegen oder einen Feind geben, der immer weiter spoilern wird und nur anders zu besiegen ist)

Extra Level

• Das Smartphone Display stellt hierbei die Spielfläche dar, um zu versinnbildlichen das man im Internet surft. Man muss versuchen die Nachichten zu öffnen ohne die Spoiler zu berühren die sich von unten ins Bild schieben dadurch das man (Beispielsweise über Facebook) scrollt.

Party Alarm

• Am Ende gibt es ein Partylevel, in welchem man selbst betrunken ist und / oder die Freunde. Wenn man selbst betrunken ist, bleiben Spoiler nicht so sehr hängen (machen weniger schaden), aber die Freunde sind auch nicht mehr zu stoppen, der Abend muss einfach überstanden werden und man kämpft gegen eine ablaufende Uhr.

Nach hause kommen

• Am Ende muss man an dem Fernseher, dem eigenen Handy und dem Radio vorbei zum Bett kommen um das gesamte Spiel zu beenden und ist natürlich dementsprechend schwierig.

Die Programmierung

Stand.jpgStand.jpg

Zuerst habe ich mit Hilfe von Grit einen Isoconverter bekommen, der nur den Anschein erregt als würde man auf alles von oben herabschauen. In jenem ist ein Winkel mit einbezogen der auf den Spieler bezogen ist und die Informationen das alles vor dem 0 Wert vor dem Spieler angezeigt wird und alles darunter, dahinter angezeigt wird.

So wird im Raum die Täuschung von Tiefe vorgegeben, da der Spieler sich hinter Gegenständen und vor Gegenständen entlang bewegen kann.

Als nächsten Schritt habe ich mich dem Spawnen zugewendet, da dies die Grundvorraussetzung für meine Spoiler war. Nach einiger Recherche habe ich eigentändig eine Spawnfunktion hinzugefügt und eine Lebensspanne der gespawnten Objekte, die nicht auf den Spieler treffen, sodass sie wieder verschwinden. Durch die einfach Einteilung der Layer bei Unity konnte ich schnell festlegen, auf was die Spoiler treffen können und durch was sie direkt hindurch gehen. Aber die Spoiler zum Bewegen zu bringen war für mich die größere Herausforderung. Mit Hilfe und einer einfachen Rechnung:

p=(r * cos alpha) und p=(r * sins alpha)

Haben wir es geschafft den Spoilern 3 verschiedene Typ-Zuordnungen zu geben.Jene die sich ausschließlich Kreisförmig bewegen, jene die sich Spiralförmig bwegen und jene die sich in einem Strahl von ihrer Spawnquelle weg bewegen. Der Hauptinitiator ist dabei der Spoiler-Ermitter. Während des Spawnens ordnet er ihnen random eine der Bewegungen zu. Und von den Bewegungen hängt ab wie stark der Spoiler wirklich ist. (Ob 1, 1,5 oder 2 Schaden beim auftreffen verteilt wird.) Der Spieler hat auch eine Lebenscounter, der bei 3 anfängt und bis 0 geht. Leider konnten wir dem Spieler nur noch nicht klar machen das er bei 0 auch tot ist, im Prototypen.

Die Spoiler haben also eine Lebenszeit, vergeben Schaden und benachichten darüber. Der Spieler kann Schaden aufnehmen. Als wir diesen Punkt erreicht haben, haben wir uns dem ursprünglichen design des ersten Levels zugewandt. Es ging darum aufzuwachen und den Radiowecker mit einem Glas Wasser auszuschalten. Es wurde ein Fernseher und ein Wasserspender darauß, aber das prinzip ist geblieben.

Sobald der Spieler mit dem Wasserspender kolidiert verschwindet dieser und in einer simplen If abfrage kann er erst danach den Fernsehr zerstören der der Spoiler-ermitter ist. Was weiteres Spawnen von Spoilern automatisch verhindert. Aktuell besteht im Prototypen die einzige wirkliche schwierigkeit darin dabei die schmalen Collider zu treffen die sich bei den Füßen des Spielers befinden und am oberen Rand des Fernsehers. Ansonsten hat es dann tatsächlich so funktioniert wie erhofft.

Der fertige Prototyp

spoileralert.jpgspoileralert.jpg

Der fertige Prototyp ist und folgendem Link zu erreichen.

[Spoiler-Alert!](http://spoiler-alert.myfault.io/ „Spoiler Alert“)

Das Spiel ist nach dem schnellen download des Unity Webplayers sofort zu spielen.

Das Fazit

Die Programmierung mit Unity und mit all der Hilfestellung die man bekommt ist bereits eine ziemlich simple und gut strukturierte Möglichkeit in die Spielprogrammierung einzusteigen. Und wenn man sich ersteinmal auf das Nötige Verständnis der Mathemathik eingelassen hat auch definitiv umsetzbar. So wie das Spiel jetzt aufgebaut ist könnte ich erneut mit etwas Hilfe daran weiter arbeiten und hätte keine Zweifel daran auch alle anderen Level umzusetzten und den Feinschliff an allem vor nehmen zu können.

Tatsächlich aber erfordert es selbst in der Simpelheit von Unity ein wirklich tief gehendes Verständnis von Java und seinen Möglichkeiten als das sie mir in der kurzen Zeit geläufig werden konnten. Nichts desto trotz hat es mir endlich den Einblick in die Programmierung gewehrt der mir so lange verschlossen geblieben ist und dazu auch noch Spaß bereitet.

Es war ein für mich persönlich ein voller erfolg und „It is just a very simple game - but it is my game.“

Ein Projekt von

Fachgruppe

Interfacedesign

Art des Projekts

Studienarbeit im zweiten Studienabschnitt

Betreuung

foto: GS

Zugehöriger Workspace

It's just a game!—This is my game.

Entstehungszeitraum

Wintersemester 2014 / 2015