Als Solo-Entwickler merkt man schnell, wie zeitaufwendig die Entwicklung von Spielen ist. Man programmiert, erstellt Grafiken, kümmert sich ums Marketing und gefühlt um tausend andere Dinge.
Deshalb habe ich mich erst mal entschieden, kleinere Gelegenheitsspiele zu entwickeln.
Als mir ein Kumpel „100 Hidden Cats“ geschenkt hat (cooles Steam-Game), dachte ich mir: „Hey, vielleicht könnte ich ja ein ähnliches Spiel mit kleinen Monstern machen.“
Obwohl ich nicht wirklich viel Erfahrung im Zeichnen habe, dachte ich, das wäre ein cooles, kleines Projekt, um damit anzufangen.
Also habe ich angefangen zu malen, und das war das erste Ergebnis:
Nachdem ich mich mit meinem Buddy Lukas, der ein super Artist ist, über mein Vorhaben unterhalten hatte, bot er mir direkt an, das Zeichnen zu übernehmen. Den Vorschlag fand ich supercool und habe ihn auch dankend angenommen. So beschlossen wir, den Stil und das Spiel zu ändern, und die Idee zu Hidden Monsters entstand (Blog folgt).
Da ich nun keine Zeichnungen mehr für „Hidden Monsters“ anfertigen musste, aber trotzdem meine Zeichen- und Programmierfähigkeiten verbessern wollte, dachte ich mir: Wie wäre es, wenn ich neben „Hidden Monsters“ ein kleines Suchspiel in einer interaktiven Cartoon-Welt und mit einem kleinen Monster mache?
Also begann ich erst mal damit, ein Unity-2D-Projekt aufzusetzen. Ich habe einen Ballon gemalt und eine kleine Platzhalter-Grafik für das kleine Monster im Ballon erstellt. Außerdem habe ich rudimentär die UI aufgebaut. Was mir bei der Erstellung der ersten Grafiken geholfen hat, waren YouTube-Tutorials, Udemy-Kurse und viel Rumprobieren. Ich habe mir – wie auch bei den weiteren Grafiken – viele Referenzen rausgesucht. So sah die erste Szene aus:
Im weiteren Verlauf dachte ich mir, dass es doch bestimmt ganz cool wäre, wenn das kleine Monster mit dem Spieler interagieren würde. Also habe ich erst mal eine Sprechblase aufploppen lassen, nachdem es gefunden wurde.
Ich habe dafür gesorgt, dass die kleinen Monster gesammelt werden können und dass das Spiel gewonnen,neu gestartet und beendet werden kann.
.. und später wurde es auf die Ampel angewendet. Diese wird bei Mausklick grün, der Bus fährt weg und Charlie kann eingesammelt werden.
Wie bei vielen Elementen aus der Cartoon-Welt habe ich zuerst nach Inspiration im Internet gesucht. Nachdem ich einige Konzeptzeichnungen angefertigt hatte, hatte ich nach und nach ein Bild vor Augen, wie Charlie aussehen sollte. Natürlich musste ich viel rumprobieren und muss sagen, dass mir die Augen echt nicht leicht gefallen sind, aber am Ende hat sich die Mühe gelohnt. So sah Charlie zu Anfang aus:
Später wurden die Details, wie etwa das Fell, weiter ausgearbeitet, und er hat noch geschlossene Augen bekommen. Am Ende sah er so aus:
Für die Umsetzung habe ich Krita verwendet. Ich kann echt nur jedem raten, von Anfang an die Zeichnungen mit ausreichender, besser noch mit höherer Auflösung anzufertigen. Runterzuskalieren funktioniert sehr gut, aber umgekehrt leider nicht. Wenn ich meine Erfahrungen mit dem digitalen Zeichnen in einem Satz zusammenfassen müsste, dann wäre es wohl: „Wrong Layer“ Nachdem Charlie fertig gezeichnet war, wurde er als PSB exportiert und in Unity importiert. Dort hat er ein Mesh und Bones bekommen und konnte nun animiert werden.
Bei den Sounds habe ich auf unterschiedliche Quellen zurückgegriffen. Zum einen habe ich mir immer mal wieder Soundpakete bei Humble Bundle gekauft. Zudem habe ich auf den Unity Asset Store zurückgegriffen. Da einige Sounds nicht gepasst haben und ich z. B. für die Stimme von Charlie eine genaue Vorstellung hatte, habe ich die Erstellung bei Fiverr in Auftrag gegeben. Pixabay ist auch eine gute Anlaufstelle für Soundeffekte. Man muss nur im Vorfeld bei allen Quellen klären, ob man die Sounds für die eigenen kommerziellen Projekte verwenden darf. Für die Einbindung habe ich ein Singleton AudioManager-Skript geschrieben, das für die Wiedergabe und Steuerung der Hintergrundmusik und der Soundeffekte verantwortlich ist.
Bei 40 Charlies im Level kam mein Rechner schon an die Grenzen, und die Framerate fiel öfter mal unter 20 FPS. Auch wenn mein Rechner mittlerweile gute 10 Jahre alt ist, sollte das Spiel flüssig laufen. Um das zu realisieren, wollte ich alle Charlies und alle animierten Objekte deaktivieren, die nicht im Sichtfeld des Spielers sind. Ich musste mich da auch erst einmal schlau machen, wie das am besten umzusetzen ist. Am Ende sah das Ergebnis so aus:
Im Wesentlichen habe ich ein Prefab angelegt, das mein erstelltes Skript „PerformanceOptimizer“ trägt. Über die Funktionen OnBecameVisible und OnBecameInvisible wurden die gewünschten Objekte dann dementsprechend aktiviert bzw. deaktiviert. Damit die Funktion ausgeführt wird, musste die SpriteRenderer-Komponente hinzugefügt werden. Der Renderer legt dann auch gleichzeitig den Bereich fest, den die Kamera erfasst.
Für das Testen habe ich mir zusätzliche Hilfe von Familie und Freunden geholt. Es kann immer mal sein, dass einem Fehler nicht auffallen. Zudem kann der Test auf unterschiedlichen Systemen auch nicht schaden
Den Test und das Feedback habe ich zusammengefasst und dafür zur Testversion einen kleinen Fragebogen beigefügt (achtet nicht auf die Rechtschreibung
).
Den Abschluss der Entwicklung stellte dann das Bugfixing dar. Zudem wurden noch kleinere Anpassungen gemacht, wie etwa bei den Animationen. Natürlich bin ich auch auf das Feedback eingegangen. So wurde ein TimeManager hinzugefügt, der die Zeit stoppt. So kann der Spieler versuchen, mit jedem Durchgang schneller zu werden.
Die Entwicklung von „Find Charlie“ war sooooo cool. Es hat einfach unglaublich viel Spaß gemacht. Ich konnte mich kreativ austoben und habe viel Neues rund um das Thema Spieleentwicklung gelernt. Hierzu gehörten das digitale Zeichnen, das Programmieren, die Organisation und, und, und.
Klar hatte ich auch Stress, war überarbeitet oder kam bei gewissen Themen manchmal einfach nicht oder nur langsam voran. Aber am Ende hat alles geklappt, die Arbeit hat sich mehr als gelohnt, und ich hoffe, ihr habt beim Spielen genauso viel Spaß wie ich bei der Entwicklung
Falls ihr „Find Charlie“ selbst mal ausprobieren wollt, findet ihr das Spiel unter dem Steam-Link:
https://store.steampowered.com/app/3207580/Find_Charlie.
Falls ihr Fragen oder Feedback habt, freue ich mich immer über einen Austausch.