Forschung · Systeme · geprüft 2026-09-21
Warum veraltet jede Spiel-Dokumentation — und was passiert, wenn man sie ins Spiel legt?

Gym, Zoo, Museum — Dokumentation, die im Spiel steht statt daneben

Ein Werkzeug-Designer aus fünfzehn Jahren Hitman, Horizon und Hytale beschreibt drei Bauformen, mit denen Studios ihr Wissen nicht mehr neben dem Spiel führen, sondern darin. Der Reiz für uns ist nicht die Idee, sondern ihr Nebeneffekt: Dokumentation, die man starten kann, meldet sich, wenn sie falsch wird.

Experimentell · Horizont: Bald
Der Befund

Wissen, das räumlich im Spiel liegt, wird bei der Arbeit mitgepflegt statt nachgepflegt — und wird dabei nebenbei zu Testmaterial, das einen kaputten Build meldet, statt still zu verrotten.

Autor
Robin-Yann Storm
Venue
YouTube — Vortrag zu Workflow-Design (2026)
Lizenz
Video, kein Code und keine Lizenz — übernommen wird ein Verfahren, nichts Eingebundenes
68
So viele project.godot liegen unter apps/ — jede dieser Flächen hat Metriken, die heute nirgends nachschlagbar sind
find apps -maxdepth 3 -name project.godot, gemessen 2026-09-21
Die Methode

Jedes Team, das länger als ein paar Monate an einem Spiel baut, kennt die Frage nach der einen Zahl. Wie weit springt die Figur? Davon hängt ab, ob eine Lücke im Level überwindbar ist oder eine Sackgasse. Also fragt man herum, wird weiterverwiesen, sucht im Wiki, findet es im Chat, braucht eine Einladung für den Kanal — und hat am Ende eine Zahl, deren Alter niemand kennt.

Robin-Yann Storm nennt das ein Spiel Stille Post: Die Information wandert von Ding zu Person zu Person zu Ding. Er hat fünfzehn Jahre Werkzeuge für andere gebaut — den Glacier-Editor hinter Hitman, Decima hinter Horizon, Reality Composer bei Apple, zuletzt Hytale — und redet deshalb nicht über Dokumentation, sondern über Arbeitsabläufe.

Uns interessiert an diesem Vortrag nicht die Bauanleitung. Uns interessiert die Kostenrechnung darunter, und ein Nebeneffekt, den er selbst fast beiläufig erwähnt.

Das Dokument verliert immer, und das ist keine Disziplinfrage

Storms Test ist unbequem kurz: Lieferst du deine Dokumentation aus, oder lieferst du dein Spiel aus?

Er ist dabei ausdrücklich nicht gegen das Schreiben. Am Anfang eines Projekts soll man aufschreiben, was das Ding werden soll. Aber sobald das Team in die Engine wechselt, bindet das Gebaute die Aufmerksamkeit, und das Dokument veraltet — langsam, sicher, unvermeidlich. Seine Antwort darauf ist bemerkenswert entspannt: Das ist normal. Veränderung gehört zur Iteration, und Iteration ist gut. Das Problem ist nicht die Veränderung, sondern dass das Nachziehen zu teuer ist.

Daraus folgt eine Verschiebung, keine Vorschrift. Statt zwei Dinge getrennt zu pflegen, baut und dokumentiert man ein Ding gleichzeitig — räumlich und im Kontext nah am Inhalt. Der Aufwand je Aktualisierung sinkt dadurch nicht. Was sinkt, ist die Wahrscheinlichkeit, dass sie ausbleibt.

Das ist dieselbe Rechnung, die bei uns schon an anderer Stelle entschieden ist. „Inline vor Modal“ in DESIGN.md sagt nichts anderes: Der Kontextwechsel ist die Steuer, nicht die Handlung. Storm wendet sie eine Ebene tiefer an, auf das Wissen statt auf die Bedienung.

Drei Bauformen, und warum die Namen alt sind

Er empfiehlt drei, und besteht auf den Begriffen aus den Neunzigern, weil es sonst in jedem Studio andere gibt:

Ein Gym ist ein Testraum für Bewegung. Sprungweiten, Kletterhöhen, Deckungsecken — als Klötze im Raum, farbcodiert nach gut, knapp und unmöglich. Man drückt Start und spürt die Grenzen des Systems, statt sie nachzuschlagen.

Ein Zoo ist eine Auslage von Assets. Nebeneinander, massstabsgetreu, im Licht der Zielszene. Der Asset-Browser kann das nicht: Ein Vorschaubild sagt nichts über Grösse und nichts darüber, wie ein Ding im Abendlicht des eigenen Levels aussieht.

Ein Museum zeigt Systeme in Betrieb. Statt vierzig Wiki-Seiten über das Physik- oder Stoffsystem lädt man eine Szene, in der es läuft — und sieht sofort, wenn es bricht. Marker darin verlinken auf die technische Dokumentation; das Museum ersetzt sie nicht, es ist der Einstieg.

Dazu kommt, als Verallgemeinerung, räumliche Dokumentation: Schilder im halbfertigen Level, Kommentar-Marker an der Stelle, an der etwas falsch ist, Kontext-Hilfe im Editor statt im Browser. Godot bekommt dafür im Vortrag ausdrückliches Lob — Rechtsklick auf eine Eigenschaft öffnet die Dokumentation genau an dieser Eigenschaft, innerhalb des Editors.

Der Satz, der den Eintrag rechtfertigt

Interessant wird es an der Stelle, an der Storm das Thema wechselt, ohne es zu markieren. Ein Gym, sagt er, lässt man nachts von einer Figur durchlaufen. Bleibt sie hängen, fällt der Build durch den Rauchtest, und zwar mit Ortsangabe. Von einem Zoo macht man nachts ein Bild und vergleicht den Anteil geänderter Bildpunkte gegen den Vortag. Hat sich viel geändert, sind entweder viele neue Assets eingegangen oder etwas ist kaputt — die Frage stellt die Maschine, die Antwort gibt ein Mensch.

Das ist der eigentliche Fund. Dokumentation, die man starten kann, veraltet laut. Ein Markdown-Dokument, das nicht mehr stimmt, tut nichts und wartet darauf, jemanden in die Irre zu führen. Eine Szene, die nicht mehr stimmt, bricht einen Lauf.

Für ein Haus mit 68 Godot-Projekten unter apps/ und dreizehn Godot-Kits unter libs/ ist das der Unterschied zwischen einem Pflegeposten und einem Testartefakt. Wir haben für die Godot-Flächen heute pnpm spiele:stand und pnpm spiele:ausliefern — wir wissen also, welcher Stand draussen liegt. Wir haben nichts, das sagt, ob dieser Stand sich noch bewegt wie vorgesehen.

Wo der Vortrag bei uns einen wunden Punkt trifft

Storm zeigt ein Tor und fragt das Publikum, wonach man suchen würde. iron gate? steel gate? Es heisst metal gate. Seine Schlussfolgerung: Assets nur über Namen zu suchen ist eine schlechte Idee — sie gehen verloren, und manchmal werden sie neu gebaut, weil niemand sie gefunden hat.

Dieselbe Falle hat bei uns von der anderen Seite zugeschnappt. Bis zum 2026-08-12 zeigten 57 von 100 Flächen im Markenwerkzeug den Verzeichnisnamen statt des Produktnamens — apps/atemraum heisst ausgeliefert atemkistli, apps/kistenregal heisst kistliregal, tools/koffer heisst Lernkoffer. Das Register führte die richtigen Namen die ganze Zeit. Gelesen hat sie niemand.

Ein Name ist eine Vereinbarung, an die sich niemand vollständig erinnert. Visuelle Auslage umgeht die Vereinbarung — man schaut hin und greift zu, statt sich an ein Vokabular zu erinnern. Das ist kein Argument gegen saubere Namen. Es ist ein Argument dagegen, den Namen als einzigen Zugriffsweg zu bauen.

Was wir bewusst nicht übernehmen

Die räumlichen Notizen — Kommentar-Marker in der Szene, die an ein Ticketsystem hängen — sind im Vortrag das stärkste Kapitel und für uns das schwächste. Ihr Nutzen entsteht in einem Team, das sich gegenseitig im selben Level Zettel hinterlässt, und er hat eine schöne zweite Ordnung: Wer sieht, dass ein Problem schon notiert ist, meldet es nicht ein zweites Mal.

Nur haben wir dieses Team nicht. Diese Rolle füllen bei uns die Akten unter docs/mitarbeiter/ — und die können etwas, das ein Marker in einer Szene nicht kann: Jeder Befund trägt einen Abnahme-Zustand. Er wird gebaut oder ausdrücklich verworfen, und Liegenlassen wird angemahnt. Ein Zettel im Level hat keinen Zustand, er hat nur ein Datum.

Zwei weitere Grenzen sind ehrlich zu nennen. Ein Testraum ist Inhalt und Code, kein toter Text: Er wächst mit, bricht bei Engine-Umstellungen und kostet Pflege. Und eine Auslage ist weder durchsuchbar noch verlinkbar — genau deshalb bleibt KISTEN_DESIGN.md, wo es ist. Was dort steht, sind Regeln. Was in eine Szene gehört, sind Zahlen und Verhalten.

Und was er nicht löst

Der Arm games trägt eine offene Falle, die durch nichts hiervon besser wird: Der Godot-Web-Export liefert rund 5 800 Bytes HTML — ein Canvas, etwas WASM, kein Absender, kein Impressum-Link, als Titel der blanke Verzeichnisname. Was im Spiel-Canvas steht, sieht weder eine Suchmaschine noch jemand, der nicht startet.

Dokumentation ins Spiel zu verlegen verschiebt Wissen genau dorthin, wo es von aussen unsichtbar ist. Nach innen ist das richtig. Nach aussen bleibt die Hülle die Pflicht, und die ist eine andere Baustelle.

Vereins-Bezug

Was das für uns bedeutet

  • Der Kern ist eine Kostenrechnung, keine Methode: nicht das Schreiben ist teuer, sondern der Wechsel zwischen Werkzeug und Wissensspeicher. Wer die Antwort dorthin legt, wo gearbeitet wird, senkt nicht den Aufwand je Aktualisierung — er senkt die Wahrscheinlichkeit, dass sie ausbleibt. Dieselbe Rechnung steht hinter „Inline vor Modal“ in DESIGN.md, nur eine Ebene tiefer.
  • Dokumentation, die man ausführen kann, veraltet laut. Ein Testraum, in dem die Figur hängenbleibt, bricht den nächtlichen Lauf; ein Markdown-Dokument, das nicht mehr stimmt, tut nichts. Für uns ist das der eigentliche Gewinn: aus einem Pflegeposten wird Testmaterial, und aus veralteter Dokumentation ein roter Bau statt einer Enttäuschung ein halbes Jahr später.
  • Das Namensproblem des Vortrags ist bei uns belegt. Er zeigt ein Tor, das `metal gate` heisst und das niemand findet, der `iron gate` tippt — Assets werden neu gebaut, weil sie über den Namen nicht auffindbar sind. Unser Haus hat dieselbe Falle von der anderen Seite erwischt: bis zum 2026-08-12 zeigten 57 von 100 Flächen den Verzeichnisnamen statt des Produktnamens an, während das Register die richtigen Namen die ganze Zeit führte. Ein Name ist eine Vereinbarung, an die sich niemand vollständig erinnert.
  • Es trennt sauber, was heute vermischt ist: Regeln gehören in Text (KISTEN_DESIGN.md bleibt, wo es ist), Metriken und Systemverhalten gehören in eine startbare Szene. Die Beobachtung dahinter ist unbequem und plausibel — wer baut, liest keine Tabellen; wer Schnittstellen schreibt, liest sie gerne.
  • Für die Kisten ist der Nutzen doppelt. Ein Testraum mit dem geteilten Fundament aus KISTEN_DESIGN.md ist gleichzeitig die Antwort auf „wie weit springt die Figur“ und die einzige Stelle, an der man sieht, ob das Bewegungs-Vokabular über alle Geschwister noch gleich aussieht. „Geschwister, nicht Klone“ ist ohne eine Fläche, die alle Geschwister nebeneinander zeigt, nicht prüfbar.
Der Plan

Wie wir es nutzen könnten

  1. 1
    Ein Testraum im Kit-Probelauf offen
    Eine Szene in `libs/godot-mana-kit/probe`: Sprungweiten und Kletterhöhen als Klötze, farbcodiert nach machbar / knapp / unmöglich, dazu ein Massstabsklotz von einem Meter. Sie beantwortet die Metrik-Fragen und zeigt in derselben Szene das Fundament aus KISTEN_DESIGN.md. Erst eine Kiste, dann urteilen.
  2. 2
    Asset-Auslage als EditorScript offen
    Ein `EditorScript`, das alle Szenen eines Ordners in einem Raster instanziiert, unter dem Licht der Zielszene, mit Massstabsreferenz. Der ganze Vorschlag steht und fällt damit, dass das ein Knopf ist — von Hand gebaut wäre es dieselbe Pflegefalle, die es vermeiden soll. Kandidat für `mana-godot-welt`.
  3. 3
    Nächtlicher Bildvergleich statt Sichtprüfung offen
    Sobald die Auslage generierbar ist, wird sie nachts abfotografiert und der Anteil geänderter Bildpunkte gegen den Vortag verglichen. Viel Änderung heisst entweder neue Assets oder etwas Kaputtes — die Entscheidung trifft ein Mensch, die Frage stellt die Maschine. Der billigste visuelle Regressionstest, den wir bekommen können, und er hängt an nichts Fremdem.
  4. 4
    Ein Systemraum, sobald ein System zum zweiten Mal erklärt wird offen
    Kein Vorratsbau. Die zweite Erklärung desselben Systems ist das Signal, dass eine startbare Beispielszene billiger ist als die dritte. Gilt für das Theme-Fundament genauso wie für die Physik der 3D-Kisten.
  5. 5
    Nicht übernommen: räumliche Notizen im Editor verworfen
    Kommentar-Marker in der Szene, die an ein Ticketsystem hängen. Der Nutzen setzt ein Team voraus, das sich gegenseitig Notizen hinterlässt — den haben wir nicht. Bei uns übernehmen die Akten unter docs/mitarbeiter/ diese Rolle, und die haben etwas, das ein Marker in einer Szene nicht hat: einen Abnahme-Zustand.
    Verworfen, weil: Setzt ein mehrköpfiges Team im selben Level voraus; die Rolle füllen bei uns die Akten mit Abnahme-Zustand.
  6. 6
    Befund: die Hüllen-Falle wird davon nicht berührt Ergebnis
    Der Arm `games` trägt eine offene Falle — der Godot-Web-Export liefert rund 5,8 KB HTML, ohne Absender, ohne Impressum-Link, mit dem Verzeichnisnamen als Titel. Was im Spiel-Canvas steht, sieht weder eine Suchmaschine noch jemand, der nicht startet. Dokumentation ins Spiel zu verlegen macht das schlechter, nicht besser. Beides ist zu trennen: nach innen ins Spiel, nach aussen in die Hülle.
Ehrlich benannt

Offene Punkte

  • Ein Testraum ist Inhalt und Code, kein toter Text. Er wächst mit, bricht bei Engine-Umstellungen und will gepflegt werden. Der Aufwand verschwindet nicht — er wandert in ein Artefakt, das sich wenigstens automatisch prüfen lässt. Wer das als Ersparnis verkauft, hat den Vortrag falsch gelesen.
  • Eine Auslage ist nicht durchsuchbar und nicht verlinkbar. Genau deshalb bleibt der Text: der Systemraum soll auf die technische Dokumentation zeigen, nicht sie ersetzen.
  • Nicht jedes Wissen ist räumlich. Warum eine Entscheidung so fiel, welche Alternative verworfen wurde, welche Auflage gilt — das passt in keine Szene und bleibt in docs/.
  • Der Eintrag steht unter `kids`, weil das Kit und die verbindlichen Regeln dort liegen. Er betrifft den Arm `games` genauso — der Trennstrich läuft dort über den Zweck, nicht über die Engine, und diese Lehre folgt der Engine.
  • Die Quelle ist ein Vortrag ohne Lizenz und ohne Code, gefunden von Hand statt über den nächtlichen Sammler. Er wäre über das Verfahren in UMSCHAU.md nie aufgetaucht — die Achsen dort suchen offene Repos.
Belege

Quellen

Paper, Code, Modell und Erklärung — mit eigenem Namen daneben. Datum dort, wo es belegbar ist.

Forschung

Weitere Steckbriefe

Der Forschungsradar sammelt fremde Methoden, die zu dem passen, was wir bauen. Externe Entwicklungen (Regulierung, Markt) stehen in den Recherchen; die KI-Modelle selbst im Modell-Katalog.