Devlog #2 - Project Space - Initiales Tooling
Heute geht es weiter mit meinem zweiten Game Devlog. Dieses Mal geht es um meine ersten Versuche Dinge umzusetzen und auszuprobieren. Dabei liegt der Fokus vor allem auf meinem initial genutzen Tooling. In der ersten Jahreshälfte 2022 erstellte ich Mockups und versuchte meine vage Idee zu konkretisieren. Dabei arbeitete ich viel analog, einfach auf Papier. Grund dafür war vor allem die Flexibilität ohne Tooling schnell Kleinigkeiten zu visualisieren. Später wechselte ich auf mein gutes altes Rocket Book open_in_new, denn hier habe ich die Freiheit analog zeichnen und schreiben zu können, kann aber gleichzeitig alles schnell und einfach digitalisieren.
Parallel implementierte ich erste Komponenten, damals noch in der Flame Engine open_in_new. Die Wahl war auf diese Engine gefallen, da ich mit Flutter und Dart zu dieser Zeit am meisten innerhalb meiner privaten Projekte arbeitete. Außerdem gefiel mir die Idee das Spiel auch ohne großen Aufwand direkt aufs Smartphone bringen zu können. Flame setzt dabei auf Flutter auf, sodass sich mein Tech Stack logisch erweiterte. Flame hat eine eigene Game Loop für das eigentliche Spiel und GUI Elemente können via Flutter erstellt werden. Programmiert wurde wie bei mir gewohnt in Android Studio open_in_new, da selbiges für mich die Standardentwicklungsumgebung im Kotlin / Java und Dart / Flutter Kontext ist.
Als weiteres Tool nutzte ich GIMP open_in_new zu Erstellung erster Assets. Dabei probierte ich mit verschiedenen Stilen herum und entschied mich für einen eher realistischen Low-Poly Look. Konkret heißt dies, klare Formen und wenige aber deutliche Farben. Grund dafür ist vor allem das übermäßige Details ohnehin untergehen werden, denn die einzelnen Schiffe oder Tower werden relativ klein dargestellt und mitunter kann eine große Anzahl von selbigen gleichzeitig auf dem Bildschirm unterwegs sein.
Während dieser Phase war ich viel online unterwegs, um mich inspirieren zu lassen, denn vor allem grafische Inhalte sind komplettes Neuland für mich. Insofern startete ich hier quasi bei Null und verbrachte viel Zeit auf Google. Dadurch fand ich z.B. auf Quaternius open_in_new, DeviantArt open_in_new und itch.io open_in_new diverse spannende Inhalte, wodurch ich eine erste Idee bekam, wie ich z.B. Schiffe oder Planeten konkret umsetzen könnte.
Da ich in meinem Spiel auf physikalisch korrekte Bewegungen setzen möchte, war es nötig sich mit diversen größeren und kleineren mathematischen Problemen auseinanderzusetzen. Auch hier war etwas mehr Nachdenken gefragt, denn das letzte Mal Mathe hatte ich zuvor im Studium. Generell konnte ich dank des Internets schnell die Grundlagen wieder auffrischen, vor allem was Bewegungen oder auch die Zielerfassung angeht. Hilfreich war natürlich auch das Vektoren im allgemeinen nicht unbedingt neu für mich sind. Ebenfalls praktisch ist das ich mich nur im 2D Raum bewege, sodass viele Berechnungen etwas simpler werden. Außerdem sind viele Operationen auf Vektoren und generell im mathematischen Bereich bereits über Bibliotheken verfügbar.
Im Audiobereich hatte ich zu diesem Zeitpunkt und eigentlich auch bis jetzt kein wirkliches Tooling. Grund dafür ist das ich sowohl Effekte, wie auch Musik extern erwerben werde. Denn während ich im grafischen Bereich durchaus einiges selber umsetzen kann, so wird dies im Audiobereich nicht möglich sein. Insofern gibt es hier vermutlich maximal kleine Nachbearbeitungen via z.B. Audacity open_in_new.
Durch dieses parallele herum probieren in diversen Bereichen war ich zwar nicht besonders schnell, lernte aber extrem viel und konnte an verschiedenen Stellen eventuelle Probleme mit meinem aktuellen Tech-Stack identifizieren. Außerdem konnte ich mir eine Liste von Ressourcen zusammenstellen, welche mir je nach Problemstellung bei der Lösung helfen konnten. In dieser Phase startete ich auch damit erste Tickets zu erstellen. Diese füllte ich z.B. mit groben Beschreibungen von grundsätzlichen Spielabläufen oder auch mit technischen Anforderungen die definitiv benötigt werden. Doch dazu mehr im nächsten Teil meiner Game Devlog Reihe. Solltet ihr Fragen haben meldet euch wie gewohnt gerne in den Kommentaren.