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.
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
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.
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.
Wie wir es nutzen könnten
-
1
Ein Testraum im Kit-Probelauf offenEine 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
Asset-Auslage als EditorScript offenEin `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
Nächtlicher Bildvergleich statt Sichtprüfung offenSobald 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
Ein Systemraum, sobald ein System zum zweiten Mal erklärt wird offenKein 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
Nicht übernommen: räumliche Notizen im Editor verworfenKommentar-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
Befund: die Hüllen-Falle wird davon nicht berührt ErgebnisDer 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.
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.
Quellen
Paper, Code, Modell und Erklärung — mit eigenem Namen daneben. Datum dort, wo es belegbar ist.
Weitere Steckbriefe
-
SystemeZwei Köpfe und ein Prüfblick — Lehren aus einem Bewerbungs-Werkzeug
-
SystemeZweiundzwanzig Anleitungen, keine länger als eine Seite
-
SystemeEhrliche Quellen-Diagnose — die Lehre aus dem last30days-Skill
-
SystemeFrische als Vertrag — vier Lehren aus einem offenen Lagebild-Werkzeug
-
Grafik & 3DMAC — vom Satz zum druckbaren Teil, geprüft am Werkstück statt am Code
-
Grafik & 3DTerrain Diffusion — unendliches, lernbares Gelände als Perlin-Noise-Nachfolger
-
Grafik & 3DPascal Editor — ein Gebäude-Editor, den ein Agent headless bedienen kann
-
Grafik & 3DVom kahlen Kopf zum Erzähler — zehn Schritte im Browser
-
Grafik & 3DEin Schritt je Stück — der fotoechte sprechende Kopf neben unserem gerechneten
-
DatenSchweizer Geodaten — das halbe Meter genaue Gelände, gratis und ohne Konto
-
DatenAlphaEarth — Googles Erd-Embeddings, frei lizenziert und offline nutzbar
-
Grafik & 3DGNM — Googles parametrisches Kopfmodell, erstmals unter freier Lizenz
-
Grafik & 3DBox3D — deterministische 3D-Physik vom Box2D-Autor, schon als Godot-Extension
-
AudioNoten statt Prompt — ein Modell singt die geschriebene Melodie
-
SystemeDer Riegel davor und der Riegel darin — was authentik uns nicht abnimmt
-
KIAgenten mit eigenem Schlüssel — vier Lehren aus einer offenen Agenten-Werkstatt
-
KIDesignregeln mit Kennung — und was ein 59-MB-Skill über Lieferketten lehrt
-
KIOffene Bildmodelle rendern lesbaren Kartentext — lokal statt in der Cloud
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.