Offsets, Menüs, Barrierefreiheit und 0.16

Hinweis: Dieser Blogpost wurde maschinell aus dem englischen Original übersetzt. Zum englischen Original.

Überblick

Letzte Woche hatte ich große Pläne: ein kurzer Mikro-Crunch und anschließend eine technische Vorschau. Wegen persönlicher Umstände konnte ich die nötige Zeit aber nicht investieren. Deshalb hat das Spiel nicht den Stand erreicht, den ich präsentieren wollte. Ich reiche es vermutlich später ein – Nachhaltigkeit geht vor, also musste ich das Ziel für diese Woche fallen lassen.

Trotzdem ist viel passiert, sowohl im Hintergrund als auch für Spieler:innen sichtbar. Und das ist alles sehr motivierend.

Bevy 0.16

Der erste große Brocken war der Port von Bevy 0.15 auf 0.16. Drei Gründe sprachen dafür:

  1. Ich möchte bald mit Förderbändern beginnen und die neuen ECS Relationships intensiv nutzen, um Quellen und Senken zu verwalten. Ohne sie hätte ich mir am Ende eine eigene Version davon gebaut.
  2. Ich wollte die stabilisierte Input-Focus-Funktion verwenden. Sie ist essenziell für Barrierefreiheit und Gamepad-Support (mehr dazu unten).
  3. Bevy entwickelt sich rasant. Hinterherzuhinken wäre für Exofactory aktuell fatal. Sobald Bevy stabiler wird, ändert sich das vielleicht – bis dahin sind Upgrades Pflicht.

Der Port war keine große Hürde, größtenteils ging es um den Abschied von veralteten Funktionen und etwas Refactoring. Ich habe die Gelegenheit genutzt, älteren Code aus meinen ersten Bevy-Tagen aufzuräumen, vor allem durch den Wechsel von Queries zu Single, wo möglich. So konnte ich einige verschachtelte if let Some(x) =-Blöcke entfernen – viel aufgeräumter.

Ein paar Abhängigkeiten waren noch nicht aktualisiert, daher habe ich vorübergehend deren 0.16-PR-Branches oder Release-Candidates eingebunden.

Animiertes Bild des Baumenu

Das zweite große Projekt war das neue, ziemlich vollständige Baumenu.

Ich habe damit nach 0.16 gewartet, weil ich unbedingt das neue Accessibility-/Focus-Feature nutzen wollte – hier kam es zum ersten Mal im Spiel zum Einsatz. Barrierefreiheit ist für mich Best Practice. Was Menschen mit Einschränkungen hilft, hilft letztlich allen – auch Entwickler:innen. So wird Gamepad-Unterstützung zur Kleinigkeit. Aus Code-Sicht sind Gamepads und spezialisierte Accessibility-Hardware im Grunde dasselbe.

Fazit

Ich habe diese Woche nicht ganz die gewünschte Qualität erreicht, bin aber zufrieden mit dem, was entstanden ist. Nachhaltigkeit bleibt mir wichtig – Burn-out gilt es zu vermeiden.