Quality-of-Life-Änderungen, welche sich für ein Fabrikspiel gehören
Hinweis: Dieser Blogpost wurde maschinell aus dem englischen Original übersetzt. Zum englischen Original.
Übersicht
In den letzten Wochen gab es zwei Haupttreiber für meine Arbeit: das Feedback aus der Demo und die Portierung von Bevy 0.16 auf 0.17 sowie der Wechsel zur Avian-Physik-Engine.
Unten gehe ich auf die neuen Quality-of-Life-Verbesserungen aus dem Feedback ein, aber zuerst möchte ich erklären, warum ich zu Avian gewechselt bin und welche Arbeit das mit sich brachte.
Wechsel zu Avian
Ursprünglich habe ich das bewährte Rapier 3D genutzt, war aber aus mehreren Gründen unzufrieden.
- Hohe Entwicklungslatenz. Angesichts der schnellen Veränderungen im Bevy-Ökosystem und den großen Verbesserungen in jeder Version war das ein echter Motivationskiller. Zum Zeitpunkt dieses Posts unterstützt Rapier noch immer kein Bevy 0.17.
- Etwas sperrige, nicht ganz elegante API.
- Keine automatische Collider-Generierung.
Trotzdem: Rapier ist eine solide Engine, und die Arbeit von dimforge für die Bevy-Community ist großartig. Sie ist einfach nicht der beste Fit für mich.
Der Wechsel zu Avian hat all diese Punkte adressiert und Dinge wie Raycasting deutlich angenehmer gemacht.
Dazu kommt das hervorragende Collider-Konstruktionssystem. <3 ConvexDecompositionWithConfig
Ein kleines Problem gab es dennoch: Avian hat keinen eigenen Character Controller wie Rapier. Nach einem Blick in die Avian-FAQ bin ich aber bei bevy_tnua gelandet – eine ausgezeichnete Alternative.
Zeitlich hat der gesamte Port einen Tag gedauert. Ungefähr:
- 2 Stunden für alle Collider und das Feintuning.
- 3 Stunden, um das Raycasting auszutauschen und die Collision Layers einzurichten. (Mit Enums sehr angenehm.)
- 3 Stunden, um die komplette Spielersteuerung auf tnua umzuziehen.
Dank der Arbeit von Joona Aalto bin ich sehr zufrieden mit Avian. Ich unterstütze ihn gern – und wenn ihr Avian mögt, könnt ihr das auch überlegen.
Allgemeine Quality of Life
Wir können jetzt springen!
Da tnua das Implementieren eines Sprungs einfach gemacht hat, habe ich ihn direkt eingebaut. Mit einer leicht umfunktionierten Animation – mehr dazu später – war das schnell erledigt.
Hier kommt die erste große Verbesserung basierend auf Feedback. Es wurde sehr deutlich, dass die Kosten von Gebäuden klar und zu jedem Zeitpunkt sichtbar sein müssen: davor, währenddessen und wenn man etwas nicht bauen kann. Jetzt sieht man beim Hovern oder Auswählen eines Gebäudes sofort die Kosten.
Maschinenproduktivität
Die Mining-Maschine zeigt jetzt ideale und reale Outputs.
Hier steckt der Großteil der Arbeit drin. Durch das Feedback von Factory-Game-Fans wurde mir schmerzhaft bewusst, dass ich einen absolut grundlegenden Punkt des Genres vergessen hatte: Spieler müssen klar sehen können, was verbraucht wird, was erzeugt wird und wo sie optimieren können.
Ich spiele selbst gern Satisfactory und Factorio. Keine Ahnung, wie ich das übersehen habe. Aber jetzt ist es drin.
Und: Es war ein Vergnügen, das mit Bevys ECS-System umzusetzen. Für solche Berechnungen gibt es schlicht keinen besseren Ansatz. Man fragt einfach alle Maschinen ab, deren Werte aktualisiert werden müssen, verarbeitet sie parallel und macht weiter. Wunderbar.
Der Ofen zeigt klar, was er wirklich braucht und was er produzieren sollte.
Einstellungen
Ein weiterer Grund, warum ich auf Bevy 0.17 gewartet habe, war das überarbeitete UI-System mit Observers. Damit konnte ich weg von Buttons und hin zu Slidern – deutlich sauberer. Mit Observers fühlt sich UI-Programmierung weniger sperrig an. Die Einstellungsseite ist jetzt viel besser.
Eine wichtige Verbesserung betrifft die Controller-Anzeige. Zuvor wurden Tastatur- und Maussteuerungen angezeigt, außer man hatte einen Xbox- oder Steam-Controller eingesteckt. Das führte zu Situationen, in denen Spieler nicht die passenden Hinweise sahen. Jetzt zeigt das Spiel standardmäßig an, was zuletzt genutzt wurde. Sehr viel besser.



Website-Überarbeitung
Noch im Aufbau, aber ein klares Feedback war, dass die Website kaum erklärt, worum es im Spiel überhaupt geht. Eine reine Textseite ist für ein Videospiel eher unüblich. Daher gibt es jetzt eine animierte Startseite.
In den kommenden Wochen werde ich weitere Bereiche mit mehr Medien und Informationen ergänzen. Dranbleiben lohnt sich.
Fazit
Viele Quality-of-Life-Verbesserungen basierend auf viel Feedback, und es kommt noch mehr. Ich bin ziemlich zufrieden damit und freue mich auf die nächsten Features.