Alt-F4 #21 – Die Ultimative Moddingehre  15.01.2021

Geschrieben von stringweasel, Conor_, editiert von Nanogamer7, Therenas, nicgarner, Firerazer,
übersetzt von EDLEXUS, Nanogamer7, lektoriert von dexteritas, marceljoint

Inhaltsverzeichnis

Diese Woche kehren wir zu unserem üblichen Programm und einer weiteren Folge unserer Lieblingsserie zurück: Nauvis Archives! stringweasel öffnet wieder mal das Geschichtsbuch, um ein paar ältere Mods zu betrachten, und wie sie zu einem Teil des Basisspiels wurden. Am Schluss haben wir noch eine kurze Umfrage für dich, werter Leser; wir würden uns freuen, wenn du dir zwei Minuten nimmst, um die Fragen zu beantworten.

Nauvis Archive: Von Mod zu Vanilla stringweasel

Factorio hat eine sehr große Moddingcommunity. Es gibt eine Mod für so ziemlich alles, was man sich wünschen kann. Von kompletten Spielveränderungen wie Space Exploration oder Krastorio 2, bis hin zu kleinen Quality-of-Life-Verbesserungen wie Squeak Through oder der Möglichkeit, beim Autofahren die KnightRider-Musik zu hören. Manche Mods sind beliebter als andere – einige haben sogar über eine Million Downloads erreicht. Die wahrscheinlich größte Ehre, die einem Modder zukommen kann, ist, wenn seine Mod in das Grundspiel übernommen wird. Beispiele dafür sind Research Queue (zu Deutsch: „Forschungswarteschlange“) oder Landfill („Landaufschüttung“), oder die Mod der Moder Rseding, der in das Team aufgenommen wurde.

Ich habe mir ein paar dieser später übernommenen Mods heruntergeladen und genauer angeschaut. Wie dir vielleicht schon aufgefallen ist, weisen manche der Links ins Factorio Forum und nicht wie üblich zum Modportal. Das liegt daran, dass vor der Veröffentlichung von Version 0.13 (im June 2016) alle Mods im Forum gehosted wurden. Erst seit der Veröffentlichung von Version 0.13 wird das Modportal verwendet.

Flüssigkeitentransport

Heutzutage ist es sehr einfach Flüssigkeiten zu transportieren. Man kann Züge mit Kesselwagen, einfach nur Rohre oder auch Fässer verwenden, um Flüssigkeiten von A nach B zu transportieren. Aber dies war nicht immer der Fall. Kesselwagen wurden erst mit Version 0.15 im April 2017 hinzugefügt. Davor musste man leere Fässer zum Ölaußenposten transportieren, sie dort befüllen und in der Hauptbasis wieder leeren – dazu war ein gutes Management der leeren Fässer notwendig. Oder man hat sich einfach die Rail Tanker Mod, welche ursprünglich von JamesOFarrell geschaffen wurde, heruntergeladen. Die Mod erschien im November 2014 als Erweiterung seiner Wagons Mod. Als die Mods später ins Modportal überführt wurden, übernahm Choumiko die weitere Betreuung der Mod.

Die Railtankermod, wie sie in Version 0.12 war (obwohl sie ursprünglich für 0.11 veröffentlicht wurde). Schön zu sehen sind die alten Zuggrafiken und das Fehlen der Lücke zwischen den Wagons

Diese Mod hatte einige Grenzen. Beispielsweise durfte man keine Greifer neben den Waggon setzen, da er die Platzhalteritems aus dem Wagen nehmen würde und ihn so zerstört. Die einzige Möglichkeit zur Befüllung bildeten maximal zwei der kleinen und sehr schwachen Pumpen – es gab noch keine normalen Pumpen. Auch die Platzierung der Pumpen war inkonsistent, besonders nach der Veränderung der Zuggröße in 0.13, aber die Railtankerwagenlänge gleichblieb. Funfact am Rande: Hast du dich mal gefragt, warum der Kesselwagen aus drei einzelnen Tanks besteht? Als die vanilla Kesselwagen in Version 0.15 hinzugefügt wurden, konnte man drei verschiedene Flüssigkeiten in jedem Wagen transportieren.

Der andere Weg, Flüssigkeiten über lange Strecken zu transportieren, war mit Fässern. Fässer waren schon seit langer Zeit ein Bestandteil von Factorio, aber zunächst konnte der Spieler Fässer nur mit Rohöl füllen. Der erste, der diese Limitierung umging, war ein Modder mit dem lässigen Namen btw und seiner Liquid Station Mod, welche er im März 2014 für Version 0.9 herausgebracht hat. In dieser Mod konnte man alle Flüssigkeiten in Fässer füllen, benötigte dafür aber eine spezielle Maschine, die Liquid Station (Flüssigkeitenstation).

Die Liquid Station Mod in Factorio 0.10. Hier wird Schwefelsäure zwischen zwei Lagertanks hin- und herbewegt.

Diese Mod wurde nicht für lange Zeit weiterentwickelt, führte aber zu einer Mod, welche näher an dem ist, was wir heute kennen. Diese Mod hieß Fluid Barrels von firegrenade und kam im Januar 2015 für die Version 0.11 heraus (und wurde später ins Modportal migriert). Mit dieser Mod konnte jede Montagemaschine zum leeren und befüllen von Fässern verwendet werden, so wie es heute auch in Vanilla der Fall ist. Es dauerte aber bis April 2017 und Version 0.15 – drei Jahre nach der Liquid Station Mod – bis alle Flüssigkeiten in Vanilla Fässer befüllt werden konnten. Eine weitere ehrenwerte Nennung als Fassmod kommt Omnibarrels von GotLag zuteil. Die von ihm erstellten Grafiken haben wahrscheinlich die Vanillagrafiken für einige Zeit stark beeinflusst, nachdem sie von den Entwicklern bei ihm angefragt wurden:

Unterhaltung zwischen V453000 und GotLag
Unterhaltung zwischen Entwickler V453000 und Modder GotLag (alias Stone Cold Jane Austin). Sie fand im FFF-Kanal des offiziellen Factorio-Discords statt. (Link zur Unterhaltung)

Das Auswahlwerkzeug (die Q-Taste)

In den alten Zeiten konnte man nicht einfach Q drücken, während man mit der Maus über einem Gebäude ist und dann den Gegenstand auf magische Art und Weise in der Hand haben. Nein, man musste es selbstständig aufwendig im Inventar oder in der Schnellzugriffsleiste suchen. Wenn man die Schnellzugriffsleiste verwendet hat, musste man sich noch durch einige zusätzliche Items wühlen, da sie damals noch ein eigenständiges Inventar war und nicht einfach nur Verknüpfungen. Ein Modder namens Tinyboss nahm sich diesem ständigen Leiden an und schuf die originale Picker Mod im August 2015. Nach einiger Zeit erlaubte es Tinyboss dem Modder Nexela die Mod zu übernehmen, welcher daraufhin die Picker Extended Mod erstellte.

Bildschirmfoto der Modseite für die Picker Mod
Die Modseite der originalen Pickermod, nachdem sie ins Modportal übertragen wurde. (Tinyboss ist auch bekannt unter vielen anderen passenden Aliasnamen)

Glücklicherweise wurde diese Modfunktionalität ins Grundspiel implementiert. Obwohl die Grundidee dieser Mod sehr simpel ist, ist es doch ein sehr starkes Werkzeug. Es ist eins dieser Features, wo man, sobald man sich daran gewöhnt hat, sich nicht vorstellen kann, wie man jemals ohne spielen konnte. Man muss an dieser Stelle anmerken, dass nur ein kleiner Teil der Funktionalität der Mod übernommen wurde. Die Mod ist immer noch verfügbar und bietet eine ganze Reihen anderer sinnvoller Features.

Persönlicher Roboterhangar

Viele Factoriospieler beeilen sich, um beim Aufbau einer Basis möglichst schnell den persönlichen Roboterhangar zu erreichen. Es ist schwer sich Factorio ohne ihn vorzustellen. Denk nur mal darüber nach, wie es wäre, ein gesamtes Schienennetz per Hand zu bauen oder Außenposten ohne die kleinen praktischen Helfer aufzubauen. Aber dieses unglaubliche Werkzeug wurde erst im Juli 2015 mit Version 0.12 hinzugefügt. Vorher waren sie nur als Pocket Bots (Taschenroboter) bekannt und nur über eine extra Mod verfügbar.

PocketBots im Forschungsmenü
Die Pocket Bots Technologieanzeige in Version 0.12

Pocket Bots wurden im Juni 2014 von JamesOFarrell im Factorio-Forum in einem Thread namens Pocket Bots: Construction bots for your pocket (zu Deutsch: „Taschenroboter: Bauroboter für die Tasche“) veröffentlicht. Und wie zu erwarten war, wurde die Mod sehr bekannt und von vielen verwendet. Um diese Mod in der alten Factorioversion zum Laufen zu bekommen, musste JamesOFarrell sich gut mit Hacks auskennen. Es schien so, als müsste er eine temporäre Logistikkiste zu Füßen des Spielers erschaffen, damit Roboter Items aufnehmen oder abgeben können. Es gab keinen anderen Weg, um Items direkt aus dem Inventar des Spielers zu nehmen. Es hatte auch andere Eigenarten, wie zum Beispiel, dass man es nur außerhalb des Gebietes, welches von normalen Roboterhangaren abgedeckt wurde, funktionierte, aber das ist der Ort, wo es typischerweise zum Einsatz kam.

Ein Beispiel für die Verwendung von Pocket Bots. Zu beachten ist die temporäre Logistikkiste zu Füßen des Spielers.

Den Entwicklern fiel auf, wie beliebt und nützlich diese Mod war, und fast exakt ein Jahr später wurden Persönliche Roboterhangars in Factorio Friday Facts #92 angedeutet, in Vorbereitung auf die Version 0.12. Es ist zu beachten, dass es in Version 0.12 nur eine Art von Persönlichen Roboterhangars gab, keine verbesserte Version Mk2. Das bedeutete, um 100 persönliche Bauroboter zu benutzen, benötigte man 10 persönliche Roboterhangars! Es dauerte noch bis Februar 2019 und Version 0.15, bis man mit nur 4 Persönlichen Roboterhangars Mk2 bis zu 100 persönliche Roboter auf einmal verwenden konnte.

Der Blaupausenstring

Ein Blaupausenstring wird verwendet, um Blaupausen ins Spiel zu importieren oder exportieren. Das kann alles sein, von Kernreaktordesigns über Zugsysteme bis hin zu Solaranlagen mit perfekten Verhältnissen zwischen Solarzellen und Akkus. Und wie du dir mittlerweile vielleicht denken kannst, war auch das eine Mod, bevor sie ins Grundspiel integriert wurde. Blaupausen wurden mit Version 0.9 hinzugefügt, aber schon bald danach wollten Spieler ihre Blaupausen teilen. Wie so oft eilte ein Modder zur Hilfe. Auch dieses Mal war es JamesOFarrell, der uns bereits die PocketBots gebracht hat. Diesmal schaffte er die bekannte Mod Foreman (zu Deutsch: „Vorarbeiter“) im November 2014.

Bildschirmfoto der Foreman-GUI
Die Foreman-GUI, wie sie im Spiel zu sehen ist (aus einem Forumpost)

Aber technisch gesehen war JamesOFarrell nicht der Erste, der Blaupausenstrings implementiert hat, auch wenn diese Mod sehr wahrscheinlich der Vorgänger war. Das Hauptfeature von Foreman war eher das Verwalten von Blaupausen. Es gab zu diesem Zeitpunkt keine Blaupausenbücher – diese wurden erst 2 Jahre später in Version 0.13 hinzugefügt. Das bedeutete, dass jede Blaupause einzeln im Inventar gespeichert wurde, was dazu führte, das dieses schnell voll wurde. Daher war eine der Funktionen von Foreman neben der Verwaltung von Blaupausen auch eine Möglichkeit, diese Blaupausen zu importieren/exportieren. Aber sie verwendete trotzdem keine Blaupausenstrings, sondern generierte kleine Lua-Codeschnipsel. Unten ist ein Beispiel für ein Ausschnitt aus einer solchen *.blueprint-Datei, welche von der Mod geschaffen wurde. Diese Dateien konnten mit jedem Texteditor gelesen werden.

do local blueprintData={icons={[1]="fast-transport-belt",[2]="boiler"},entities={[1]={type="transport-belt",position={x=-8.5,y=-3.5},name="fast-transport-belt",orientation=0,direction=4,entitynumber=1},[2]={type="transport-belt",position={x=-8.5,y=-4.5},name="fast-transport-belt",orientation=0,direction=4,entitynumber=2},[3]={type="pipe-to-ground",position={x=-7.5,y=-4.5},name="pipe-to-ground",orientation=0,direction=2,entitynumber=3},[4]={type="inserter",direction=4,filters={[1]={index=1},[2]={index=2},[3]={index=3},[4]={index=4},[5]={index=5}},conditions={red={count=5,operator=">",name="raw-wood"},logistics={operator=">",count=1},green={operator=">",count=1}},entitynumber=4,orientation=0,connections={red={[1]=74},green={}},name="smart-inserter",position={x=-6.5,y=-3.5}},[5]={type="boiler",position={x=-6.5,y=-4.5},name="boiler",orientation=0,direction=0,entitynumber=5}, ... name="PowerSmart"};return blueprintData;end

Wie du dir vielleicht vorstellen kannst, führte das zu sehr großen Blaupausendateien und wurde so schnell schwer zu handhaben. Es gab Diskussionen darüber, wie man den Blaupausenfußabdruck verringern könnte, beispielsweise über die Verwendung von zip-Dateien, aber nichts davon endete in einer robusten Implementation und gleichzeitiger Benutzerfreundlichkeit. Aber nur zwei Wochen, nachdem Foreman publiziert worden war, löste ein bekannter Modder namens DaveMcW dieses Problem (falls dir dieser Name nicht bekannt vorkommt, schau mal hier). Er löste das Problem, indem er den obig beschriebenen Code mithilfe eines gzip + base64-Formates komprimierte und so die nun bekannten Blaupausenstrings schuf.

Bildschirmfoto der Blaupausenstring-GUI
Die Benutzerfreundlichkeit der Blaupausen-GUI im Spiel (von diesem Forumpost genommen)

Bald nach der Veröffentlichung dieser Mod half DaveMcW wahrscheinlich JamesOFarrell dabei, Blaupausenstrings auch in Foreman zu unterstützen. Diese beiden Mods herrschten über die Blaupausenlandschaft. Wenn du Blaupausen teilen wolltest, verwandtest du Blaupausenstrings, und wenn du deine Blaupausen besser verwalten wolltest, verwandtest du Foreman. Irgendwann übernahm Choumiko die Instandhaltung von Foreman. Es dauerte noch bis Version 0.15 im April 2017, also über zwei Jahre später, bis Blaupausenstrings zum Spiel hinzugefügt wurden. Das Format der Codeschnipsel veränderte sich geringfügig (was zu dieser Mod führte), aber die Komprimierungsmethode war immer noch die Gleiche, die DaveMcW schuf.

Blaupausen

Aber, was sind persönliche Roboterhangars und Blaupausenstrings ohne echte Blaupausen? Es stand schon seit langem auf der Wunschliste des Spieleentwicklers kovarex, wie in diesem Forumpost von 2013 zu erkennen ist, einer Zeit, in der Factorio noch in den Kinderschuhen steckte und noch unklar war, in welche Richtung es mit dem Spiel weitergehen sollte. Es stellt sich aber heraus, dass die Entwickler nicht die ersten waren, die es schafften, Blaupausen zu integrieren. Der erste war ein Modder namens drs9999 und er schuf eine Technologie, welche man durch Forschung freischalten konnte.

Blaupausen im Forschungsmenü
Die Blaupausentechnologie im Forschungsmenü in Version 0.7. Der kleine gelbe Roboter ist das alte Robotertechnologieicon. Es wird auch von der Mod Nanobots verwendet, dazu aber später mehr.

Diese Mod wurde zuerst im März 2013 ins Factorio-Forum gepostet, nur einen Monat nachdem kovarex Blaupausen im Forum erwähnt hat und noch vor Version 0.4. Diese Blaupausen funktionierten aber noch nicht so intuitiv wie heute. Das lag einfach daran, dass das Spiel gerade mal ein Jahr alt war. Es gab kein Auswahlwerkzeug. Es gab noch nicht mal Bauroboter zu dieser Zeit, nicht mal Roboterhangars (die einsamen Logistikroboter schwebten einfach herum, wenn sie nicht in Verwendung waren). Vor allem aber waren Modfunktionalitäten nicht so ausgeprägt wie heute.

Um diese Limitierungen zu umgehen, schuf der Modder Marker, welche platziert wurden. Diese Marker wurden verwendet, um einen Bereich zu markieren, wo entweder eine Blaupause platziert oder eine Blaupause gespeichert werden sollte. Blaupausen wurden an dafür vorgesehenen Stellen in der Mod selber gespeichert und nicht so wie heute als Items. Es gab sogar die Möglichkeit ein Gebiet zum Verbessern auszuwählen. Es wurden dann Nanobots (die kleinen gelben Roboter aus dem obigen Bildschirmfoto) im Inventar benötigt, die dann verbraucht wurden, um die Blaupause aufzubauen. Der Modder hat ein (englischsprachiges) YouTube-Tutorial für mehr Informationen gemacht, aber ich habe mal eine kleine Demonstration zusammengestellt:

Beispiel für die Verwendung der erstem Blueprints. (leicht editiert für Demonstrationszwecke). Hier sind einige der alten Grafiken zu sehen, und auch einige, die noch heute verwendet werden.

Blaupausen wurden zu Vanilla im Februar 2014 mit der Version 0.9 hinzugefügt, was bedeutet, dass diese Mod für über ein Jahr die einzige Möglichkeit war, Teile deiner Fabrik zu duplizieren. Und obwohl die Mod bald in Vergessenheit geriet, war sie doch sehr wahrscheinlich der direkte Vorläufer zu einigen anderen Mods, die sehr bekannt wurden. Dinge wie Nanobots von Nexela und Upgrade Planner von kds71 basieren beide auf Prinzipien, die zuerst in dieser Mod eingeführt wurden. Natürlich gab es auch andere jetzt Vanillafeatures, die vorher gemodded wurden, wie blueprinting trains von DaveMcW oder mirroring blueprints von NovaM.

Abschließende Gedanken

Factorio hat eine sehr gesunde und aktive Moddingcommunity. Das erhöht ungemein den Wiederspielwert des Spiels und passt das Spiel verschiedenen Spielstilen an. Die aktive Moddingcommunity basiert vor allem darauf, dass sie von den Entwicklern unterstützt wird. Sie bestärken Modder darin, mit ihren Ideen weiterzumachen und gehen manchmal auch das extra Stück, um Moddern die benötigten Tools zu geben, welche sie brauchen, um ihre unglaublichen Mods zu schaffen. Das bedeutet aber nicht, dass die Entwickler faul sind und die Arbeit, die sie nicht machen wollen, einfach abgeben, sondern vielmehr, dass sie sich immer zuerst auf das grundsätzliche Gameplay konzentrieren – also Dinge wie Optimierung, Interfaces, Spielmechaniken usw. Es ist meist einfach nicht genug Zeit irgendwas Neues und Aufregendes zu implementieren. Der Fakt, dass sich um die Entwickler so eine freundliche und aktive Moddingcommunity aufgebaut hat, hilft ihnen, bessere Entscheidungen zu treffen, in welche Richtung sie das Spiel führen wollen, während Spieler mit vielen neuen Mechaniken herumexperimentieren können.

SovietWomble hat eine gute Videoserie, in der er eine ähnliche Situation beschreibt, wo eine Vielzahl von Mods in verschiedenen Formen gezeigt haben, was den Spielern am meisten Spaß macht – ähnlich der Evolution und dem Überleben des Stärkeren. Aber in seiner Geschichte verwendeten die Entwickler diese Informationen nicht richtig. Im direkten Kontrast dazu ist das Team von Wube ein ausgezeichnetes Beispiel dafür, wie man diese Informationen richtig anwendet. Sie erweitern Factorio in die Richtungen, die den Spielern am meisten Spaß machen, und unterstützen währenddessen die Modder. Das ist wahrscheinlich auch ein Grund dafür, dass Factorio aktuell das drittbeste Spiel auf Steam ist.

Erzähl uns von dir! Conor_

Das Alt-F4 Team hat bisher unter ein paar Vermutungen gearbeitet, die wir jetzt mit ein paar harten Fakten aktualisieren wollen. Diese Vermutungen kamen von schlechten Nutzungsbericht-Werkzeugen, die wir früher verwendeten. Um uns deshalb nicht mehr auf diese verlassen zu müssen, bitten wir dich jetzt ein paar anonyme Fragen zu beantworten! Keine identifizierenden Daten werden gesammelt, und die Ergebnisse sind öffentlich sichtbar. Wir werden diese Daten verwenden, um die Richtung von Alt-F4 in Zukunft zu bestimmen.

Als Erstes würde es uns interessieren, auf was für einem Gerät du Alt-F4 liest, damit wir das Layout und die Benutzbarkeit der Webseite weiter optimieren können.

Unser Übersetzungsteam steckt viel Aufwand in die Lokalisierung der Webseite und wir würden gerne wissen, in welcher Sprache du normalerweise Alt-F4 liest

Zuletzt würden wir gerne wissen, wovon du in Alt-F4 mehr sehen möchtest.

Beitragen

Wie immer suchen wir nach Leuten, die zu Alt-F4 beitragen wollen, sei es mit einem Artikel oder durch Hilfe bei Übersetzungen. Wenn du etwas Interessantes im Kopf hast, das du mit der Community in einer eleganten Art teilen möchtest, hier kannst du das tun. Falls du dir unsicher bist, beantworten wir gerne Fragen zu Inhalt und Struktur. Falls das nach etwas klingt, woran du interessiert bist, tritt unserem Discord bei, um es nicht zu verpassen!