Erste Schritte mit unserem 3D Platformer
Das Projekt
In diesem Artikel soll es um das erste Projekt der VGL (zuvor Uni Due GameDev AG) gehen: Ein 3D-Platformer mit einem Charakter, der als Billboard Sprite dargestellt wird.
Motivation
Am 02.12.2022 sind Studierende mit Interesse an Games zusammenzukommen, um gemeinsam coole Projekte rund um Spieleprogrammierung umzusetzen. Nach einem Jahr ist ein starkes Team zusammengekommen, welches viele weitere Ideen für die Zukunft hat und nicht darauf warten kann diese umzusetzen.
Der Weg zu diesem Projekt
Das erste Ziel war, alle Studierenden auf einen ähnlich Kenntnisstand zu bringen. Mit Werkzeugen wie Unity oder Git müsste man sich einmal kurz beschäftigt haben, damit der Einstieg ins Projekt leichter fällt. Danach haben Brainstorming Sessions stattgefunden, in denen wir uns auf das erste Projekt geeinigt haben. Es wurde über verschiedene Genres, visuelle Stile, Spielemechaniken und konkrete Spiele diskutiert. Das Ergebnis dieser Diskussionen war ein Platformer, welcher im dreidimensionalen Raum stattfindet, aber einen zweidimensionalen Charakter zeigt. Die Umgebungen sollten dabei in einem Low-Poly Stil gestaltet werden.
Herausforderungen
Nun sollte die eigentliche Arbeit am Projekt starten und wir sind dabei direkt auf einige Hindernisse gestoßen: Wie beginnt man konkret so ein Projekt? Wir haben zwar unsere ersten Schritte in Unity gemacht, aber diese ersten Schritte waren ein Pong Klon… Es wurden also weitere Dokumentationen gelesen, Youtube-Tutorials geschaut und StackOverflow Threads durchwühlt. Begriffe wie Rigidbodies oder Raycasts wurden langsam klarer. Unity Packages haben uns das Leben erleichtert. Zum Beispiel das Input System hat uns erlaubt eine Pille mit Tastatur und Maus oder einem Controller durch die Gegend zu bewegen und mit Probuilder konnten wir unsere ersten kleinen Umgebungen gestalten.
Auf dem Weg sind wir auf Game Design Patterns gestoßen und dachten, dass eine State Machine gut dazu geeignet sein könnte, die verschiedenen Bewegungsarten umzusetzen. Diese könnte auch gut dazu geeignet sein, um unsere Billboard Sprite Animationen mit dem Rest der Platformer Logik zu verknüpfen. Alleine diese ersten Erkenntnisse und Umsetzungen haben viel Zeit in Anspruch genommen.
Ein Jahr später
All die Mühen haben sich am Ende jedoch gelohnt, denn nun haben wir einen zweidimensionalen Charakter, der sich im dreidimensionalen Raum bewegt. Unser Charakter kann gehen, sprinten, normal springen, weit springen, in die Hocke gehen, schleichen, und nach einem Sprint rutschen. Weiterhin konnten wir eine kleine Umgebung gestalten, in der sich der Charakter bewegen kann.
Nun sind wir gemeinsam diese ersten Schritte gegangen und haben sehr viel auf dem Weg gelernt. Doch in diesem Jahr ist viel weiteres passiert. Ein paar Mitglieder haben uns verlassen, doch es sind auch neue dazugekommen. Wir sind auf viele weitere Ideen gekommen und konnten sogar als Team an unserem ersten Game Jam teilnehmen. Bei diesem Event haben wir bemerkt, mit wie viel mehr Leidenschaft wir an neue Projekte gehen konnten. Denn so lange an unserem ersten Projekt zu arbeiten, ohne richtige Meilensteine zu erreichen, hat sehr an der Motivation gezehrt und wir haben erkannt, dass unsere Projektidee für den 3D Platformer sehr ehrgeizig ist.
Vor diesem Hintergrund haben wir entschieden, ein paar grobe Fehler in diesem Projekt zu beheben und es anschließend zu beenden. Wir wollen uns gerne neuen Herausforderungen stellen und unsere gelernten Lektionen mitnehmen. Da wir mit so viel Leidenschaft an unser Game Jam Projekt gearbeitet haben, wollen wir gerne weiter an dieser Idee arbeiten und unsere initiale Idee vervollständigen.
Unsere Lessons Learned
Abschließend wollen wir gerne ein paar Lektionen mit euch teilen, die euch euren Einstieg vielleicht ertwas erleichtern werden.
Die Lernkurve für Spieleprogrammierung ist steil und es kann lange dauern Ergebnisse zu erzielen. Die Dauer hängt dabei natürlich von den Ideen ab. Aber das sollte niemanden abschrecken, der gerne damit starten möchte. Denn alleine das Gefühl, wenn man einen Charakter in einer Umgebung bewegt ist unglaublich. Wenn sich dieser Charakter dann in einer eigen gestalteten Umgeung bewegt, hat man das Gefühl eine eigene kleine Welt kreiert zu haben. Also lasst euch nicht entmutigen!
Unsere erste Idee war definitv nicht “nur” einen Charakter zuerstellen, der sich in einem Raum bewegt. Wir wollten eine Welt mit verschiedenen Bereichen gestalten in der es Spaß macht sich zu bewegen. Wir wollten dieser Welt ein bestimmtes Aussehen und Gefühl verpassen und sie mit interessanten Charakteren füllen. Wir wollten eine gute Geschichte schreiben, die sich in die Welt einfügt und mehr. Retrospektiv haben wir vielleicht etwas viel geträumt. Deswegen: Habt auf jeden Fall Träume für eure Projekte! Aber plant nicht, sofort euer Traumspiel zu erstellen. Geht Schritt für Schritt. Euer erstes Projekt sollte vielleicht kein ganzes Spiel sein, sondern eine Mechanik. Setzt einen Charakter um, der sich bewegt. Baut eure ersten Umgebungen. Entwerft vielleicht ein Minispiel. All das können erste einzelne Projekte sein.
Auch alleine kann man in die Spieleprogrammierung einsteigen. Es gibt mittlerweile sehr viele gute Materialien für den Einstieg. Aber sich zu zweit oder in einer Gruppe auszutauschen kann sehr hilfreich sein und motivieren. Also wenn ihr die Möglichkeit habt, startet mit Freunden oder anderen Kommilitonen und ihr werdet euch sicher gut ergänzen. Falls ihr niemanden kennt, sprecht uns gerne an! Ein großer Teil unseres Vorhabens ist es Leute mit Begeisterung an Spieleprogrammierung zusammenzuführen und zu unterstützen!