Neue Demo, neue Gebäude, neue Architektur
Hinweis: Dieser Blogpost wurde maschinell aus dem englischen Original übersetzt. Zum englischen Original.
Überblick
Im letzten Monat ist viel passiert. Richtige Architektur ist dazugekommen, mit Wänden, Türen, Leitern, Dächern und Böden. Damit ist das Spiel wirklich an dem Punkt, an dem man richtige "Fabriken" bauen kann. Außerdem sind ein paar Gebäude dazugekommen. Zusammen mit der Architektur machen sie den Vertical Slice, auf den ich hier hinarbeite, "komplett". In diesem Post geht es um diese neuen Systeme und Gebäude und darum, wie alles zusammenspielt. Die Navigation der Roboter (Exoframes) umzusetzen war mit den erwähnten Leitern besonders interessant.
Dieser Vertical Slice ist natürlich ein guter Anlass für eine neue, öffentlich spielbare Version des Spiels. Ich peile an, Anfang November 2026 eine öffentliche "Demo 2" zu veröffentlichen. Mehr dazu weiter unten.
Wenn du Demo 2 spielen möchtest oder diesen Post interessant findest, würde ich dir empfehlen, Exofactory auf Steam auf die Wunschliste zu setzen. Das hilft enorm.
Demo 2!
Mit der Arbeit vom August ist das Spiel "mechanisch komplett", zumindest im aktuell vorgesehenen Umfang des Vertical Slice. Falls du den Begriff nicht kennst (ich habe das selbst erst vor Kurzem gelernt, auch wenn ich das ungern zugebe): Ein Vertical Slice ist eine Art Meilenstein, Maßstab oder Stichtag, bei dem es darum geht, Fortschritte in allen Bereichen eines Projekts zu zeigen.
Für Exofactory heißt das, dass du Folgendes können solltest:
- Vielschichtige, komplexe und emotional befriedigende Fabriken bauen (sowohl im Spiel als auch außerhalb).
- Mehr über die KI erfahren, die du spielst, und durch das, was du im Spiel tust, anfangen, Wünsche, Bedürfnisse und moralische Werte zu entwickeln.
- Mit Freunden spielen, gemeinsam oder unabhängig voneinander arbeiten und problemlos dazukommen oder wieder gehen.
- Mehr über die Welt erfahren, in der du dich wiederfindest.
Allerdings macht ein "mechanisch kompletter" Vertical Slice noch lange kein Spiel, das Spaß macht. In den nächsten zwei Monaten gibt es noch viel zu polieren, zu testen, zu spielen und zu verfeinern.
Demo 2 ist für Linux und Windows über Steam geplant und, wenn möglich, auch für Linux über Flathub.
Natürlich wird es für Linux auch Builds für aarch64 und RISC-V geben.
Architektur
Die neuen Bauelemente bringen wirklich viel Leben ins Spiel. So viel, dass Trailer, Screenshots und Pressekit alle neu gemacht werden müssen. Ich würde sogar sagen, dass in den meisten 3D-Fabrikspielen der Umzug von Maschinen unter freiem Himmel in Gebäude DER Meilenstein ist, der den allerersten Anfang vom frühen bis mittleren Spielverlauf trennt. Wirklich cool, das jetzt in Exofactory zu sehen.
Wände & Türen
Vom Code her war es nicht besonders schwer, "nackte" Wände ins Spiel einzubauen. Ich habe den bestehenden Code für Bodenplatten so erweitert, dass er auch vertikale "Wände" unterstützt. Ich bin ein großer Fan von Bevys Relationship-System. Weil ich es hier und bei den Bodenplatten verwende, bekommen wir das Löschen mehrerer Elemente auf einmal, Gruppen und das Zusammenführen und Aufteilen von Gruppen gratis dazu. Wirklich praktisch. Technisch sieht das so aus: Wenn du ein Wand- oder Bodenplattensegment baust, gibt es eine Entity, die über eine Relationship mit dem Raster aus platzierten Wand- oder Bodenplattensegmenten verbunden ist. Wenn du diese Wand löschen willst, kannst du die Entity des Wandsegments ermitteln, das der Raycast bei der Auswahl getroffen hat. Darüber kommst du an die Relationship zur Entity der "gesamten" Wand und über diese Relationships wiederum an alle zugehörigen Segmente. Die kannst du dann alle löschen, zusammenführen oder damit machen, was du willst.
Türen sind ziemlich einfach. Es sind nur Wände mit einem Loch drin, ohne all die Komponenten, mit denen Wände den ganzen schicken Wandkram machen können.
Sowohl die Wände als auch die Türen sind meine eigene, definitiv nicht besonders gekonnte Blender-Arbeit. Die Assets sind vorläufige Platzhalter.
Eine interessante Hürde gab es allerdings noch. Beim Bauen kann man die Fläche, an der man einen Boden, eine Wand oder eine Decke erweitern möchte, oft nicht direkt sehen. Mit dem bisherigen Code konnte man nur an einer Fläche weiterbauen, deren entsprechende Kante sichtbar war.
Die Lösung war tatsächlich ziemlich elegant. Beim Platzieren der Bauelemente setzen wir entlang der relevanten Flächen einen vergrößerten Avian3D-Sensor ein. Zusammen mit weiteren Relationships lässt sich das Gebäude so ohne allzu viel Frust erweitern.
Leitern
Leitern zu entwerfen hat erstaunlich viel Spaß gemacht. Wie bei allen Assets ist die grundlegende Frage hier: Wie würde eine KI so etwas entwerfen, die zwar von Menschen geschaffen wurde, aber selbst kein Mensch ist und deren körperliche Einschränkungen nicht hat?
Bei Maschinen heißt das: keine Bedienfelder, keine auf Menschengröße ausgelegten Wartungsluken und keine Sicherheitssysteme zum Schutz weicher Menschenkörper.
Dieses Prinzip gilt auch für die Leiter. Sie ist auf die Bedürfnisse des einfachen Exoframe-Arbeitsroboters mit seinen vier Beinen zugeschnitten.
Während der Entwurf Spaß gemacht hat, gab es bei der Umsetzung viel zu lernen. Besonders bei der Kletterfunktion des Tnua-Character-Controllers und ihrer Anbindung an bevy_landmass für die autonome Navigation.
Das Problem ist, dass ein Gebäude mit vielen durch Leitern verbundenen Etagen einen "Archipel" aus begehbaren Bereichen bildet. Jede Etage ist von den anderen isoliert.
Landmass bietet genau dafür Animation Links. Im Grunde definiere ich an den beiden Enden der Leiter einen Ein- und Ausstieg, die zwei Inseln des Archipels verbinden. Landmass kann diese Verbindung dann bei der Routenplanung berücksichtigen.
Wenn ein Exoframe die Verbindung erreicht, füge ich eine UsingAnimationLink-Komponente hinzu, um die Steuerung zu übernehmen. Dann gebe ich die Eingaben fürs Annähern und Klettern an den vorhandenen Controller weiter. Tnuas Obstacle Radar findet einen Ankerpunkt am Collider der Leiter, und die Kletteraktion bewegt den Roboter nach oben oder unten. Manuell gesteuerte und automatisierte Exoframe-Roboter nutzen dabei denselben eigentlichen Klettercode.
Sobald ein Exoframe die Leiter verlassen hat, wird die UsingAnimationLink-Komponente entfernt und Landmass übernimmt wieder den Rest des Weges.
Gebäude
Mein Plan war, so wenige neue Gebäude wie möglich ins Spiel einzubauen. Nachdem ich mir überlegt hatte, was wirklich nötig ist, um Exofactorys besondere Systeme zur Geltung zu bringen, konnte ich es auf 2,5 Gebäude eingrenzen.
Damit hat die Demo, glaube ich, genug direkt erkennbare (und emergente) Komplexität, um auch für sich genommen Spaß zu machen.
Ressourcenbank
Die Ressourcenbank ist ein weiteres vorläufiges Asset, das ich gebaut habe, um eine zentrale Funktion des Spiels zu ermöglichen.
Im Spiel erzeugt es ein Gefühl von Sicherheit und Wohlbefinden, Items an die Ressourcenbank zu schicken. Im an Freud angelehnten Modell der Selbstverwirklichung, auf dem das Spiel aufbaut, stillt das ein Verlangen des Es. Dadurch werden Ressourcen des Ichs frei, um Dinge zu tun, die du beim Spielen vielleicht zu schätzen weißt.
Rein mechanisch, abseits von Lore und Spieldesign, schaltet die Ressourcenbank Quality-of-Life-Features frei, je nachdem, welche Items du dort abgibst. Das Besondere daran: Anders als in anderen Fabrikspielen bleiben diese Freischaltungen nur erhalten, solange du die erforderliche Menge pro Zeiteinheit lieferst. Wenn die Produktionskette zusammenbricht, kannst du diese Quality-of-Life-Vorteile verlieren.
Integrator
Das zweite Gebäude ist der Integrator, auch bekannt als das Gebäude mit zwei Eingängen und einem Ausgang. In der Demo konnte man verzinktes Eisen nur von Hand herstellen. Dafür braucht man Structural Iron und Zinkbarren.
Diese Maschine ist zwar kein von mir gebautes Platzhalter-Asset, aber ganz zufrieden bin ich damit auch nicht. Sie kann sich also noch ändern.
Damit lassen sich jetzt alle verfügbaren Rezepte vollständig automatisieren.
Förderbänder der Stufe 2
Das letzte halbe Gebäude ist ein schnelleres Förderband mit 128 Items / min. Vorerst ist es das Förderband der Stufe 1 in einer anderen Farbe. Es ist dazugekommen, weil man allein mit dem einfachen Förderband der Stufe 1 und seinen 64 Items / min kaum eine richtige Fabrik in nennenswerter Größe bauen kann.
Wie geht es weiter?
Die Spielmechaniken für Demo 2 stehen zwar alle, aber das Spiel ist noch lange nicht fertig. Zwei Bereiche möchte ich überarbeiten: das Tempo des Intros und das Terrain.
Das Feedback zu Demo 1 und von Freunden und Familie beim Testen hat gezeigt, dass sich Intro und Tutorial quälend langsam hinziehen. Filmreif und geheimnisvoll, klar, aber viel zu trocken. Das Ziel ist, diese Abschnitte so umzuschreiben, dass sie sich nicht mehr so langsam oder erzwungen anfühlen. Die Herausforderung wird sein, dabei sowohl Leuten mit viel Erfahrung in Fabrikspielen als auch denen gerecht zu werden, die zum ersten Mal eines spielen.
Der zweite Schwerpunkt wird das Terrain sein.
Meine aktuelle Terrain-v3-"Engine", die ich 2025 gebaut habe, sollte dafür ausreichen. Das Problem ist, dass das Terrain selbst ziemlich schlecht ist.
Exofactory hat sich schon vor einer Weile vollständig von Voxeln verabschiedet, allerdings erst, nachdem die aktuelle Demo-Karte entstanden war. Beim Entwurf dieser Karte drehte sich alles darum, Probleme mit Voxeln zu vermeiden.
Jetzt muss ich mir keine Gedanken mehr darüber machen, ob alles eben ist oder Gebäude an einem Raster ausgerichtet sind. Damit sollte es, glaube ich, einfacher möglich sein, eine Karte zu entwerfen, die optisch interessant ist, sich angenehm erkunden lässt und voller Überraschungen steckt.
Ich vermute, dass der Großteil der Arbeit in den nächsten Monaten ins Terrain-Design fließen wird.
Fazit
Gemischte Gefühle bei diesem Meilenstein. Einerseits bin ich als Game-Dev wirklich stolz, so weit gekommen zu sein. Andererseits bin ich als Backend-Dev traurig, dass meine liebste Art von Arbeit erst mal Pause hat (also neue Features als Prototypen bauen und Spaß dabei haben).
Insgesamt bin ich aber wirklich froh, an diesem Punkt zu sein. Beim Feinschliff wird es darum gehen, das Spielgefühl auszuarbeiten und zu verfeinern. Wie sich das Spiel anfühlt und was man dabei erlebt, ist am Ende das, worauf es ankommt.
Noch einmal: Wenn du Demo 2 spielen möchtest oder diesen Post interessant findest, würde ich dir empfehlen, Exofactory auf Steam auf die Wunschliste zu setzen. Es hilft wirklich.