Bericht – Ludum Dare 38

  • 21. Mai 2017 / Videospiele

Ende April fand die Ludum Dare 38 statt. In Zürich hatten sich ein paar Spieleentwickler zusammengefunden, um in einem Zürcher Büro an ihren Spielen zu arbeiten. Diese Gelegenheit habe ich genutzt, um selbst an der Game Jam teilzunehmen und mein erstes Videospiel zu entwickeln. Darüber möchte ich dir heute gerne berichten.

Die Ludum Dare – Eine Game Jam

Was ist die Ludum Dare eigentlich? Die Ludum Dare ist eine internationale Game Jam, an der Spieleentwickler auf der ganzen Welt teilnehmen können. Als Teilnehmer hast du die Wahl, ob du alleine an einem Spiel arbeiten möchtest oder im Team. Solisten nehmen an der sogenannten Compo teil und haben 48 Stunden Zeit, um ihr Spiel zu entwickeln. Dabei dürfen sie keinerlei Vorarbeit leisten. Die Teams nehmen an der sogenannten Jam teil und haben 72 Stunden Zeit. Außerdem darf bereits eine gewisse Code-Grundlage vorhanden sein.

Bevor das Event startet, haben alle Teilnehmer die Möglichkeit, Themen für die Game Jam einzureichen. Danach können die Teilnehmer in mehreren Wahlrunden darüber abstimmen, welches Thema für die Game Jam genommen werden soll. Das Thema wird dann mit dem Start des Event bekanntgegeben. Das war in diesem Fall um 3 Uhr morgens, an einem Samstag.

Bis zur abgelaufenen Zeit haben die Spieleentwickler dann die Möglichkeit, ihre Spiele einzureichen. Bei der Compo muss außerdem der Quellcode veröffentlicht werden. Wenn Texturen, Sounds oder andere Inhalte des Spiels nicht von den Teams oder Entwicklern selbst erstellt wurden, muss dies angegeben werden, damit diese Inhalte bei der Bewertung ignoriert werden.

Die Spiele bewerten tun ebenfalls die Teilnehmer. Dafür haben sie zwei Wochen Zeit, um sich die Spiele anzuschauen, die sie interessieren. Nach dem Spielen können sie den Titel in sieben Kategorien bewerten. Nach den zwei Wochen gibt es eine Rangliste aller Spiele in allen Kategorien und insgesamt. Zu gewinnen gibt es dabei nichts – und das ist auch gut so.

Vorbereitung

Ich hatte mich als Vorbereitung ein paar wenige Wochenenden mit der Game Engine GameMaker auseinandergesetzt. Durch einige Tutorial Videos und lesen der Dokumentation konnte ich einige Spielmechaniken erstellen und im kleinen Rahmen testen. Das ließ mich recht positiv auf die Ludum Dare 38 blicken.

Am Abend vor dem Start der Game Jam haben wir uns in einem Büro in der Innenstadt von Zürich getroffen, um ein paar organisatorische Dinge zu besprechen. Auch haben wir recht allgemein über die Entwicklung von Videospielen geredet und den allgemeinen Ablauf der Ludum Dare. Dabei wurde der Ratschlag geäußert, sein Spiel am Ende als HTML5-Spiel zu exportieren. Dadurch sei die Einstiegshürde, dass das Spiel danach von anderen Teilnehmern der LD ausprobiert wird, sehr gering. Das warf für mich ein großes Problem auf: Ich besaß lediglich die kostenlose Version von GameMaker und diese unterstützte den Export als HTML5-Spiel nicht.

Was tat sich also? Zuhause angekommen, schaute ich mich nach alternative Engines um. Relativ schnell stoß ich auf die Godot Engine, welche Open Source ist und kostenlos zur Verfügung steht. Ich installierte sie und las die Dokumentation, um mir einen ersten Eindruck zu verschaffen. Relativ schnell sah ich, dass die Engine durchaus übersichtlich und verständlich aufgebaut war. Alles erinnerte mich auch ein wenig an GameMaker. Außerdem unterstützte sie das Entwickeln von 2D und 3D Spielen. Für mich war vor allem ersteres wichtig, da ich mich mit 3D auch in GameMaker noch nicht auseinandergesetzt hatte. Also beschloss ich, kurzerhand GameMaker erst einmal den Rücken zu kehren und mich mit einer völlig neuen Engine an die Game Jam zu wagen.

Tag 1

Ideen sammeln

Am nächsten Morgen bin ich trotz Wochenende dann früh aufgestanden und habe mich auf den Weg nach Zürich gemacht. Davor war ich in der Nacht um 3 Uhr kurz aufgestanden, um zu schauen, welches Thema bekanntgegeben wurde. Das Thema war »A Small World« und ehrlich gesagt hätte es deutlich schlimmer kommen können. Also überlegte ich mir auf der Zugfahrt schon einmal, was ich mit einfachen Spielmechaniken und 48 Stunden Zeit zu diesem Thema entwickeln könnte. Im Büro angekommen und nach ein wenig Smalltalk, brachte ich zwei der drei Ideen auf Papier.

Spielidee #1:

  • Der Spielcharakter lebt in einem Dorf
  • Das Dorf lebt abgeschottet, versorgt sich selbst und die Dorfbewohner trauen sich nicht ihr Dorf zu verlassen
  • Der Spielcharakter möchte wissen, ob es mehr auf der Welt gibt, als nur dieses Dorf und macht sich auf die Suche nach Hinweisen und Möglichen Ausgängen aus dem abgeschotteten Dorf
  • Das Spiel ist gewonnen, wenn der Charakter einen Weg aus dem Dorf gefunden hat und entdeckt, was außerhalb dessen liegt

Spielidee #2:

  • Um einen kleinen See herum leben winzige Wesen
  • An mehreren Stellen am See haben diese Siedlungen
  • Jede Siedlung produziert eine gewisse Ressource (Nahrung, Werkzeug, Baumaterial etc.)
  • Der Spieler kontrolliert ein Boot auf dem See, um diese Ressourcen zu verteilen, wo sie gerade benötigt werden und so das Überleben der einzelnen Siedlungen zu sichern
  • Das Spiel läuft quasi unendlich und ist verloren, sobald eine Siedlung nicht mehr überlebensfähig ist

Spielidee #3:

  • Der Spielcharakter ist in einer Glasflasche gefangen
  • Er muss einen Weg aus der Flasche finden
  • Um das zu erreichen, muss er Hindernisse aus dem Weg räumen, für die er erst das nötige Item finden muss
  • Das Spiel ist gewonnen, wenn der Charakter einen Weg aus der Flasche gefunden hat

Nach ein wenig hin und her überlegen habe ich mich letztendlich für die Spielidee #3 entschieden. Gegen Idee #1 sprach die vielleicht zu groß geratene Spielwelt, die ich hätte mit Inhalten füllen müssen. Gegen Idee #2 sprach das ständige Ausführen von Berechnungen im Hintergrund, während das Spiel läuft. Das traute ich mir einfach nicht zu. Spielidee #3 schien am realistischsten zu sein.

Umsetzen der Idee in klein

Nachdem die Idee stand, machte ich mich an die eigentliche Arbeit. Ich erstellte Sprites für die Welt, den Spieler, die Hindernisse und Schatzkisten. Dann setzte ich mich sehr viel mit der Godot Engine auseinander, um herauszufinden, wie ich ein 2D Spiel damit überhaupt erstelle. Wie muss das Objekt für die Spielfigur aussehen? Wie lässt diese sich navigieren? Wie kann ich Aktionen anhand von bestimmten Events wie Kollisionen oder Tastendrücke auslösen? Diese und noch mehr Fragen galt es zu beantworten.

Am Abend stand dann endlich das Grundgerüst. Ich hatte den Charakter, der sich navigieren ließ. Ich hatte ein kleines Level, in dem der Charakter herum laufen konnte und in dem die wichtigsten Mechaniken vorhanden waren. Der Charakter bekam Items, wenn er mit platzierten Schatzkisten in Berührung kam. Außerdem konnte er Hindernisse aus dem Weg räumen, wenn er das richtige Item im Inventar hatte. Damit war alles vorhanden, was ich haben wollte. Des Weiteren fügte ich noch einen Sound ein, der abgespielt wurde, sobald der Spieler eine Schatzkiste öffnet.

Mit dem eigentlichen Level anfangen

Den restlichen Abend verbrachte ich dann damit, das richtige Level zusammenzubauen. Das war unglaublich mühsam und zeitraubend, da mir zu diesem Zeitpunkt nicht bekannt war, dass die Godot Engine Tile Maps unterstützt. Irgendwie bin ich auch nicht auf die Idee gekommen, das mal zu recherchieren. Rückwirkend betrachtet wirklich bitter, weil ich meine Zeit sonst noch in andere Sachen hätte investieren können.

Tag 2

Level fertig bauen und testen Nach viel zu wenig Schlaf am nächsten Tag, hieß es weiter machen. Am Vormittag stand das finale Level dann endlich. Zumindest der Aufbau. Nun musste ich noch diverse Hindernisse und Items platzieren. Nachdem das erledigt war, teste ich das Level diverse male durch, um Fehler zu entdecken und diese zu beheben. Dabei war einer ganz besonders zeitraubend.

Fehlersuche und -behebung

Eine übliche Mechanik ist, dass wenn ein Objekt mit einem anderen kollidiert, dies ein Event auslöst. In diesem Fall sollte der Spieler mit einem Hindernis kollidieren und es sollte ein Text angezeigt werden. Leider wurde der Text bereits beim Start des Levels angezeigt und mir war einfach nicht klar, wieso. Letztendlich stellte sich heraus, dass das Hindernis mit dem Boden, auf dem es stand, kollidierte. Die Engine sieht es nicht nur als Kollision, wenn zwei Objekte überlappen. Sondern auch, wenn sie direkt aneinander liegen. Das zu entdecken, hat eine Weile gedauert. Letztendlich gibt es zwei Möglichkeiten das Problem zu lösen: Ich prüfe, mit welchem Objekt die Kollision stattfindet. In diesem Fall mit dem Charakter. Oder ich verkleinere den Kollisionsbereich des Objekt so, dass es nicht mit unmittelbar umliegenden Objekten in Kontakt kommt. Ich entschied mich für letzteres, da es einfacher umzusetzen war.

Feedback

Drei Mitentwickler die an ihren eigenen Spielen arbeiteten, haben zwischenzeitlich das Spiel selbst ausprobiert oder es sich von mir zeigen lassen. Dadurch bekam ich nützliches Feedback. Auch ich selbst durfte ein Spiel ausprobieren.

Spiel bauen und einreichen

Mittlerweile war es früher Abend und da Sonntag war, hatte ich nicht vor, noch viele weitere Stunden zu bleiben. Das Level stand und funktionierte. Außerdem konnte ich noch eine Teleport-Mechanik einbauen, die den Spieler von einem Punkt im Level zum anderen brachte. Das war aber eher eine Notlösung, da der Spieler aufgrund des (schlechten) Levelaufbaus sonst in einer Sackgasse gelandet wäre.

Also machte ich mich daran, das Spiel zu exportieren. Ich wollte, dass die Spieler es im Browser oder lokal auf dem PC spielen konnten. Also gab es eine HTML5, zwei Windows (32 und 64 Bit) und zwei Linux Versionen. Diese habe ich dann noch einmal final ausprobiert und für gut befunden.

Danach lud ich die Versionen auf itch.io hoch, schrieb die Beschreibung, reichte es bei der Ludum Dare Seite als Compo ein und veröffentlichte den Quelltext auf GitHub.

Das Event in Zürich

Ich habe nun sehr viel darüber geschrieben, wie die eigentliche Entwicklung von meinem Spiel ablief. Aber wie war eigentlich das Event selbst in Zürich? Wie war es, mit anderen Entwicklern in einem Büro zu sitzen, die ebenfalls an ihren Spielen arbeiteten? Dazu komme ich jetzt.

Insgesamt hatte ich mit mehr Austausch untereinander gerechnet. Es war eher so, dass die meisten Compo Teilnehmer für sich gearbeitet haben. Da nehme ich auch mich selbst nicht aus. So konnte ich zwar immer wieder einen Blick auf die anderen Bildschirme werfen und vereinzelt hat jemand auch mal etwas über sein Spiel erzählt. Aber ich hätte gerne mehr davon gehabt. Was sind momentane Probleme und Herausforderungen? Wie wurden gewisse knifflige Probleme gelöst? Warum wurde sich für eine gewisse Spielmechanik entschieden? Was ist der aktuelle Stand des Spiels? All das wurde gar nicht oder nur oberflächlich besprochen.

Neben den Compo Teilnehmer hatten sich aber auch mehrere Leute zu einem Team zusammengefunden, um an der 72 Stunden langen Jam teilzunehmen. Diese waren in einem Büro nebenan. Beide Tage merkte ich, dass dort ein reger Austausch stattfindet und viel gesprochen und diskutiert wurde. Dort wurden wahrscheinlich genau die Fragen gestellt und beantwortet, die ich mir auch bei der Compo-Gruppe gewünscht hätte.

Ich muss dazu sagen, es war das erste Mal, dass dieses Event zur Ludum Dare stattfand. Von daher ist ganz klar, dass meine Erwartungen nicht ganz erfüllt wurden. Trotzdem bereue ich es keineswegs, hingegangen zu sein. Ich glaube, dass ich zu Hause nicht annähernd so konzentriert an den Spiel hätte arbeiten können wie dort. Ich habe einfach gemerkt, dass dort jeder eine unglaublich hohe Konzentration hatte und auf seine Aufgabe fokussiert war. Das hat mich dazu motiviert, dies ebenfalls zu sein und das ist ein Effekt, den ich klasse finde.

Feedback geben und bekommen

Nachdem die Frist zum Einreichen der Spiele abgelaufen war, ging es in die letzte Phase der Ludum Dare: das Ausprobieren und Bewerten von anderen Spielen. Dafür hatten alle Teilnehmer knapp drei Wochen Zeit.

Ich habe mir insgesamt zehn andere Videospiele angeschaut. Dabei hatte ich durchaus viel Spaß und konnte ein paar wirklich gute ausprobieren. Auch sind mir ein paar Dinge dabei aufgefallen: Die meisten haben zum Thema »A Small World« etwas mit Planeten gemacht. Auch ist mir der qualitative Unterschied zwischen Compo- und Jam-Einreichungen aufgefallen. Die Spiele, welche von Teams entwickelt wurden, waren wirklich auf einem ganz anderem Level. Das hat mich doch recht überrascht.

Das von mir eingereichte Spiel mit dem Namen »Escape From The Bottle« haben ebenfalls ein paar wenige Leute ausprobiert. Insgesamt habe ich sieben Bewertungen bekommen. Von allen Kategorien war »Theme« – also wie gut ich das Thema getroffen hatte – mit vier von sechs Sternen am besten bewertet. Die schlechtesten Bewertungen hatte ich in den Kategorien »Innovation« und »Graphics«. Durchaus verständlich. Insgesamt haben die sieben Bewertungen aber nicht gereicht, um mich in das Ranking aufzunehmen. Dafür sind mindestens 20 nötig.

Neben den reinen Zahlen wurden auch ein paar Kommentare hinterlassen. Die meisten bemängelten das schlechte Movement des Charakters und die teilweise schlecht leserliche Schrift. Auch wurde ein Fehler gemeldet, da das Spiel nach einem Neustart nicht mehr richtig funktionierte.

Aus meiner Sicht kann ich die Kritik nachvollziehen und auch mit den Bewertungen bin ich zufrieden. Mit etwas besserem habe ich nicht gerechnet.

Insgesamt ist mir bei allen Kommentaren unter den Spielen aufgefallen, dass das Feedback meistens sehr freundlich und gut formuliert war. Ich habe den Eindruck, dass die Community der Ludum Dare ein freundliches und gutes Miteinander pflegt. Leider nicht selbstverständlich und dadurch lobenswert.

Schlusswort

Die Teilnahme an der Ludum Dare 38 hat mir vor allem eines gezeigt: Du musst kein erfahrener Spieleentwickler sein, um an einer Game Jam teilzunehmen. Nutze diese zwei oder drei Tage einfach, um dich mit dem Thema einmal intensiv auseinanderzusetzen und selbst etwas auf die Beine zu stellen.

Für mich persönlich haben sich diese beiden Tage sehr gelohnt. Ich konnte völlig neue Erfahrungen und neues Wissen sammeln, neue Bekanntschaften machen und ich habe mein allererstes Videospiel entworfen, entwickelt, getestet und veröffentlicht. Und das in gerade einmal 48 Stunden. Super!

Besonders positiv überrascht bin ich immer noch davon, wie konzentriert ich mich an diesem Wochenende nur diesem einem Thema hingeben konnte. Selten haben mich Smartphone, Soziale Medien und sonstige Dinge so wenig ablenken können.

Ich bin mir ziemlich sicher, dass das nicht meine letzte Ludum Dare gewesen sein wird. Für mich steht nun fest, dass die Spieleentwicklung auf jeden Fall etwas ist, dass ich weiterhin verfolgen möchte. Vor allem als Hobby. Beruflich ist das Ganze noch einmal etwas völlig anderes.

Escape From The Bottle kannst du auf itch.io ausprobieren.