Task 012 – Das neue Bühnenbild der App

Status: geplant (2026-10-27), wartet auf die Freigabe der Konzepttafeln (Phase 0). Roadmap: 0.2.0 „Die Bühne“ Referenz: design/reference/ui_concept_v1.png (Codex, 2026-10-27, Prompt in design/prompts/ui_concept.md), vom Eigentümer als Richtung bestätigt.

Konzept v1

Ziel

Die App sieht aus wie das Konzept: Jeder Bildschirm ist ein beleuchtetes Bühnenbild bei Mondlicht, in dem die Pappfiguren in echtem Raum stehen. Die Bedienung liegt ruhig und hochwertig davor. Das gilt für jeden Bildschirm und jeden Zustand, auf Handy, Tablet, Desktop und im Browser. Die Spielregeln, das Netz und die Geheimhaltung ändern sich nicht. Es ändert sich nur, wie es aussieht und sich anfühlt.

Nicht Ziel: neue Spielfunktionen, ein neues Logo, die Website. Die Website wird erst nach der App angeglichen (Phase 7).

Was das Konzept ausmacht

Daran messen wir jeden Bildschirm. Abgeleitet aus dem Konzeptbild:

  1. Ein Bühnenbild pro Moment. Jeder Bildschirm hat eine eigene Szene: Dorf am Abend zum Beitreten, Theater mit Vorhang für die Rolle, Nachtsee unter Vollmond, Dorf in der Dämmerung zur Abstimmung. Die Szene füllt den Bildschirm von Rand zu Rand, die Bedienung liegt darauf.
  2. Der Mond ist das Leitmotiv und hat eine Aufgabe. Er zeigt die Tageszeit (Sichel am Abend, Vollmond in der Nacht, Sonne am Morgen) und dient als Uhr. Der Leuchtring um den Mond ist der Timer, auf dem Abstimmungsbildschirm wird er zur kleinen Uhr.
  3. Rahmen aus Kulisse. Bäume, Häuser, Laternen und Vorhänge rahmen links und rechts den Inhalt, wie Seitenkulissen einer Bühne. Die Mitte bleibt frei für das Wichtige.
  4. Die Figuren sind die Helden. Sie stehen groß und warm beleuchtet in der Szene, mit hellem Kartonrand. Neu gegenüber dem Konzept: Sie stehen in echtem 3D, also geneigt, mit sichtbarer Wellpappkante und weichem Schatten auf dem Boden. Das können wir schon (TurningFigure, siehe DESIGN.md).
  5. Ein klarer Satz oben. Eine kleine Dachzeile in Kapitälchen mit Strichen („— SPIELABEND —“), darunter ein großer Titel in einer warmen Serifenschrift („Komm dazu“, „Deine Rolle“, „Augen zu“, „Wen verdächtigst du?“).
  6. Eine Hauptaktion unten. Ein breiter Knopf in Laternenorange mit Pfeil oder Symbol, groß genug für den Daumen. Darüber höchstens eine Plakette mit dem Nötigsten (Raumcode, Rolle, Timer).
  7. Plaketten aus dunklem Holz und Karton für Informationen. Sie sind halbtransparent dunkel mit feiner goldener Kante und warmem Text, wie Schilder auf der Bühne.
  8. Wenig Text, große Schrift, viel Luft. Ein Satz Erklärung statt eines Absatzes. Alles andere liegt eine Ebene tiefer (Hilfe, Details).
  9. Die Nacht ist fast schwarz und für alle gleich. Mond, Himmel, kaum Bedienung, dazu der Hinweis, dass der Erzähler spricht.
  10. Warmes Licht gegen kühle Nacht. Tiefes Nachtblau und Tinte als Grund, Laternenorange und Mondgold als Licht. Rot nur für Gefahr und Tod.

Was wir am Konzept bewusst ändern:

  • Figuren: Im Konzept wirken sie wie Aufkleber. Bei uns sind sie Pappfiguren in 3D (siehe Punkt 4).
  • Mond-Timer in der Nacht: Er darf keine Restzeit zeigen. In der klassischen Nacht sehen nur die Aufgerufenen die Restzeit (SECURITY_DESIGN, „Die klassische Nacht“), sonst verriete ein Timer, wann jemand gewählt hat. Der Ring in der Nacht läuft deshalb gleichmäßig über die ganze Nacht, aus dem Phasenbeginn und der eingestellten Nachtlänge, für alle gleich. Die Aufgerufenen sehen ihre Restzeit nur in ihrer eigenen Aufgabe.
  • Tonwelle „Die Nacht erzählt“: Sie bewegt sich nicht nach dem tatsächlichen Pegel des eigenen Handys. Weil der Erzähler wandert, wäre das zwar öffentlich, sähe aber auf jedem Handy anders aus. Sie folgt dem gesprochenen Satz (an, wenn der Erzähler spricht), auf allen Handys gleich.
  • „1 Geist schaut zu“: Das ist erlaubt, denn wie viele tot sind, ist öffentlich. Geisterwissen selbst erscheint nur im gedrückten Geisterblick.

Was bleibt (nicht verhandelbar)

  • Geheimhaltung nach SECURITY_DESIGN: Die Nacht ist für alle gleich aufgebaut (Anti-Tell). Kein Bildschirm zeigt, was der Spieler nicht wissen darf. Geisterwissen gibt es nur gehalten. Keine Animation, kein Klang und keine Farbe hängt von einer geheimen Rolle ab, außer auf dem eigenen, verdeckt angesehenen Rollenbildschirm.
  • Figuren-Regeln aus DESIGN.md: eigene Designs, Kartonrand, schauen nach rechts, Personas verraten nie die Rolle.
  • Barrierefreiheit: Kontrast nach WCAG AA, Schrift skaliert mit der Systemeinstellung bis 200 %, jede Aktion mit Bildschirmleser-Beschriftung, Ziele mindestens 48 × 48 dp, bei reduzierter Bewegung keine großen Bewegungen.
  • Alles läuft offline, keine Schriften oder Bilder von fremden Servern.
  • Eine Quelle für Farben: design/tokens.json erzeugt die Palette der App und der Website.

Das Designsystem

Farben (Tokens)

Bestehende Tokens behalten ihre Namen und werden nachgeschärft. Neue kommen hinzu. Endwerte legt Phase 1 nach Messung am Konzeptbild fest, mit Kontrastprüfung.

TokenRolleRichtung aus dem Konzept
night-950 … night-500Grund, Himmel, Plakettentieferes, satteres Nachtblau (#0B1530 bis #2A3A66)
ink-900 (neu)fast schwarze Flächen der NachtBlauschwarz, nie reines Schwarz
moon-50 … moon-300Mondlicht, heller Textwarmes Elfenbein bis Mondgold
lantern-300 … lantern-600Hauptaktion, Auswahl, LaternenlichtOrange mit goldenem Verlauf (Knopf hat oben helleres Licht)
gold-400, gold-600feine Kanten, Ring, HäkchenMessing, nie gelb
curtain-400, curtain-700Vorhang, Gefahr, TodTheaterrot
wood-600, wood-800Plakettenkanten, Bühnenranddunkles Holz
card-200Kartonrand der Figurenhelles Beige
dawn-300 (neu)Morgen- und AbendhimmelRosé bis Pfirsich für die Dämmerung

Schrift

  • Titel: eine warme, gut lesbare Buchserife mit Charakter, wie im Konzept. Kandidaten (SIL OFL, mitlieferbar): Ancizar Serif (schon auf der Website, dann sind App und Website gleich), Alegreya, Fraunces. Entscheidung in Phase 0 mit den Konzepttafeln. Lilita One wird ersetzt.
  • Dachzeile: dieselbe Serife in Kapitälchen mit weiter Laufweite, mit kurzen Strichen davor und danach.
  • Text und Bedienung: Manrope bleibt (400/600/800).
  • Zahlen (Raumcode, Timer): Serife mit Versalziffern, sehr groß.
  • Größen (bei Systemgröße 100 %): Titel 34/40, Dachzeile 12 mit Laufweite 0,2 em, Text 16/24, Knopf 20, Raumcode 44. Auf dem Tablet ×1,2, im Querformat ein Stück kleiner, wenn die Höhe fehlt.

Raum, Formen, Licht

  • Raster: 4 dp. Seitenrand 20 dp (Handy) und 32 dp (Tablet). Abstände 8/12/16/24/32/48.
  • Rundungen: Plaketten 18, Knöpfe 18, Figurenkarten 16, Handyrahmen nicht (die App läuft randlos).
  • Licht: Jede Szene hat eine Lichtquelle (Mond oder Laterne). Plaketten und Knöpfe bekommen davon eine helle Oberkante und einen Schatten nach unten. Dafür gibt es ein gemeinsames StageLight, damit alles zum selben Licht passt.
  • Körnung: feines Papierkorn über allem (wie heute), sehr dezent.

Komponenten

Jede Komponente bekommt eine Galerie-Seite (Phase 1) und einen Screenshot-Test in drei Größen.

KomponenteAufgabeWichtig
StageSceneBühnenbild aus Ebenen (Himmel, Mond, Horizont, Mittelgrund, Seitenkulissen, Boden), füllt den Bildschirm, leichte Parallaxe beim Scrollen und NeigenEbenen werden nach Größe geladen, nie mehr als nötig dekodiert
MoonMond in Phasen (Sichel, halb, voll, Sonne, Blutmond am Ende der Wölfe), optional mit RingRing = Fortschritt 0–1, von außen gesteuert; nachts nie Restzeit (siehe oben)
Eyebrow + StageTitleDachzeile und TitelTitel bricht höchstens auf zwei Zeilen um, sonst kleiner
Plaquedunkle Info-Plakette mit Goldkanteersetzt Panel; Variante „Papier“ nur für Morgen und Einladung
LanternButtonHauptaktionersetzt PrimaryButton, mit Symbol rechts, gibt beim Drücken nach (Pappe)
OutlineButtonNebenaktiondunkel mit Goldkante, z. B. „Ton aktiv“, „Enthalten“
PuppetCardFigur als wählbare Karte (Brustbild auf Karton, Name auf Plakette, Häkchen bei Auswahl)aus den vorhandenen Figuren zugeschnitten, keine neuen Bilder nötig; tot: entsättigt mit Stempel
Puppet3Dganze Figur in echtem 3D mit Kante und Schattenbaut auf TurningFigure auf, mit Bodenschatten und leichtem Wiegen
RoomCodePlaqueRaumcode groß und QR danebenQR auf hellem Karton, damit Kameras ihn lesen
ReadyBeads„6 von 8 bereit“ mit Perlenauch für Bestätigungen und Abstimmung
NarratorBar„Die Nacht erzählt“ mit Tonwellefolgt dem gesprochenen Satz, für alle gleich
GhostPlaqueGeisterblick zum Haltenaus Task 011, im neuen Stil
StageSheetBlatt von unten (Einstellungen, Hilfe)Bühne bleibt dahinter sichtbar, abgedunkelt
Stampschräger Stempel (tot, Lager, Testversion)bleibt, in der neuen Schrift
CurtainTransitionÜbergang zwischen Phasen: Vorhang zu und aufersetzt die Bühnenkarte; reduziert: Überblendung

Bühnenbilder und Bausteine

Jedes Bühnenbild entsteht aus Ebenen, nicht als ein festes Bild. So passt es sich jeder Bildschirmgröße an (Handy hochkant, Tablet, Desktop quer), die Figuren stehen zwischen den Ebenen, und Parallaxe ist möglich. Was es heute schon gibt (design/source/stage, design/source/props), wird im neuen Stil neu erzeugt, damit alles aus einem Guss ist.

Szenen

SzeneBildschirmeEbenen (hinten → vorn)
Dorf am AbendStart, Beitreten, LobbyAbendhimmel mit Sichelmond und Sternen; Dorfsilhouette mit erleuchteten Fenstern und Kirchturm; Mittelgrund mit Häusern; Seitenkulissen links (Laternenpfahl, Baum) und rechts (Haus, Busch); Holzbühnenrand vorn
TheaterRolle ansehen, BühnenmomentNachthimmel mit großem Vollmond; rote Vorhänge links und rechts; runde Holzbühne in der Mitte (die Figur steht darauf); Rampenlicht
NachtseeNacht (beide Nachtarten), Schäfchen, Türzeichendunkler Himmel, Vollmond groß in der Mitte; Wald und Dorf am Seeufer mit Spiegelung; Eule auf einem Ast; Zaun und Gras vorn
Dämmerung im DorfTag, Diskussion, Abstimmung, StichwahlHimmel von Rosé nach Blau mit tiefem Mond oder aufgehender Sonne; Dorfplatz mit Häusern; Seitenkulissen mit Laub
MorgenMorgennachrichten (Tote, Rollen)heller Morgenhimmel, Sonne über der Kirche, Nebel über der Wiese
JagdJäger zieltWaldrand im Zwielicht, Mond hinter Wolken
Finale DorfSieg des DorfsMorgensonne, Girlanden, Laternen
Finale WölfeSieg der WerwölfeBlutmond, Nebel, dunkles Dorf
Finale LiebeSieg der VerliebtenMond mit Herzwolke, Rosen
Hinter der BühneEinstellungen, Hilfe, DatenschutzGarderobe mit Holzwand, Kostümständer, Spiegel mit Lampen (ruhig, viel Fläche für Text)
Vorhang zuVerbindung weg, Warten auf den Host, Pausegeschlossener Vorhang mit Lichtspalt, Laterne

Bausteinliste für Codex

Gezählt mit Varianten. Jede Zeile ist ein Sammelbogen (mehrere Teile auf transparentem Grund, siehe Asset-Pipeline in DESIGN.md).

  1. Himmel (5): Abend, Nacht, Dämmerung, Morgen, Blutnacht. Breit genug für Querformat, Sterne als eigene Ebene.
  2. Monde und Sonne (7): Sichel, Halbmond, Vollmond, Vollmond hinter Wolken, Blutmond, Sonne aufgehend, Sonne hoch. Dazu Leuchthöfe.
  3. Horizonte (5): Dorfsilhouette mit Kirche, Wald mit See, Hügel, Dorfplatz, Waldrand.
  4. Häuser und Kirche (8): Fachwerkhäuser mit und ohne Licht, Kirche, Mühle, Brunnen, Marktstand.
  5. Seitenkulissen (10): Bäume (Eiche, Tanne, Weide), Laternenpfahl, Hausecke, Busch, Zaun, Vorhang links und rechts, Ast mit Eule.
  6. Böden und Bühnenrand (5): Holzbühne gerade und rund, Wiese, Kopfsteinpflaster, Seeufer mit Schilf.
  7. Requisiten (12): Laterne an, Laterne aus, Fass, Kiste, Heuballen, Wegweiser, Girlande, Rosen, Kessel, Bogen, Kristallkugel, Herzwolke.
  8. Atmosphäre (6): Nebelbänke, Wolken, Glühwürmchen, Lichtkegel, Funken, Sterne.
  9. Dorf-Posen (20 Bögen): je Persona zwei bis drei Posen im Beruf, mit der Persona als Vorlage.
  10. Bedienungs-Texturen (6): dunkles Holz, Plakettenkarton, Goldkante (9-Patch), Knopf-Laterne (9-Patch), Papier, Vorhangstoff.
  11. Symbole (≈ 24): eigenes Symbolset im Stil (Mond, Sonne, Waage, Auge zu, Lautsprecher, Geist, Herz, Schwert/Bogen, Trank, Kugel, QR, Teilen, Einstellungen, Hilfe, Zurück, Häkchen, Pfeil). Als Vektoren (SVG oder Pfade), nicht als Bilder.

Figuren: Die 20 Personas und ihre 100 Rollenkostüme bleiben, sie passen im Stil schon. Neu sind:

  • Dorf-Posen (Wunsch des Eigentümers, 2026-10-27): Jede Persona bekommt zwei bis drei weitere Posen in ihrem Beruf, ohne Rollenkostüm. Die Bäckerin schiebt Brot in den Ofen oder winkt mit dem Brotschieber, der Schmied hämmert oder wischt sich die Stirn, die Großmutter strickt oder schaut über die Brille. Das sind 40–60 neue Figurenbilder, je Persona ein Bogen mit der vorhandenen Figur als Vorlage, damit Gesicht, Kleidung und Farben gleich bleiben. Die Posen verraten nie eine Rolle, sie zeigen nur den Dorfalltag.
  • Wie die App wechselt: Lobby, Tag und Abstimmung zeigen jede Figur in einer ihrer Posen. Die Pose wechselt bei jedem Phasenwechsel, für alle Handys gleich, ausgewählt aus Raum, Runde und Platz (öffentliche Werte, wie die Variante des Erzählers). In der Lobby wechselt sie zusätzlich alle 20–40 Sekunden mit einer kurzen Wende, damit der Tisch lebt. Nachts stehen keine Dorf-Posen, dort zählt nur der Mond.
  • Brustbild-Ausschnitte für die PuppetCard, berechnet aus Brennpunkten pro Pose (wie heute für das Porträt), und Bodenschatten.

Figurenwahl: In der Lobby wählt jeder seine Figur selbst aus allen noch freien, in jeder Stufe. Bisher schaltete „Klassisch“ das ab, das ist seit 2026-10-27 entfernt. Neu im Design: Die Wahl ist ein Schaufenster aller 20 Figuren in 3D, belegte stehen im Schatten mit dem Namen ihres Spielers, die eigene steht im Licht. Ein Tipp wählt, ein Wischen blättert.

Größe und Format

  • Ebenen als WebP (verlustbehaftet für Himmel und Nebel, verlustfrei mit Alpha für Kanten), in zwei Auflösungen (Handy, Tablet und Desktop). Die Ladeauswahl nach Bildschirmgröße.
  • Budget für alle Szenen zusammen: höchstens 12 MB in der App, für die Dorf-Posen höchstens 4 MB (WebP, 560 px hoch wie die Kostüme). Die Aufnahmen brauchen schon 19 MB.
  • Kein Bild größer als 2048 px. Dekodiert wird höchstens in Bildschirmgröße (cacheWidth).

Bildschirm-Katalog

Jeder Bildschirm mit Szene, Dachzeile und Titel, Inhalt und Hauptaktion. „Zustände“ zählt auf, was der Bildschirm zusätzlich können muss. Alle Bildschirme gibt es in drei Layouts:

  • Handy hochkant: eine Spalte. Die Szene füllt den Bildschirm, die Bedienung unten.
  • Tablet: breitere Spalte, größere Figuren.
  • Quer und Desktop: zwei Spalten. Die Szene mit Figuren links, die Bedienung auf einer Plakette rechts.
#BildschirmSzeneDachzeile / TitelInhaltHauptaktionZustände
1StartDorf am Abend— / Whowolf (Schriftzug)Ensemble als Gruppe, Name eingebenRaum eröffnen; Nebenaktion Beitretenerster Start mit Datenschutzhinweis, Name fehlt, Testversion-Stempel
2BeitretenDorf am AbendSpielabend / Komm dazuRäume in der Nähe als Plaketten, Code eingeben, QR scannenBeitretenkeine Räume, Suche läuft, Code falsch, Prüfzeichen vergleichen
3QR scannendunkel, Rahmen aus Kulisse— / Code scannenKamera im Bühnenrahmen—keine Kamera-Erlaubnis
4LobbyDorf am AbendSpielabend / Komm dazuRaumcode-Plakette mit QR, Figuren der Gäste im Halbkreis (3D, in wechselnden Dorf-Posen), Bereit-Perlen, Figurenwahl als Schaufenster aller freien Figuren, Einstellungen liveSpiel starten (Host)wartet auf Gäste, Beitrittsanfrage, Platz tauschen, zu viele Rollen, Server nicht erreichbar, Host: App offen lassen
5RolleTheaterNur für dich / Deine Rolleeigene Figur von hinten, dreht sich auf Tipp in ihr Rollenkostüm, Rolle und ein Satz, RudelBereit; Nebenaktion Rolle verbergenIntro läuft (Figur bleibt umgedreht, „Intro überspringen“ für den Host), wartet auf andere
6Nacht, klassisch, Augen zuNachtsee— / Augen zuVollmond mit Nachtring, „Die Nacht erzählt“— (Ton an/aus)eigene Rolle wird aufgerufen (wechselt zu 7), tot (Geisterblick)
7Nacht, aufgerufenNachtsee, etwas hellerDu bist wach / Werwölfe, Seherin, Hexe, AmorFigurenkarten zur Wahl, Restzeit nur hier, Rudel-Wahl der anderen WölfeWählengewählt (wartet), Seherin-Ergebnis, Hexe mit zwei Tränken, Amor wählt zwei
8Nacht, alle tippenNachtsee— / Die Nachteigene Aufgabe oder Tarnaufgabe, Schäfchenwiese, TürzeichenBestätigengleich aufgebaut für alle Rollen
9MorgenMorgenDer Morgen / Die Sonne geht aufNachrichten auf Papier: wer fehlt, welche Rolle, Figuren der Toten entsättigtWeiter zur Diskussion (automatisch)niemand tot, zwei Tote, Liebeskummer
10Tag, DiskussionDämmerungTag 2 / Redet miteinanderTischkreis mit Figuren, Mond-Uhr, SchäfchenpunkteDiskussion beenden (Host)tot (Geisterblick)
11AbstimmungDämmerungDer Morgen / Wen verdächtigst du?Figurenkarten, Mond-Uhr, „Deine Stimme bleibt geheim“, Geister-HinweisFür ⟨Name⟩ stimmen; Enthaltenabgestimmt, tot
12StichwahlDämmerung, rötlicherGleichstand / Stichwahlnur die Gleichplatzierten als KartenFür ⟨Name⟩ stimmenzweiter Gleichstand
13JägerJagdDer letzte Schuss / Der Jäger zieltFigurenkarten, Jäger als 3D-Figur mit BogenSchießen; Nebenaktion Verschonenandere sehen „Der Jäger zielt“
14EndeFinale (Dorf, Wölfe, Liebe)Die Vorstellung ist aus / Das Dorf gewinntalle Figuren in ihren Rollenkostümen in einer Verbeugung (3D), beste TräumerinNoch eine Runde (Host); Verlassen
15Vorhang zuVorhang zu— / Einen Moment„Verbindung wird gesucht“, Fortschritt als LaterneVerlassenwartet auf den Host, Übernahme läuft, Host hat geschlossen, rausgeworfen, Name vergeben
16EinstellungenHinter der BühneDie Vorstellung / EinstellungenStufen als Programmkarten, Rollen als Figuren zum Antippen, Zeiten, Nacht, Regeln, ExtrasFertigRollen passen nicht
17HilfeHinter der BühneKurz erklärt / So geht’sAblauf in fünf Bildern mit FigurenVerstanden
18DatenschutzHinter der Bühne— / DatenschutzText auf PapierZurück
19Browser-BeitrittDorf am AbendSpielabend / Komm dazuName, Beitreten (Web-App)BeitretenWiedereinstieg nach Neuladen

Übergänge: Zwischen Phasen fällt kurz der Vorhang. In der Nacht wechseln die aufgerufenen Rollen ohne Vorhang, damit sich am Bildschirm nichts verrät. Innerhalb einer Phase gibt es nur weiche Überblendungen.

Technik

  • Aufbau: StageScene(scene: Scene.nightLake, child: …) ersetzt StageScaffold. Szenen sind Daten: Ebenen mit Bild, Anker, Tiefe und Verhalten im Querformat. Eine Szene zeichnet sich in RepaintBoundary-Schichten, damit sich bei Bewegung nur die bewegte Ebene neu malt.
  • Mond: CustomPainter mit Ring, Phase als Bild aus dem Bogen, Leuchten als Verlauf.
  • 3D-Figuren: TurningFigure bekommt Neigung, Bodenschatten (weiche Ellipse, perspektivisch) und ein leichtes Wiegen. Je Bildschirm höchstens 8 Figuren in 3D, alle anderen als flache Karten (Leistung).
  • Theme: Tokens aus design/tokens.json, Schriften als Assets, Text-Stile zentral in theme.dart. Die alten Widgets (Panel, PrimaryButton, Headline) bleiben, bis jeder Bildschirm umgestellt ist, und werden dann gelöscht.
  • Leistung: 60 fps auf einem iPhone 12 und einem Android-Mittelklassegerät, auch im Browser. Messung mit dem Flutter-Performance-Overlay je Szene. Bilder vorab laden, sobald die nächste Phase absehbar ist (die Morgenszene während der Nacht).
  • Web-App: Die Szenen gehören in den Web-App-Build, den der Host ausliefert. Die Größe wird geprüft, damit der Beitritt im WLAN schnell bleibt.

Ablauf mit Codex

  1. Konzepttafeln (Phase 0): Je Tafel ein Bild mit 3–4 Bildschirmen, wie das erste Konzept, mit design/reference/ui_concept_v1.png als Stilvorlage und zwei Figuren als Pappvorlage. Fünf Tafeln:

    • (a) Start, Beitreten, Lobby, Vorhang zu;
    • (b) Rolle, Intro, Nacht aufgerufen, Nacht alle tippen;
    • (c) Morgen, Tag, Stichwahl, Jäger;
    • (d) Ende ×3;
    • (e) Einstellungen, Hilfe, Geisterblick, Querformat.

    Dazu eine Tafel „Figuren in 3D“: dieselbe Figur geneigt, mit Kante und Schatten. Der Eigentümer gibt jede Tafel frei oder wünscht Änderungen.

  2. Sammelbögen (Phase 2): erst wenn alle Tafeln freigegeben sind, damit kein Kontingent für verworfene Richtungen verbraucht wird. Jeder Bogen mit der freigegebenen Tafel als Vorlage.

  3. Schneiden und Säubern mit tool/assets/slice_sheet.py und clean_alpha.py, dann optimieren.

  4. Nachweis: Prompts in design/prompts/, jede Datei in design/CREDITS.md, Prompt in die PNG eingebettet.

  5. Prüfen: jeden Baustein gegen LEGAL.md (keine Anlehnung an bekannte Spiele oder Figuren), jede Szene gegen das Anti-Tell (nichts Rollenabhängiges).

Roadmap

Jede Phase endet mit einem Stand, den man am Handy ansehen kann. Neue Phasen beginnen erst, wenn die vorige abgenommen ist.

PhaseInhaltFertig, wenn
0 Richtungfünf Konzepttafeln, eine Tafel „Figuren in 3D“, Entscheidung zur TitelschriftEigentümer hat alle Tafeln freigegeben
1 FundamentTokens nachgeschärft und erweitert, Schriften, StageLight, alle Komponenten aus der Liste mit Galerie-Seite und Screenshot-TestsGalerie in drei Größen sieht aus wie die Tafeln, Kontraste geprüft
2 BausteineSammelbögen 1–11 (davon 20 Bögen Dorf-Posen), geschnitten, optimiert, Nachweisealle Szenen aus der Tabelle lassen sich zusammensetzen, jede Persona hat mindestens drei Posen (eine alte, zwei neue), Budget eingehalten
3 KernabendBildschirme 1, 2, 4, 5, 6, 7, 11, 14 im neuen Stil (der Weg durch einen Abend, wie das Konzept)ein ganzer Abend auf drei Handys ohne alten Bildschirm
4 Alles andereBildschirme 3, 8, 9, 10, 12, 13, 15–19 und alle Zuständekein alter Baustein mehr in Gebrauch, alte Widgets gelöscht
5 BewegungVorhang-Übergänge, 3D-Figuren wiegen und verbeugen sich, Mondring, Parallaxe beim Neigen, Erzähler-Tonwelle; reduziert ohne große Bewegungflüssig mit 60 fps auf den Testgeräten, reduzierte Bewegung geprüft
6 PoliturBarrierefreiheit (Bildschirmleser, 200 % Schrift, Kontrast), lange Namen und englische Texte, Querformat, Web-App-Größe, Screenshots aller Bildschirme, App-Store-BilderPrüfliste unten ganz abgehakt
7 WebsiteWebsite-Startbild und Papp-Handys mit echten neuen Screenshots, Farben und Schrift angeglichenWebsite zeigt die echte App

Release: 0.2.0 nach Phase 6, die Website danach.

Prüfliste vor dem Release

  • Jeder Bildschirm und Zustand aus dem Katalog hat einen Screenshot-Test in drei Größen (Handy, Tablet, quer).
  • Die Nacht sieht für jede Rolle gleich aus (Screenshot-Vergleich: Werwolf, Seherin, Dorfbewohner, tot, Pixel für Pixel bis auf die Aufgabe der Aufgerufenen).
  • Kein Mondring zeigt nachts Restzeit für Nicht-Aufgerufene.
  • Kontrast AA für jeden Text auf jeder Szene (gemessen, nicht geschätzt).
  • Bildschirmleser liest jeden Bildschirm sinnvoll vor, jede Aktion ist beschriftet.
  • 200 % Schrift: nichts abgeschnitten, Titel brechen sauber um.
  • Englisch und Deutsch geprüft, lange Namen (20 Zeichen) passen.
  • 60 fps auf iPhone 12, Android-Mittelklasse und Chrome auf einem Mittelklasse-Laptop.
  • Bilder-Budget eingehalten, Web-App-Größe gemessen.
  • Alle Bausteine in design/CREDITS.md, keine fremden Marken oder Anlehnungen.

Offene Entscheidungen (Phase 0)

  1. Titelschrift: Ancizar Serif (wie die Website) oder eine andere Buchserife.
  2. Ende: drei eigene Szenen (Dorf, Wölfe, Liebe) oder eine Szene mit drei Lichtstimmungen.
  3. Lobby: die Gäste als 3D-Figuren im Halbkreis (wie eine Bühne) oder als Karten im Raster (übersichtlicher bei 20 Spielern). Vorschlag: bis 8 Gäste Figuren, darüber Karten.
  4. Tischkreis am Tag: bleibt er (mit Figuren statt Porträts) oder wird er durch eine Szene mit allen Figuren ersetzt.

Sicherheit

  • Was schiefgehen kann: Eine Szene, eine Animation oder ein Timer verrät eine Rolle oder eine Nachtaktion. Geisterwissen wird offen sichtbar. Ein Bild aus dem Netz verrät die Nutzung.
  • Was es verhindert:
    • Szenen und Übergänge hängen nur von der Phase und öffentlichen Werten ab.
    • Der Nachtring läuft gleichmäßig aus dem Phasenbeginn.
    • Geisterwissen nur in der GhostPlaque.
    • Alle Bilder und Schriften liegen in der App.
  • Welcher Test es zeigt:
    • Screenshot-Vergleich der Nacht über alle Rollen;
    • ghost_sight_test;
    • ein Test, dass der Nachtring nur aus Phasenbeginn und Nachtlänge berechnet wird;
    • atmosphere_test (öffentliche Werte).

Diese Seite wird automatisch aus docs/tasks/012-buehnenbild-neu.md erzeugt.Auf GitHub bearbeiten