Das Spiel ändert sich fast täglich. Hier steht, was wirklich ausgespielt wurde – direkt
aus dem Changelog des Projekts, ohne Umweg über eine zweite Liste, die veralten könnte.
Fassung 0.18.0
Hinzugefügt
Der Warenkatalog zeigt die Symbole des Spiels. Gewünscht: „Unter Waren und Ketten wären die Symbole noch gut." Jede Zeile trägt jetzt die Zeichnung der Ware, die ihres Betriebs und die jedes Vorprodukts – dieselben Dateien, die auch im Spiel dastehen. Wer dort nach einer Ware sucht, sucht nach dem Bild, nicht nach dem Wort.
Die 191 Bilder des Katalogs laden verzögert; ohne das lüde ein Aufruf der Seite alle auf einmal, die meisten davon für Waren, die niemand je herunterscrollt.
Fassung 0.17.1
Behoben
Bei offenem „Mehr"-Blatt ließ sich die Seite wegziehen. Gemeldet mit Bild: „Die Page ist zwar zu Ende, aber ich kann irgendwie doch noch hoch ziehen" – die untere Leiste stand dann mitten im Blatt. Der Grund lag nicht im Blatt, sondern im Dokument: 100dvh folgt den Balken von Safari, aber nicht im selben Augenblick; für einen Moment ist das Fach höher als das Sichtbare und lässt sich ziehen. Alles im Fluss wandert dabei mit, das Blatt bleibt als festes Element stehen. Das Dokument hat auf dem Handy jetzt gar keinen Scrollweg mehr – gescrollt wird nur dort, wo es hingehört.
Das „Mehr"-Blatt schob in einem flachen Fenster seinen Kopf aus dem Bild und damit das Schließen-Kreuz. Gemessen bei 560 px Höhe: 53 px darüber hinaus. Es hat jetzt einen Deckel, und die Liste darin scrollt selbst.
Fassung 0.17.0
Geändert
Die Kopfleiste ist jetzt überall dieselbe – ohne Ausnahme. Gefordert: „Alles 100 % gleich." Zwei Stücke fehlten dem Titelbild bzw. standen dort zu viel: - „Jetzt spielen" steht jetzt auch auf dem Titelbild. Bisher fehlte der Knopf, weil er dort auf die Seite zeigte, auf der man schon steht. Er tut jetzt, was er verspricht: Er führt in die Siedlung – fortsetzen, wenn es etwas fortzusetzen gibt, sonst ein neues Spiel; vor der Kontofrage den kurzen Weg ohne Konto. - Der Tonschalter ist aus der Leiste in die Einstellungen gezogen. Auf einer Textseite hat er nichts abzuschalten und war damit der letzte sichtbare Unterschied. Klänge und Lautstärke stehen unverändert in den Einstellungen, vom Titelbild aus ein Knopf weiter.
Behoben
Der Sprachschalter war auf dem Handy im Spiel 80 px breit und auf einer Textseite 75 – zwei Dateien stritten sich um die Schriftgröße. Die Regel steht jetzt an einer Stelle.
Der Fuß des Titelbilds schrieb auf dem Handy 10 px klein, die Textseiten 15, und er ließ die trennenden Punkte weg. Beides kommt jetzt aus der Schale.
Hinzugefügt
Der Vergleich der Schale läuft auch auf dem Handy. „Einmal genügt, die Regeln sind dieselben" stimmte nicht: Die schmale Leiste hat eigene Regeln, und genau dort standen die beiden zuletzt behobenen Unterschiede.
Fassung 0.16.0
Geändert
Die Kopfleiste sieht auf dem Titelbild aus wie auf jeder anderen Seite. Sie war über der Szene dunkel und durchscheinend, auf den Textseiten hell auf Pergament – die letzte Entscheidung aus der Zeit, als es zwei Layouts gab. Gemeldet: „Solange die Kopfzeilen unterschiedlich sind, sind wir nicht fertig. So wie es auf der FAQ-Seite ist, soll es auch auf der Startseite sein." Die Leiste bringt ihren Grund jetzt selbst mit (Pergamenttextur statt Durchsicht) und ist damit überall dieselbe, ganz gleich, was hinter ihr liegt. Der Fuß genauso.
Sprache und Ton tragen dieselben Regeln wie der Sprachschalter der Textseiten. Sie wichen an drei Stellen ab: ein rotes DE statt eines dunklen, min-height statt height, und auf dem Handy 38 px statt 40.
Hinzugefügt
Der Vergleichstest prüft jetzt auch die Farben – Grund, Schriftfarbe, Schatten und Ränder. Sie standen bisher ausdrücklich draußen, weil die Bühne dunkel sein sollte; mit der Entscheidung fällt auch die Ausnahme. Verglichen werden dazu die Werkzeuge und die Verweise in Kopf und Fuß.
Fassung 0.15.0
Geändert
Alle Seiten außerhalb des Spiels kommen jetzt aus TypeScript. FAQ, Blick ins Spiel, Waren und Ketten, Neuigkeiten, Impressum und Datenschutz waren Blade-Ansichten; sie stehen jetzt in src/seiten/ und werden beim Bauen zu fertigem HTML gerendert. Gefordert: „Dann muss alles von Blade samt URL auf TS rüber. Egal wie. SSR."
Die Schale gibt es nur noch einmal. Titelbild und Textseiten riefen bis hierher zwei getrennte Fassungen desselben Markups – eine in TypeScript, eine in PHP –, die ein Test zusammenhielt. Jetzt rufen beide dieselben Funktionen; verschieden ist nur noch, was ausdrücklich verschieden sein soll (Ton, Schalter des Menüs, Fassungsnummer).
Die Textseiten gehen am Anwendungscode vorbei. Caddy liefert sie als Dateien aus, ohne dass PHP anläuft: schneller, und ohne jede Möglichkeit, dass das Lesen eines Impressums eine Sitzung anlegt. Genau das sagt die Datenschutzerklärung zu – sie nennt jetzt alle Textseiten, nicht nur die beiden rechtlichen.
Eine Liste statt vier. Welche Adressen es außerhalb des Spiels gibt, stand in den Routen von Laravel, in tools/sitemap.py und in der Navigation. Jetzt steht es in src/seiten/index.ts; Dateien, Sitemap und Auslieferung folgen daraus. Der Webserver nennt keine einzige Adresse mehr: Gibt es zu /faq die Datei /faq.html, wird sie ausgeliefert.
Die englischen Wörter der Schale („Play now", „Menu", „Pages", „Close menu") kommen aus demselben Wörterbuch wie das Spiel; vorher standen sie fest im PHP-Markup.
Hinzugefügt
tests/sim/seiten.test.ts prüft jede Seite in jeder Sprache – ohne Browser und ohne Server. Die Pflichtangaben nach § 5 DDG stehen dort fest, damit sie niemand unbemerkt herauslöscht.
Entfernt
Sechs Blade-Ansichten, eine Blade-Komponente, zwölf Route::view-Zeilen, zwei erzeugte JSON-Dateien, eine kopierte Markdown-Datei und drei Bauschritte (waren-export.mjs, schale-export.mjs, sitemap.py).
Behoben
Das Schließen-Zeichen im Menü der Textseiten war ein anderes als im Spiel; jetzt ist es dasselbe Strichzeichen, und aussen.css bringt die Regel dafür mit.
Fassung 0.14.0
Behoben
Kopf und Fuß erbten ihre Schriftgröße vom Umfeld – im Spiel 15 px, auf den Textseiten 17. Daraus folgten verschiedene Höhen in Kopfleiste (31 gegen 36 px) und Fuß (19 gegen 22 px), die niemand gesetzt hatte. Die Schale bringt ihre Maße jetzt selbst mit.
Der Fuß der Bühne hatte ein min-height aus der Zeit vor der gemeinsamen Schale: 44 px gegen 42 auf den Textseiten.
Das Titelbild rückt jetzt genauso vom Rand ein wie die Textseiten – die Kopfleiste war dort 1448 px breit und hier 1428.
Die Linie über dem Fuß fehlte auf der Bühne.
Hinzugefügt
Ein Test vergleicht die ganze Schale, Struktur und berechnete Stile, und lässt nur durch, was in einer Liste mit Begründung steht. Gemessen waren es 62 Unterschiede; übrig sind sieben, jeder mit einem Grund.
Fassung 0.13.0
Behoben
Die gemeinsame Stilvorlage trägt jetzt einen Fingerabdruck im Namen (aussen.<marke>.css). Sie war die einzige Datei, die sich bei jedem Ausspielen ändert und über das Netz kommt – Cloudflare lieferte sie mit max-age=14400 aus, vier Stunden. Wer die Seite öffnete, sah eine alte Gestalt, obwohl der Server längst die neue auslieferte.
Der Rahmen hing am Fenster statt am Dokument. Auf iOS wächst und schrumpft das Sichtfenster beim Scrollen, weil die Adressleiste ein- und ausfährt – der Rahmen sprang dabei quer durchs Bild. Jetzt umschließt er die ganze Seite wie ein Blatt.
Das Titelbild trug zwei Rahmen übereinander: Der alte kam beim Zurücknehmen eines zu groben Schnitts wieder herein.
Geändert
Der Sprachschalter steht jetzt auch auf den Inhaltsseiten in der Kopfleiste, nicht nur als Link ganz unten im Fuß. Ton bleibt dem Spiel vorbehalten – auf einer Textseite hätte ein Tonschalter nichts abzuschalten.
Unter 470 px trägt die Kopfleiste nur noch das Wappen: Wappen, Name, Sprachschalter, Burger und der Knopf ins Spiel passen dort nicht nebeneinander.
Fassung 0.12.1
Behoben
Bei offenem Menü lag die Fußzeile des Titelbilds über dem Blatt. Ursache war ein z-index auf der Kopfleiste: Er macht sie zu einem eigenen Stapelkontext, und das Menüblatt darin konnte nie über etwas außerhalb steigen. Die Szene liegt ohnehin mit negativem z-index dahinter – der Wert war überflüssig.
Fassung 0.12.0
Hinzugefügt
/anmelden und /registrieren – zwei Adressen, die ins Spiel an die richtige Stelle springen, verlinkbar und teilbar. Sie tragen X-Robots-Tag: noindex: kein eigener Inhalt, keine Suchnachfrage. Auch auf Englisch (/en/anmelden, /en/registrieren). Wer schon angemeldet ist, sieht das Menü statt einer Maske.
Behoben
Der Zierrahmen schnitt quer durch die Kopfleiste. Er liegt fest über allem, der Inhalt lief bis an den Bildschirmrand – „Jetzt spielen" stand halb dahinter. Jetzt rückt die Seite um denselben Betrag ein, um den der Rahmen innen liegt.
Geändert
Ein Fuß für alle. Auf den Textseiten standen drei Spalten mit Überschriften, auf dem Titelbild eine schmale Zeile. Jetzt überall die Zeile: Auf der Bühne ist für drei Spalten kein Platz, und dieselben Verweise stehen auf jeder Seite ohnehin in der Kopfleiste.
Fassung 0.11.0
Geändert
Die Wege der Schale stehen nur noch an einer Stelle (src/ui/aussen-seiten.ts). tools/schale-export.mjs schreibt sie beim Bauen nach server/resources/schale.json, und die Blade-Seiten lesen sie von dort – in beiden Sprachen, aus demselben Wörterbuch, aus dem auch das Spiel übersetzt. Vorher stand die Liste zweimal da und wurde nur verglichen.
Der „Jetzt spielen"-Knopf hat eine feste Höhe statt Polster.
Behoben
Die Kopfleiste der Textseiten war 3 px höher als die des Titelbilds – der Knopf war höher als das Wappen. Gefunden von einem neuen Test, der beide Leisten vermisst.
Fassung 0.10.0
Geändert
Eine Schale für alles außerhalb des Spiels. Titelbild, FAQ, Blick ins Spiel, Warenkatalog, Neuigkeiten, Impressum und Datenschutz tragen denselben Zierrahmen, dieselbe Kopfleiste mit Marke und Navigation, denselben Fuß und dasselbe Menü. Vorher waren es drei Layouts – das Titelbild ohne Kopfleiste, die Inhaltsseiten mit, und das Rechtliche noch einmal anders mit eigenem <style>-Block.
Die Gestalt steht in einer Datei (public/aussen.css), die von beiden Welten geladen wird: vom Spiel und von den Blade-Seiten. Verschieden bleibt nur der Grund darunter – die Szene auf dem Titelbild, ruhiges Pergament unter den Texten.
Sprache und Ton sitzen jetzt in der Kopfleiste statt in einer eigenen Zeile oben rechts.
Behoben
Das Ankreuzfeld des Menüs stand am Rechner sichtbar in der Kopfleiste.
Fassung 0.9.0
Hinzugefügt
Vier Inhaltsseiten, je Sprache: /faq (mit FAQ-Strukturdaten, die Google direkt in der Trefferliste ausklappen darf), /blick-ins-spiel (Bildstrecke aus dem echten Spiel), /waren (alle 105 Waren mit Betrieb und Vorprodukten, erzeugt aus den Spieldaten) und /neuigkeiten (aus dem Changelog). Alle serverseitig gebaut – sie stehen ohne eine Zeile JavaScript da, anders als das Spiel.
Kopf- und Fußleiste für diese Seiten: durchgehende Bahnen, Navigation, drei Spalten im Fuß. Auf dem Handy ein Burger mit Blatt von der Seite – ohne JavaScript, über ein Ankreuzfeld.
Das Titelbild des Spiels führt ebenfalls zu den Inhaltsseiten: am Rechner im Fuß, auf dem Handy über dasselbe Blatt von der Seite.
Alle acht Seiten stehen in der sitemap.xml, mit hreflang auf die jeweils andere Sprache.
Behoben
Der Fuß des Titelbilds konnte nicht umbrechen. Mit den neuen Verweisen wurde er breiter als ein Telefon – und weil er die Breite der Seite bestimmt, stand der DE/EN-Schalter oben rechts gemessen 73 px außerhalb des Bildes.
Geändert
Impressum und Datenschutz stehen auf dem Handy im Menü statt im Fuß, dort am unteren Rand abgesetzt. Am Rechner bleiben sie im Fuß: Dort gibt es das Menü nicht, und § 5 DDG verlangt „ständig verfügbar".
Fassung 0.8.0
Hinzugefügt
Auffindbarkeit. Open-Graph- und Twitter-Card-Angaben samt Vorschaubild (1200×630, aus dem echten Titelbild erzeugt: tools/og-bild.sh) – ein geteilter Link zeigt jetzt Bild, Titel und Text statt der nackten Adresse.
canonical, hreflang und eine sitemap.xml; die robots.txt verweist darauf.
Strukturierte Daten (JSON-LD VideoGame): Browserspiel, kostenlos, einsprachig lesbar für Google.
Ein <noscript>-Block mit echtem Text. Ohne JavaScript stand vorher nichts auf der Seite.
Die Startseite hat eine <h1> – vorher hatte das Dokument gemessen keine einzige Überschrift.
Die englische Fassung liegt unter /en als eigene Datei mit eigenem Titel, eigener Beschreibung, lang="en" und eigenem canonical. Wer diesen Link öffnet, startet auf Englisch; eine eigene Wahl im Spiel sticht das weiter.
Geändert
Der Titel nennt, was das Spiel ist, nicht nur die Marke.
www.bellowsandbarley.com leitet dauerhaft auf die nackte Domain um; vorher lieferten beide 200, für eine Suchmaschine zwei Seiten mit demselben Inhalt.
Fassung 0.7.0
Hinzugefügt
Der Produktionsbildschirm beginnt mit dem Warengitter. Eine Kachel je herstellbarer Ware, nach Kategorien gruppiert, mit der Zahl der Betriebe, die zu ihr führen. Ein Tipp auf Werkzeuge zeigt genau die sieben Betriebe ihrer Kette statt aller 105 über acht Stufen. „Alle Betriebe zeigen" führt zur vollständigen Liste wie bisher.
Die Kachel färbt sich nach der schlechtesten Lage der ganzen Kette – wer Werkzeuge sucht, sieht am Gitter, dass es am Erz hakt, ohne hineinzugehen.
Suche, „Nur Engpässe" und Sortierung der Filterleiste gelten im Gitter wie in der Liste.
Fassung 0.6.4
Behoben
Die Kostenzeile eines Betriebsausbaus zeigte nur drei feste Posten. Bretter, Holzkohle und Arbeiter standen fest im Code; Stein, Ziegel, Kalk und Quader fehlten ganz. Sobald die Siedlung einen Steinbruch hat, steht Stein *an der Stelle* der Holzkohle – dann zeigte die Karte ein Symbol ohne Zahl daneben, während die Warnzeile darunter den fehlenden Stein sehr wohl nannte.
Die Warnzeile „Es fehlt …" landete auf dem Handy in der schmalen Symbolspalte und brach auf fünf Zeilen um; am Rechner stand sie doppelt. Beides, weil die Klasse an einem Wrapper hing statt an der Zeile selbst und die Regeln dafür ins Leere zielten.
Aufzählungen lauten jetzt „A, B und C" statt „A und B und C". Bei bis zu zwei Posten fiel das nicht auf, bei einem Ausbau hoher Stufe sind es drei bis fünf.
Fassung 0.6.3
Behoben
Die Filterleiste bleibt auf dem Handy in einer Zeile. Suchfeld, „Nur Engpässe" und die Sortierung rutschten je nach Bildschirm und Sortiernamen auf zwei Zeilen. Jetzt geben die beiden Knöpfe die Breite vor – ihre Beschriftung wechselt ja mit der Sortierung – und das Suchfeld nimmt, was übrig bleibt. Unter 375 px Breite fällt zusätzlich die Beschriftung des Schalters weg; das Warndreieck steht für sich.
Geändert
Die Sortierung auf dem Ausbau heißt „Engpass" statt „Engpass zuerst" – mit dem langen Namen blieb im Suchfeld daneben „Such" statt „Suchen" stehen.
Fassung 0.6.2
Hinzugefügt
Der Produktionsbildschirm zeigt die Belegschaft zentral über den Ketten: wieviele Bewohner es gibt, wieviele in Betrieben stehen und wieviele frei sind, mit Balken. Was sonst Leute bindet – Miliz, Soldaten, eine laufende Ausbildung – steht klein daneben, und nur wenn es überhaupt jemanden bindet. Bisher war die freie Zahl nur in der Lasche eines ausgewählten Betriebs zu sehen; auf dem Handy merkte man ein volles Dorf daran, dass kein +-Knopf mehr ging.
Fassung 0.6.1
Geändert
Die drei Lampen in der mobilen Kopfzeile führen in ihren Bereich statt auf die Vorgangsliste: Bau → Ausbau, Glaskugel → Forschung, Schwerter → Schutz. Die Vorgangsliste hat ihren eigenen Eintrag in der unteren Leiste.
Fassung 0.6.0
Behoben
Die Statistik rechnete in der falschen Einheit. Die Tabelle zeigte Raten je Spielminute unter einer Überschrift, die „je realer Stunde" sagt – gemessen 22,8 statt 114, ein Faktor 5. Betroffen waren Produktion, Verbrauch, Überschuss und der Produktionstrend in der Seitenspalte; der Verlauf daneben rechnete schon richtig.
Hinzugefügt
Der Verbrauchs-Reiter der Statistik nennt den Bedarf als absolute Zahl: die Menge je Stunde, ab der eine Ware grün wird. Der tatsächliche Verbrauch steht klein darunter – er fällt bei leerem Lager auf null und beantwortete die Frage gerade dann nicht.
Auf dem Produktionsbildschirm steht derselbe Satz in Worten: „Grün ab 30 /Std. Gerade sind es 18." – in der Seitenspalte am Rechner, in der Lasche auf dem Handy. Dort stand bisher „Verbrauch ist höher als Produktion", was nichts sagte, was man nicht schon sah.
Fassung 0.5.13
Behoben
Die Symbole der unteren Leiste stießen oben an die Kante. Ursache war nicht nur ein fehlendes Polster: icon() schreibt die Höhe inline, und die Regeln dafür in responsive.css kamen dagegen nicht an – über vier Fassungen standen dort Werte, die nie galten, und die Symbole blieben bei 30 px, während die Leiste um sie herum schmaler wurde. Die Größe steht jetzt im Aufruf in bottomNav() (22 px), darüber bleiben 7 px Luft.
Fassung 0.5.12
Geändert
Die untere Leiste noch einmal deutlich flacher: 42 px Band statt 52, und der reservierte Platz für die Home-Anzeige 20 statt 34 px. Auf einem iPhone sind das 62 px statt 86 – gut die Hälfte dessen, was vor vier Fassungen dastand. Die Antippfläche bleibt bei 66 px.
Fassung 0.5.11
Geändert
Die untere Leiste noch einmal flacher: 52 statt 60 px Band, Symbole 24 px, Beschriftung 11,5 px. Auf einem Telefon mit Home-Anzeige sind das 86 px – genau die Höhe der Leisten des Systems (49 + 34 pt).
Hinzugefügt
Die Fassung steht jetzt auch in den Einstellungen, nicht nur im Fuß des Titelbilds. Wer das Spiel vom Startbildschirm öffnet, sieht das Titelbild nie und konnte bisher nicht nachsehen, ob eine Änderung überhaupt angekommen ist.
Fassung 0.5.10
Geändert
Die untere Leiste ist flacher: 60 statt 78 px, auf einem Telefon mit Home-Anzeige 94 statt 112. Solange die Anzeige als leerer Streifen darunter lag, sah man nur die 78; seit die Felder bis an den Rand reichen, sah man alles – und das war zu viel.
Fassung 0.5.9
Behoben
Die Felder der unteren Leiste reichen bis an den Bildschirmrand. Der sichere Bereich lag als leerer Streifen darunter: Trennlinien und die Hervorhebung des gewählten Feldes endeten davor, was aussah, als hinge die Leiste in der Luft. Jetzt wächst die Leiste um den Betrag und jeder Knopf polstert sich selbst.
Fassung 0.5.8
Behoben
Die untere Leiste bleibt auf dem Handy am Boden. Sie hing mit position: fixed über einem scrollenden Dokument und stand zweimal gemeldet mitten im Bild; jetzt ist die Seite ein Fach fester Höhe – Kopf, scrollender Inhalt, Leiste – und die Leiste kann den Boden nicht mehr verlassen.
Eingabefelder sind auf Fingergeräten mindestens 16 px groß. Darunter zoomt iOS beim Antippen die ganze Seite heran und nicht zurück; danach hängt alles Feste am Layout statt am Sichtfenster. Betroffen waren das Suchfeld der Filterleiste und die Kontofelder.
Geändert
Kopfzeile und untere Leiste weichen dem sicheren Bereich aus (env(safe-area-inset-*)). Auf einem Telefon mit Aussparung stand die Uhrzeit bisher über dem Wappen, und die Beschriftungen der Leiste lagen unter dem Home-Indikator.