Skip to content

Etage 17 · v0.1

Choose a tag to compare

@schmidt-software schmidt-software released this 12 Sep 00:59
· 2 commits to main since this release

Live ansehen · Änderungsübersicht

Erste benannte Fassung. Eine endlose isometrische Etage im Browser — prozedural erzeugt, belebt, und sie behält ihren Stand. Ohne Abhängigkeiten, ohne Bauschritt, ohne Bilddateien: rund 2 600 Zeilen HTML, CSS und JavaScript auf einem Canvas.

Welt

  • Erzeugung aus einem Seed: Flächenteilung in 19–28 Bereiche, Gänge nur ins Leere gegraben, sodass Türöffnungen von selbst entstehen. In allen geprüften Seeds ist die begehbare Fläche zu 100 % vernetzt.
  • Zwölf Raumthemen mit eigener Möblierung — Serverraum, Kantine, Labor, Pool, Kino, Arcade, Bibliothek, Gewächshaus, Werkstatt, Büro, Sporthalle, Startrampe.
  • 3 000–4 700 Objekte je Etage, jedes zur Laufzeit aus Rechtecken gezeichnet.

Figuren

  • 188–270 Bewohner mit eigenen Merkmalen: Größe, Hautton, Kleidung, Schuhe, eine von sechs Frisuren, gelegentlich ein Namensschild.
  • Zehn Aufgabenvorlagen aus ein bis drei Schritten über 286–649 Arbeitsplätze. Die Rolle bestimmt die Auswahl, Plätze werden reserviert, Fehlschläge brechen sauber ab.
  • Infokarte je Figur mit mitlaufendem Porträt, Aufgabe, Zustand, Tätigkeit und Ziel.

Bedienung

Ziehen, Zoomen mit Rad und zwei Fingern, Tastatur, Bereichsliste mit Suche, klickbare Minikarte, weiche Kamerafahrten, automatische Tour, Folgen-Modus.

Dauerhafter Zustand

Gespeichert werden Seed und elf Werte je Figur — 8–15 KB statt mehrerer Megabyte. Möglich, weil derselbe Seed dieselbe Etage in derselben Reihenfolge liefert; diese Eigenschaft prüft tools/test-welt.js bei jedem Lauf mit. Drei Speicherebenen: Artefakt-Datenbank, sonst Browser-Speicher, sonst nichts.

Gemessen

60 Bilder je Sekunde bei voller Etage, auch herausgezoomt auf 24 %. Erzeugung einer Etage in 1–10 ms.


Wie das Projekt entstand und welche Fehler dabei auftraten, steht in docs/entwicklung.md; die Begründungen der vierzehn Entscheidungen in docs/entscheidungen.md.