- Es ist kein Tool, um eine Factorio-Basis neu zu spielen, sondern ein experimentelles Projekt, mit dem sich die Abläufe einer bestehenden 2D-Basis im 3D-Raum von UE5 ansehen lassen.
- Die Asset-Erstellung erfolgte auf Basis der Spiel-Sprites in der Reihenfolge Modellierung in Cinema4D, Texturen in Photoshop, Export als FBX und Anwendung von Shadern in UE5.
- Wenn das FUE5-exporter-Mod die internen Daten von Factorio als JSON exportiert, liest FUE5 Gebäudetypen, Ausrichtungen und Kabelverbindungen aus und rekonstruiert die Basis visuell.
- Förderbänder, Züge und Logistikroboter nutzen UE5-Blueprints und Splines; bei den Zügen werden von Factorio vorab berechnete Routen übernommen.
- Bei großen Basen kam es zu FPS-Einbrüchen und instabilen Blueprint-Events, daher wurde durch Reduzierung von Polygonen, Texturen, Partikeln, on-tick-Updates und LODs auf 30–60 FPS optimiert.
Ziel von FUE5
- FUE5 steht für Factorio in Unreal Engine 5 und ist ein experimentelles Projekt zur Visualisierung der 2D-Welt von Factorio im 3D-Raum.
- Es wurde vom 3D-Artist Hurricane und dem Factorio-Modder Nuke ab dem 10. Januar 2023 über rund 5 Monate entwickelt.
- Es ist eine 3D-Visualisierungsumgebung, die eine Factorio-Basis importiert und ihren Betrieb visuell nachbildet; Gameplay ist nicht enthalten.
- Nutzer können in 3D um ihre eigene Basis herumfliegen und sie erkunden.
Asset-Erstellung und Integration in UE5
- Assets wie Montageanlagen oder Greifarme aus Factorio mussten auf Basis der Spiel-Sprites als 3D-Modelle und Animationen neu erstellt werden.
- Die Produktionspipeline bestand aus folgender Reihenfolge
- 3D-Modellierung in Cinema4D
- Erstellung der Texturen in Adobe Photoshop
- Export aus Cinema4D im FBX-Format
- Import in Unreal Engine 5 und Anwendung von Shadern für Glas, Metall oder Schornsteinrauch
- Kernlogik wie Förderbänder, Züge und Logistiksysteme wurde mit dem grundlegenden Blueprint-Node-System von UE5 umgesetzt.
- Damit sich bewegende Züge und die Ausrichtung von Gegenständen auf Förderbändern korrekt stimmen, waren 3D-Modelle mit exakten Abmessungen nötig; deshalb wurde die Systemlogik erst nach Abschluss des Großteils der Modellierung erstellt.
- Durch den direkten Export einer Factorio-Basis aus dem Spiel in die Unreal-Engine-Umgebung verringerte sich der Aufwand, Basen in UE5 manuell nachzubauen, erheblich.
So gelangen Factorio-Daten in FUE5
- Das Struktursystem erzeugt Bauwerke ähnlich dazu, wie Gebäude in Factorio platziert werden.
- Das FUE5 exporter mod liest interne Spieldaten aus und exportiert sie als JSON-Datei
- Gebäudetyp
- Gebäudeausrichtung
- Kabelverbindungen
- FUE5 liest diese JSON-Datei und bildet die Struktur der echten Basis sowie die Fahrzeugbewegungen visuell nach.
Förderbänder, Züge und Logistiksysteme
-
Förderbänder
- Es wurden nicht nur 3D-Modelle einzelner Förderbänder benötigt, sondern auch ein Mechanismus, mit dem sich Gegenstände entlang der Bänder bewegen.
- Förderbänder werden als Splines dargestellt.
- Wenn der FUE5 exporter die Basis exportiert, werden zusammenhängende Förderbandabschnitte, die in einem Tunnel enden, für sich selbst enden oder eine Schleife bilden, jeweils als unabhängige Systeme behandelt.
- FUE5 erstellt für jeden Abschnitt einen Spline, und die Gegenstände bewegen sich entlang derselben Wege wie im eigentlichen Spiel.
-
Züge
- Da es schwierig gewesen wäre, Fahrpläne, Signale und die Pfadsuche von Lokomotiven direkt nachzubilden, wird das grundlegende Pfadsuchsystem von Factorio verwendet.
- Damit in FUE5 ein Zug erzeugt wird und sich bewegt, müssen vor dem Export der Basis Ziel und grünes Signal gesetzt sein.
- Anschließend werden die von Factorio vorab berechneten Zugrouten eingelesen, als Splines erstellt und die Zugbewegung in FUE5 gesteuert.
-
Logistikroboter
- Baurroboter sind ausgenommen; die Erzeugung von Gebäuden wird über das grundlegende Construction-Script-System von UE5 verarbeitet.
- Stattdessen lag der Fokus auf der Umsetzung von Logistikrobotern, einem wichtigen visuellen Element in halbwegs ausgebauten Factorio-Basen.
- Jeder Roboport erzeugt mit einer gewissen Wahrscheinlichkeit zufällig Cluster von Logistikrobotern.
- Jeder Roboter sucht in der Umgebung nach Logistikkisten und fliegt zwischen ihnen hin und her, um den Ressourcentransport visuell nachzubilden.
- Ist ein Transportauftrag abgeschlossen, fliegt er zur Position des nächstgelegenen Roboports und verschwindet dann.
Leistungsprobleme und Optimierung
- Beim Import großer Basen in FUE5 fiel die FPS deutlich ab, und die Ergebnisse von Blueprint-Events wurden instabil.
- Um mit 30–60 FPS zu laufen, war eine Optimierung durch Reduzierung der folgenden Elemente nötig
- Polygonanzahl
- Texturauflösung
- Partikel
- Anzahl der on-tick-Updates
- Viele der anfänglichen Ruckler traten im Förderbandsystem auf; durch Optimierungen in diesem Bereich wurde die Leistung verbessert.
- Für animierte Teile von Bauwerken wurde zusätzlich über LOD weitere FPS gewonnen.
- Beispiel: rotierende Zylinder einer Zentrifuge
- Beispiel: Zahnräder und Kolben auf dem Dach einer Montageanlage
- Es war außerdem die Zustimmung des Factorio-Entwicklers Wube Software nötig; unter der Bedingung einer rein nichtkommerziellen Nutzung wurde die Veröffentlichung des Projekts erlaubt.
Trailer und visuelle Inszenierung
- Nachdem in den ersten zwei Monaten die Grundidee und der Großteil des Prototypings feststanden, wurde es einfacher, verschiedene Factorio-Assets und -Systeme nachzubilden.
- Danach verlagerte sich der Fokus auf die gesamte visuelle Qualität und die Erstellung des Haupt-Release-Trailers.
- Der Trailer zeigt eine große mit dem FUE5 exporter erzeugte Basis sowie verschiedene Elemente, die in der FUE5-Umgebung möglich sind.
- Allein durch den Export einer Basis aus Factorio ließ sich kein sauberes, filmisches Ergebnis erzielen, daher wurden viele Teile manuell an die Kamera angepasst.
- Im Vergleich zu langgezogenen Strukturen mit einzelnen Gebäuden für hohe SPM waren komplex verflochtene Spaghetti-Basen visuell interessanter.
Nutzungsbedingungen und Veröffentlichungspläne
- FUE5 ist kein Spiel und hat auch keine Benutzeroberfläche; für die Nutzung sind daher grundlegende UE5-Kenntnisse nötig.
- Die Verwendung ist auf der GitHub-Seite beschrieben.
- Das grundlegende Verfahren besteht darin, UE5 zu installieren und das Projekt zu starten, dann die zu exportierenden Basis-Chunks auszuwählen und nach FUE5 zu exportieren.
- Die genauen Schritte sind im how-to guide zu finden.
- Das Projekt wurde über GitHub als Open Source veröffentlicht, damit die Factorio-Community eine vertraute Welt in einer neuen Dimension erleben und neue Ergebnisse schaffen kann.
- Es wird weiter daran gearbeitet, die bestehenden Systeme benutzerfreundlicher zu machen und sie auch für große Basen zuverlässig funktionieren zu lassen; außerdem wird die künftige Ergänzung von Mod-Inhalten geprüft.
1 Kommentare
Hacker-News-Kommentare
In Factorio gewinnt man, wenn man eine Rakete startet, aber bei Space Exploration geht es genau danach erst richtig weiter. Man baut Basen auf mehreren Planeten des Sonnensystems, nutzt die einzigartigen Ressourcen jedes Planeten, entwickelt das Sonnensystem weiter und expandiert dann in den interstellaren Raum und in andere Sonnensysteme.
Unterwegs gibt es einen Siegbildschirm am „Viertelpunkt“, aber es gibt noch einen weiteren Siegbildschirm, bei dem man ein Geheimnis erforscht, das sich über das gesamte bekannte Universum erstreckt und auch einiges an mathematischem Wissen verlangt. Das sind hunderte Stunden Spielzeit, und alles ist sehr ausgereift.
Das Mod verändert das Spiel so, dass man mithilfe von Stern- und Sonnensystemkarten mit Raumschiffen zwischen Planeten reisen kann, und insgesamt funktioniert das sehr gut. Allerdings ist es besser, die Beißer stark zu reduzieren. Dieses Mod verlangt Geduld, und die Kampfintensität passt nicht gut zu diesem Spielfluss; das Mod selbst weist beim Start per Pop-up sogar darauf hin, die Beißer herunterzustellen.
Die Zahl der Fabriken und Produktionslinien, die man bauen muss, um zur nächsten Stufe zu kommen, wächst immer weiter. Ich glaube, erst nach fast 100 Stunden war ich an dem Punkt, an dem ich zwei Produktlinien, die für die nächste Wissenschaftsstufe nötig waren, von einem anderen Planeten importiert habe.
Als zusätzlicher Tipp würde ich empfehlen, die Wissenschaftskosten zu erhöhen. Der Ausbau zur nächsten Stufe dauert mehrere Stunden, und oft gehen einem vorher die Dinge aus, die man erforschen kann, sodass es sich anfühlt, als hätte die Fabrik nichts mehr zu tun und stünde still.
SE ist großartig, aber ein gewaltiger Zeitfresser. Ich habe über 3500 Stunden in Factorio, ich glaube, da stimmt irgendetwas nicht mit mir.
Trotzdem war es wirklich cool und beeindruckend, Factorio in 3D zu sehen.
pyanodons fügt sehr realistische Erzverarbeitungsketten, petrochemische Prozesse, Mechaniken zur Energieerzeugung, eine Überarbeitung elektronischer Bauteile und landwirtschaftliche Elemente mit Pflanzen und Tieren hinzu. Der Hauptentwickler pyanodon arbeitet hauptberuflich als Chemieingenieur.
Ein kompletter py-Durchlauf geht leicht über 1500 Stunden. Für die meisten Vanilla-Spieler ist das vielleicht nicht besonders spaßig, aber wer Mods wie Space Exploration oder Nullius mochte, kann daran Gefallen finden.
[0]: https://mods.factorio.com/user/pyanodon
Und für alle, die zuerst dachten: „Wie kann das legal sein?“ hier das Zitat: „Auf die Frage nach der Rechtmäßigkeit dieser Arbeit zeigte Factorio großes Verständnis und erlaubte die Veröffentlichung des Projekts unter der Bedingung, dass es nicht kommerziell genutzt wird.“
Aus der Sicht von jemandem, der den originalen Quellcode gesehen hat: Der Code ist insgesamt ziemlich okay, aber nicht besonders ehrfurchtgebietend. Es ist C++ mit Mehrfachvererbung, und die Spielobjekte rufen über mehrere Ebenen hinweg gegenseitig Methoden auf, außerdem gibt es einiges an Code nach dem Muster „vielleicht nicht optimal, aber es funktioniert und wir ändern es jetzt nicht“.
Dass das alles trotzdem gut läuft, liegt an umfassenden automatisierten Tests und an einer Kultur, in der Rseding einen PR sofort korrigiert, wenn man weniger optimierten Code einreicht. Der interessante Teil sind die Algorithmen, und die werden in Friday Facts behandelt.
Und auch https://old.reddit.com/r/factorio/comments/13bsf3s/technical... ist sehr interessant zu lesen. Dort geht es um Dinge wie doppelt verkettete Listen und Mehrfachvererbung.
https://www.factorio.com/blog/
https://physics.highpoint.edu/~bbarlow/courses/phy2100/docum...
Orange, und in der „GUI“-Ansicht erscheinen auch graue Kacheln
Das langsame Anfangstempo und die etwas leblose isometrische 2D-Grafik haben mich zunächst nicht abgeholt. Die Blogbeiträge waren aber interessant, und weil es von allen Seiten so gelobt wurde, habe ich es bei der vierten Installation durchgehalten und tatsächlich ein gutes Stück gespielt
Inzwischen halte ich es für eines der besten Spiele aller Zeiten. Technisch ist es absurd beeindruckend, und selbst riesige Basen voller Züge, Förderbänder, Roboter und Greifarme laufen mit 60 FPS. Es stürzt nicht ab, macht enorm viel Spaß und hat ein hohes Suchtpotenzial. Die Mods sind großartig und die Community ebenfalls
Ich freue mich wirklich auf die Erweiterung. Man kann wohl davon ausgehen, dass sie von Anfang an genauso poliert sein wird wie Factorio
Der Einstieg ist schneller, es behandelt Prozesse aus der realen Welt, bietet Geländeverformung und ist meiner Meinung nach in jeder Hinsicht besser als Factorio. Ich halte Factorio zwar für das genreprägende Spiel, und auch Satisfactory und Dyson Sphere Program hätten es fast übertroffen, aber durch ihre 3D-Natur lösen sich die Rätsel leichter
Captain of Industry hat trotz zusätzlicher Dimensionen ähnlich anspruchsvolle Rätsel wie Factorio und dazu noch deutlich mehr Ressourcen, die man verwalten muss
Ich könnte mir eine Art Factorio-artiges Kampfsystem in UE5 vorstellen
Man stelle sich ein Spiel vor, in dem man eine Fabrik betreiben und instand halten muss, während gleichzeitig PvP-Spieler in Ego-Perspektive durch die Fabrik rennen, kämpfen und ständig die Versorgungslinien sabotieren, die dann repariert werden müssen. Man könnte Teil des Fabrik-Wartungsteams sein oder als PvP-Spieler losziehen, Gegner ausschalten und gleichzeitig die Versorgungswege der anderen Seite zerlegen
Natürlich waren meine Modelle für den 3D-Druck viel einfacher, weil man dafür kein ordentliches UV-Mapping oder Texturing braucht
Einige Werkzeuge sind tatsächlich deutlich besser geworden. Zum Beispiel hilft Substance 3D fürs Texturing enorm, besonders wenn das automatische UV brauchbare Ergebnisse liefert. Die grundlegenden 3D-Modellierungswerkzeuge selbst haben sich aber im Kern nicht so stark verändert wie man vielleicht denkt
Auch die Modelle auf den Screenshots wirken topologisch ziemlich dicht, also dürfte das eine ganze Menge Arbeit gewesen sein
Ich habe es drei Wochen lang wie verrückt gespielt und musste mich dann mit Gewalt davon losreißen. Wirklich ein einzigartiges Spiel