63 nye, webverificerede spørgsmål med vægt på det, de færreste kender:
"Danmarks historie" (22, bronzealder til 1928), "Politisk historie"
(21, dansk politik fra 1849) og 20 nye i "Historie" (verdenshistorie
uden for de vante fortællinger). Begge nye kategorier har deres egen
intro-lyd, normaliseret til -20 LUFS som de andre.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Fest-spillet hedder nu Fest-Z (kategorierne "Fest-Z: …"), og telefonerne
får zoomer-emojis (💀😭🧢🗿💅🍻) i stedet for familie-sættet. Serveren
sender sættet i tilstanden, så klienten altid viser det, spillet tager imod.
Reglerne og speakeren taler om slang og memes frem for pop-sladder.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Fest-pakken handler nu om ungdomskultur: "Fest: slang" (årets ord, slangens
oprindelse, dansk ungdomssprog) og "Fest: internettet" (memes, creators, spil),
ved siden af "Fest: nu". "Fest: retro" er taget ud.
Hjernen får sin egen fest-instruks (zoomer-speaker, tår må nævnes), så
afsløringens replikker og kommentarer også taler zoomer. Telefonens
drillerier har en fest-pulje, og de sidste faste replikker har fået
fest-udgaver.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Ny spørgsmålspakke "fest" (aldrig med i "Alle"): 43 faktatjekkede
spørgsmål om dansk pop i to kategorier, Fest: retro og Fest: nu.
Et fest-spil tæller tår ved siden af point: narret giver en tår,
ingen fandt sandheden giver alle en tår, gange rundens faktor
(finalen er en shot). Afsløringen, opsummeringen, stillingen og
telefonen viser tårene, og der er en pris til aftenens tørstigste.
Speakeren bruger zoomer-replikker (<begivenhed>_fest), egne regler
og FEST_VOICE_ID til alt.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
- Alle 232 spørgsmål har en kort, overbevisende kommentar til sandheden og
hver af husets løgne (1.015 i alt, ens tone og lige mange lyd-tags), så
lyden kan ligge i cachen; hjernen spørges kun om spillernes egne løgne.
Mangler blot én kommentar, bruges skabelonerne til alle svar, så stilen
aldrig røber, hvem der har skrevet hvad
- Bemærkninger, når en løgn afleveres, er nu faste replikker med navnet
(også uden hjerne); hjernens udgave er et tilvalg (BRAIN_PROGRESS)
- Telefonens drillerier bruger en fast pulje på 28 (BRAIN_TEASES slår
hjernens til)
- Flere varianter til opsummering, oplæsning, velkomst og spil igen
- Én fælles liste over tilladte lyd-tags
- Lukkede forbindelser logges ikke længere som fejl
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
- Hjernen må bruge en fast liste af lyd-tags ([laughs], [whispers] …); andre
[ord] fjernes, så de ikke læses op
- Tags vises aldrig på skærme og telefoner
- Oplæsningen siger ikke længere svaret to gange, når hjernen gentager det
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
- 87 nye spørgsmål med kilder: Star Wars (inkl. Legends), Harry Potter,
Ringenes Herre, Lægevidenskab, E-faktura, IT-sikkerhed, Computerhistorie
- Spørgsmålspakker pr. kategori (familie, nørd, arbejde); værten vælger
Alle/Familie/Nørd, og arbejdspakken kun under "Flere valg"
- Lydeffekter i flere udgaver, der vælges tilfældigt (aldrig samme to gange
i træk); jingles og tænkemusik til de nye kategorier; ekstra tænke- og
afsløringsmusik
- Musik hentes og afkodes først, når den skal spilles, og slippes igen
- tts_warm --budget: forvarmer spørgsmål, forklaringer og kategori-replikker
(de næste spørgsmål først) inden for et tegnbudget
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
- Runde 2 og finalen: speakeren læser svarene op ét ad gangen (med hjernen
en overbevisende kommentar pr. svar), i samme takt på storskærm og telefoner
- Emoji-reaktioner fra telefonerne, der må spammes; de flyver op på storskærmen
og tælles på svaret i fokus
- Opsummeringen følger speakeren: "lad os rydde op", eksplosioner, så pointene
- Speakeren kommenterer, hvordan løgnene skrider frem, uden at røbe indhold,
og driller dem, der falder for svage løgne
- Reglerne forklares med kort og stemme før rummets første spil
- "Lyv for mig" låser forslaget i feltet (halve point), og feltet bliver ikke
længere kæmpestort
- Svar vises med versaler, og spillernes løgne gemmes med små bogstaver, så
store forbogstaver ikke afslører dem
- Løgne og navne renses: kun bogstaver, tal og lidt tegnsætning
- Valgfrit workspace-id til Anthropic-brugernøgler
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Fejl fra første rigtige spil: alle kendte svaret og sendte det igen og
igen. Hver gang kom en ny replik i kø, og da skærmen venter på speakeren,
kom spillet aldrig videre. Nu kommenteres det højst én gang pr. spørgsmål
som en sidebemærkning, der ikke holder skærmen tilbage, og når tiden er
gået, venter skærmen højst tolv sekunder på speakeren.
Stemmen er mere levende (lavere stability, mere style), de hyppigste
begivenheder har fået flere replikker, og spørgsmål som alle finder to
gange, tages ud. Spillet vælger nu de mindst brugte spørgsmål først.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Lydfilerne var op til 17 dB højere end speakeren (kategori-lyden -4 LUFS
mod speakerens -21). Alle effekter er nu normaliseret til -20 LUFS og
musikken til -23 LUFS. Speakeren går gennem sin egen kompressor med et
løft, og mens den taler, dykker effekterne og musikken, og musikken får
skåret taleområdet ned. En limiter til sidst forhindrer klipning.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Hjernen (party/brain) skriver kommentarer til løgnene, dømmer løgne
(sandheden eller upassende), personlige drillerier og en slut-anmeldelse,
alt i baggrunden med faste replikker som fallback. Udbyderen vælges med
BRAIN_PROVIDER: anthropic (Claude), openai (OpenAI-kompatibel, fx Codex)
eller ollama (fx Gemma). Rummets mikrofon er eksperimentel: storskærmen
sender korte lydstumper til talegenkendelse (STT_PROVIDER), og kun et kort
resumé af latter og udsagn huskes til hjernen. Musikken er nu lavet med
en musikmodel.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Faseskift venter, til speakeren er færdig med den aktuelle skærm, og
replikker til en skærm, der er væk, afspilles ikke. Ny kategori-intro med
en lyd pr. kategori, musik pr. fase med bløde overgange og lydeffekter til
alt, der flyver over skærmen. Efter afsløringen eksploderer løgne, ingen
valgte, og pointene tæller op. Hjerter gives kun under afsløringen og ses
live på storskærmen. Lyv for mig giver halve point. Narrede spilleres
telefon kan blive drillet med et fjollet billede og et buh. Alle lyd- og
billedfiler serveres med versionerede navne og caches af browseren.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Spilmotoren udsender begivenheder, rummet vælger en replik, indsætter navne
og talord og genererer lyden (cachet på disk ud fra tekst, stemme og
model). Storskærmen afspiller replikkerne i rækkefølge. Afsløringen venter
på lyden og får en længde pr. trin, så stemplet lander, mens speakeren
taler. Uden nøgle eller ved fejl kører spillet som før, bare uden stemme.
Spørgsmålene er gjort familievenlige, og de otte mest kluntede replikker er
skrevet om.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Deploy-script og systemd-unit beskrev én bestemt installation og hører ikke
hjemme i et offentligt repo. README beskriver nu kravene til proxy og
headere generelt, og eksempelmiljøet bruger neutrale værdier.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Klar til oplæsning med ElevenLabs. En test håndhæver reglerne fra
manuskript-prompten: tilladte pladsholdere og lyd-tags pr. begivenhed,
højst 20 ord, ingen tankestreger og tal skrevet med bogstaver.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Vanilla JS uden build-trin: én WebSocket pr. skærm med automatisk
genforbindelse, tegner altid fra seneste snapshot. Storskærmen viser kode,
QR, nedtælling og en animeret afsløring; telefonen er bygget til store
knapper og genoptager sin plads efter genindlæsning. dev.html viser alle
faser uden server. deploy/ har systemd-unit, deploy-script og en bot-test,
der spiller et helt spil mod en kørende server.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
Den tidligere version (Angular-SPA, REST og polling) er gemt på branchen
legacy. Denne version samler alle regler i en ren Python-spilmotor
(fupogfakta/engine.py), holder rummene i hukommelsen i én proces og sender
hele spiltilstanden pr. rolle over én WebSocket. Vært-login sker via
Authentik forward-auth i NPMplus.
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu