GAMES MAG TYCOON English

Referenz · Stand Oktober 2026

Mods für Games Mag Tycoon

Dir fehlen Spiele? Du hältst eine Wertung für falsch, ein Erscheinungsdatum für ungenau, einen Publisher für falsch zugeordnet? Dann ergänze oder ersetze die Daten. Das Spiel lädt alle Inhalte aus offenen JSON-Dateien, und ein Mod legt seine eigenen Fassungen darüber, ohne die Installation anzufassen.

Diese Seite beschreibt, wie das Spiel Mods findet und zusammensetzt, was die Felder der Spieldaten bewirken und wie du einen Mod im Steam Workshop veröffentlichst. Sie setzt voraus, dass du mit JSON und Dateipfaden umgehen kannst.

1 Aufbau eines Mods

Ein Mod ist ein Ordner mit demselben Aufbau wie StreamingAssets im Spielverzeichnis. Eine Datei mit demselben relativen Pfad ersetzt die mitgelieferte oder wird mit ihr zusammengeführt (Abschnitt 3); eine Datei, die es im Spiel nicht gibt, kommt dazu.

mein-mod\
  mod.json            Beschreibung und Modus
  preview.png         Vorschaubild für den Workshop, höchstens 1 MB
  workshop.json       vom Spiel angelegt nach dem ersten Hochladen
  Data\               Spieldaten (JSON)
    games.json
    publishers.json
    texts\            Programmtexte, Schlüssel → Text
  grafix\             Bilder (PNG, JPG)
WoPfad
Lokale Mods%USERPROFILE%\AppData\LocalLow\oLabAndI\Games Mag Tycoon\mods\<Name>\
Workshop-Modswerden von Steam installiert; jedes Abo zählt, sobald Steam es heruntergeladen hat
Originaldaten<Spielverzeichnis>\Games Mag Tycoon_Data\StreamingAssets\ (in Steam: Verwalten → Lokale Dateien durchsuchen). Nur lesen: Updates überschreiben sie.
FeldbeschreibungStreamingAssets\Data\readme.txt beschreibt die Felder aller Datendateien.
Session-Log%USERPROFILE%\AppData\LocalLow\oLabAndI\Games Mag Tycoon\log\sessions\

Laden und Rangfolge

  • Mods werden einmal beim Programmstart ermittelt. Jede Änderung an Dateien, Abos, An/Aus oder Reihenfolge wirkt erst nach einem Neustart.
  • Die Mod-Liste steht auf dem Startbildschirm unter „ADD-ONS“: Schalter je Mod, Reihenfolge mit den Pfeilen. Fährt der Zeiger über eine Zeile, zeigt sie, welche Dateien der Mod hinzufügt, ersetzt oder um Einträge ergänzt.
  • Bringen mehrere Mods dieselbe Datei mit, gewinnt der obere. Ein neu gefundener Mod ist eingeschaltet und steht oben; ohne eigene Sortierung stehen lokale Mods vor Workshop-Mods.
  • Abonnierst du deinen eigenen Mod, wird das Abo ignoriert, solange ein lokaler Ordner dieselbe Workshop-Nummer in seiner workshop.json trägt. Du arbeitest am lokalen Ordner.

2 mod.json

Optional. Ohne Datei heißt der Mod wie sein Ordner und arbeitet im Modus override. Alle Felder sind Text; Groß- und Kleinschreibung der Feldnamen spielt keine Rolle.

{
  "title": "Spiele 1986–1990, ergänzt",
  "author": "Name",
  "description": "Ergänzt fehlende Spiele und korrigiert Wertungen und Erscheinungsdaten.",
  "mode": "merge"
}
FeldBedeutung
titleName in der Mod-Liste und im Workshop. Vorgabe: Ordnername.
authorErscheint in der Mod-Liste.
descriptionErscheint in der Mod-Liste und als Beschreibung im Workshop.
modeoverride (Vorgabe), merge oder patch, siehe Abschnitt 3. Ein anderer Wert gilt als override.
languageMacht den Mod zum Sprach-Mod (z. B. fr). Er zählt nur, wenn das Spiel in dieser Sprache läuft, und steht nicht in der Mod-Liste.
cultureNur für Sprach-Mods: Format von Zahlen und Datum, z. B. fr-FR.

Ist die Datei kein gültiges JSON, markiert die Mod-Liste den Mod mit „MOD.JSON FEHLERHAFT“; er wird dann mit den Vorgaben geladen.

3 Ersetzen und Ergänzen

Bilder werden immer über den Dateinamen ersetzt oder ergänzt. Für Datendateien in Data\ entscheidet mode:

ModusWirkung auf Datendateien
overrideDie Datei des Mods ersetzt die darunterliegende vollständig. Was nicht darin steht, existiert im Spiel nicht. Für eigene Datenbestände und komplette Umbauten.
mergeDie Datei enthält nur die Einträge, die sich ändern. Ein Eintrag mit vorhandener Id ersetzt den vorhandenen Eintrag als Ganzes, einer mit neuer Id wird angehängt. Für Korrekturen und Ergänzungen.
patchDie Datei enthält je Eintrag nur die Id und die Felder, die sich ändern. Alle anderen Felder bleiben, wie sie sind. Es kommt nichts hinzu. Für einzelne Werte wie einen Namen oder eine Wertung.

Regeln für merge

  • Identität ist das Feld Id, ohne Unterschied von Groß- und Kleinschreibung. Ausnahme: In flufftexts.json bilden Source und Tone zusammen die Identität. Einträge ohne Identität werden immer angehängt.
  • Es wird nicht feldweise zusammengeführt. Ein Eintrag ersetzt den vorhandenen ganz: Fehlende Felder fallen auf ihre Vorgabe zurück, nicht auf den Originalwert. Wer nur einzelne Felder ändern will, nimmt patch.
  • Mehrere Mods werden in der Reihenfolge der Mod-Liste von unten nach oben zusammengeführt; bei gleicher Id gewinnt der obere Mod.
  • Neue Ids mit Präfix (z. B. gm86_) verhindern Kollisionen mit anderen Mods und mit späteren Erweiterungen des Spiels.
  • Textdateien in Data\texts\ werden unabhängig vom Modus Schlüssel für Schlüssel überlagert. Ein Mod enthält dort nur die Schlüssel, die er ändert.
  • Sprache: Texte in deinen Einträgen (Name, Beschreibung) erscheinen in jeder Spielsprache so, wie du sie schreibst.

Regeln für patch

  • Jeder Eintrag braucht eine Id eines vorhandenen Eintrags, ohne Unterschied von Groß- und Kleinschreibung. Einträge ohne Id oder mit einer unbekannten werden übersprungen und im Session-Log gemeldet.
  • Ein Feld ersetzt den Wert als Ganzes, auch eine Liste wie PlatformIds. Ein Feld, das der Eintrag bisher nicht hat, kommt dazu.
  • Neue Einträge und Dateien legt patch nie an; dafür gibt es merge.
  • Mehrere Mods wirken wie bei merge von unten nach oben: Setzen zwei Mods dasselbe Feld, gewinnt der obere.

Fehlerverhalten

  • Eine Datendatei eines Mods, die kein gültiges JSON ist, wird übersprungen und im Session-Log gemeldet; der Rest des Mods wird geladen.
  • Scheitert das Laden der Daten insgesamt (etwa durch ein Feld mit falschem Typ), startet das Spiel mit den mitgelieferten Daten ohne Mods und meldet den Fehler im Log.
  • Zahlenwerte außerhalb von 0 bis 1 werden auf diesen Bereich begrenzt, Ids klein geschrieben.
  • Verweise werden nicht geprüft: Eine PlatformId oder PublisherId, die es nicht gibt, führt zu Lücken im Spiel, nicht zu einer Fehlermeldung.

4 Spieldaten

games.json enthält die Spiele von 1986 bis 2010, jedes mit festem Erscheinungsdatum. Sie bestimmen, was in den Eingangskorb der Redaktion kommt, was Leser erwarten und woran die Wertungen der Redakteure gemessen werden.

Felder

FeldTypWirkung
IdTextEindeutige Kennung, wird klein geschrieben. Zugleich Dateiname eines eigenen Coverbilds (grafix\covers\games\<Id>.png oder .jpg, Hochformat 720 × 1020, ohne Text).
NameTextTitel, wie er im Heft und auf dem Cover steht.
DescriptionTextKurzbeschreibung im Steckbrief des Spiels.
GenreIdIdGenre aus genres.json: action, adventure, rpg, simulation, strategy, sport. Bestimmt, welche Redakteure das Spiel gern testen, welche Lesergruppen es interessiert und welche Genre-Trends es betreffen.
PlatformIdsListePlattformen aus platforms.json. Das Spiel kommt nur in den Eingangskorb, wenn der Spieler ein Testgerät für mindestens eine davon besitzt.
ReleaseDateDatumISO 8601, z. B. 1988-05-01T00:00:00. Bestimmt die Ausgabe, in der das Spiel erscheint. Vorher kann es als Preview angekündigt werden, danach bleibt es eine weitere Ausgabe testbar, mit geringerem Leserinteresse.
Quality0–1Die Wertung, die das Spiel verdient: 0.85 entspricht 85 %. Redakteure treffen sie je nach Können und Wissen mehr oder weniger genau; Glaubwürdigkeit und Treffsicherheit des Hefts werden daran gemessen.
Popularity0–1Wie sehr die Leser auf das Spiel warten. Bestimmt die Zugkraft auf dem Cover und wie stark ein Test oder sein Fehlen die Leser berührt.
Size0–1Umfang des Spiels. Bestimmt die angemessene Länge eines Tests (bis 8 Seiten), den Arbeitsaufwand für Tipps und den Platzbedarf auf dem Beileger.
PublisherIdIdPublisher aus publishers.json (oder einem neuen Eintrag deines Mods). Bestimmt Beziehung, Exklusiv-Tests, Demos und Werbung rund um das Spiel.
ReviewTextTextWird derzeit nicht verwendet; das Fazit eines Tests erzeugt das Spiel selbst.

Welche Spiele eine Ausgabe bekommt

Je Ausgabe nimmt das Spiel alle Spiele aus games.json, deren ReleaseDate in den Zeitraum der Ausgabe fällt. Die Zahl ist an die Seitenzahl gebunden, die die Leser im jeweiligen Jahr erwarten: Sind es mehr als ein Drittel davon (höchstens 60), wird zufällig, aber reproduzierbar ausgewählt; sind es weniger als 0,3 Spiele je erwarteter Seite, wird mit erfundenen Spielen aus games_filler.json aufgefüllt. Spiele aus Mods zählen als real. Wer einen dünn besetzten Zeitraum mit realen Spielen auffüllt, verdrängt also erfundene; wer einen dicht besetzten Monat weiter ergänzt, erhöht nur die Auswahl, aus der gezogen wird.

Beispiel: Spiel ergänzen

mod.json mit "mode": "merge", dazu Data\games.json:

[
  {
    "Id": "gm86_beispielspiel",
    "Name": "Beispielspiel",
    "Description": "Rennspiel von Ocean.",
    "GenreId": "sport",
    "PlatformIds": [ "c64", "amiga" ],
    "ReleaseDate": "1988-05-01T00:00:00",
    "Quality": 0.74,
    "Popularity": 0.6,
    "Size": 0.4,
    "PublisherId": "ocean"
  }
]

Beispiel: Wertung korrigieren

mod.json mit "mode": "patch", dazu Data\games.json:

[
  { "Id": "<Id eines vorhandenen Spiels>", "Quality": 0.81 }
]

Eigener Datenbestand

Mit "mode": "override" ersetzt deine games.json die mitgelieferte vollständig. Achte darauf, dass jede Ausgabe genug Spiele hat; Lücken füllt das Spiel mit erfundenen Spielen. Mit einer leeren games_filler.json im selben Mod schaltest du die erfundenen Spiele ab, dann bleiben dünne Monate dünn.

Verwandte Dateien

DateiInhalt
publishers.jsonPublisher mit Friendliness (Bereitschaft zu Exklusiv-Tests und Demos) und Showmanship (wie stark der Publisher die Qualität seiner Spiele überzeichnet). Logo als grafix\publishers\<Id>.png oder .jpg.
platforms.jsonPlattformen mit Erscheinungsdatum, Preis des Testgeräts und Leserpotenzial je Jahr (ReaderPotentialByYear). Bild als grafix\platforms\<Id>.png, 128 × 96, transparent.
games_filler.jsonVorlagen der erfundenen Spiele (ohne Plattform und Datum; beides vergibt das Spiel).
hardware.jsonHardware für das Hardware-Büro. In der Beschreibung setzt {pid:<Id>} den Namen einer Plattform aus platforms.json ein, z. B. „Der beste Joystick für den {pid:c64}“.
magazines.jsonKonkurrenzhefte mit Zeitraum, Plattformen und Auflage je Jahr. Cover-Bilder als grafix\magazines\<Id>\<JJJJ-MM>.jpg.
editors.jsonRedakteure. characterId verweist auf den Figurenordner unter grafix\characters\editors\.
fairs.json, historicalnews.jsonMessen und Weltereignisse im Ticker. Die Schlagzeilen nennen Spiele, Firmen, Plattformen und Messen über Platzhalter: {gid:<Id>} (Spiel), {pubid:<Id>} (Publisher), {pid:<Id>} (Plattform), {fid:<Id>} (Messe), z. B. „{pubid:sega} startet in Japan das {pid:genesis}“. So folgt die Schlagzeile jedem Mod, der den Namen ändert.

5 Weitere Dateien

PfadHinweise
Data\texts\*.jsonProgrammtexte, je Bereich eine Datei, Schlüssel → Text. Platzhalter {0}, {1} beibehalten.
Data\flufftexts.jsonSatzbausteine für Leserstimmen, Verleger, Kiosk. Identität für merge: Source + Tone.
grafix\logos\Logos zur Wahl im Neues-Spiel-Setup, PNG mit Transparenz, 512 × 512. Jede Datei wird automatisch wählbar.
grafix\characters\player\<id>\Spielerfiguren; jeder Ordner wird automatisch wählbar. Streifen aus Bildern zu 128 × 128 (idle.png, idle_N.png, walk.png mit 12 Bildern, elevator_wait.png), je Streifen eine JSON-Liste der Bilddauern in ms, portrait.png 256 × 256, front.png 316 × 480. Blick nach rechts, Füße auf y = 126. Nur PNG.
grafix\characters\editors\<characterId>\Figuren der Redakteure, Aufbau wie oben; braucht einen Eintrag in editors.json.
grafix\covers\Cover-Stile (styles\<id>\layout.json), Titelbilder je Genre (motifs\<GenreId>\), Coverbilder je Spiel (games\).

Bilder: PNG oder JPG; bei gleichem Namen gewinnt PNG, damit ersetzt ein PNG auch ein mitgeliefertes JPG. SVG wird nicht unterstützt. Räume, Oberfläche, Regeln, Musik und Soundeffekte sind Teil des Programms und nicht modbar.

6 Prüfen und Fehlersuche

  • Session-Log lesen. Die neueste Datei unter log\sessions\ listet beim Start jeden aktiven und jeden übersprungenen Mod mit Grund sowie jede ausgelassene Datei.
  • Mit einem neuen Spiel testen. Spielstände merken sich noch nicht, mit welchen Mods sie entstanden sind. Fehlt nach dem Abschalten eines Mods ein Spiel, Publisher oder Redakteur, auf den ein Spielstand verweist, kann der Spielstand Lücken haben.
  • Zeitraum gezielt ansehen. Im Neues-Spiel-Setup lässt sich das Startjahr wählen. Für Spiele einer Plattform muss das passende Testgerät gewählt sein.
  • JSON validieren, bevor du startest. Kommas am Ende einer Liste sind nicht erlaubt; Dateien als UTF-8 speichern.
  • Liegt der Mod an der richtigen Stelle? Der Mod-Ordner muss direkt in mods\ liegen, mod.json und Data\ direkt darin.

7 Die Mod-Werkstatt

Mods lassen sich auch ohne Texteditor anlegen und bearbeiten. In der Mod-Liste des Startbildschirms öffnet MOD-WERKSTATT ein kleines Programm, das sich im Browser bedient (ohne Internet, es läuft nur auf deinem Rechner; ein Konsolenfenster bleibt offen, es zu schließen beendet die Werkstatt). Das Spiel muss dafür nicht laufen: ModEditor\ModEditor.exe im Spielordner lässt sich auch selbst starten.

  • Neuer Mod: Titel, Autor, Beschreibung und Modus wählen, dazu die Dateien, die der Mod enthalten soll. Bei override werden sie vollständig kopiert, bei merge und patch beginnen sie leer. Dazu entsteht aus dem Titel ein Vorschaubild preview.png für den Workshop.
  • Vorschaubild: Speicherst du einen neuen Titel, wird es neu gezeichnet; VORSCHAUBILD ERZEUGEN zeichnet es jederzeit neu. Ein eigenes Bild legst du einfach an seine Stelle (höchstens 1 MB), es bleibt dann auch beim Umbenennen.
  • Einträge bearbeiten: Einträge aus dem Spiel holen oder neu anlegen, Felder im Formular ändern. Bei patch wird nur gespeichert, was du ankreuzt.
  • Programmtexte (Data\texts) stehen als Tabelle mit dem Originaltext daneben.
  • Prüfung beim Speichern: gültiges JSON, Ids vorhanden und eindeutig, Feldtypen wie im Original, bei patch muss die Id im Spiel existieren.
  • Was ändert dieser Mod zeigt je Datei neue, ersetzte und geänderte Einträge.
  • Neue oder geänderte Mods wirken nach einem Neustart des Spiels. Bilder gehören von Hand in den Ordner grafix des Mods.

8 Steam Workshop

Lokale Mods lassen sich aus der Mod-Liste hochladen. Das Spiel muss über Steam laufen; hochgeladen wird mit dem angemeldeten Konto.

  1. title und description in der mod.json setzen, optional preview.png (höchstens 1 MB) in den Mod-Ordner legen.
  2. In der Mod-Liste beim lokalen Mod „HOCHLADEN“ wählen. Das Spiel prüft vorher mod.json und alle Datendateien auf gültiges JSON und nennt die Größe.
  3. Der neue Eintrag ist privat. Verlangt Steam die Zustimmung zur Workshop-Vereinbarung, öffnet sich die Seite dazu. Die Nummer des Eintrags steht danach in workshop.json im Mod-Ordner.
  4. Sichtbarkeit im Workshop selbst einstellen. „AKTUALISIEREN“ lädt später den aktuellen Stand des Ordners in denselben Eintrag; die Sichtbarkeit bleibt.

Fehlermeldungen von Steam erscheinen in der Mod-Liste als Satz, der Originalcode steht im Session-Log. „Zugriff verweigert“ heißt meist, dass der Eintrag einem anderen Konto gehört: Wer einen fremden Mod-Ordner als Grundlage nimmt, löscht dessen workshop.json, dann legt „HOCHLADEN“ einen neuen Eintrag an.

Diese Referenz beschreibt den Stand vom Oktober 2026. Datenformate können sich bis zum Early Access noch ändern.