Reálný čas
Server zpracovává stovky komentářů za minutu a promítá je do hry dřív, než hráč stihne odložit telefon.
Kvízákov není pořad ani kanál. Je to software, který jsem napsal od nuly: čte živý tok událostí z TikTok Live, vyhodnocuje odpovědi tisíců diváků v reálném čase a vykresluje z toho hru, kterou celý chat hraje najednou.
Běžný livestream je jednosměrný: vysílající mluví, divák kouká. Kvízákov ten vztah obrací. Každý komentář v chatu je herní vstup, každý lajk je bodový bonus a každý dárek spouští efekt, který vidí celý stream. Divák se do dvou vteřin od připojení stává hráčem se jménem, avatarem a pozicí v žebříčku, a to bez instalace, bez registrace a bez jediného kliknutí mimo TikTok.
Technicky za tím stojí serverová aplikace v Pythonu, která drží stav hry, a vykreslovací vrstva v prohlížeči, jejíž obraz jde do vysílání. Mezi nimi teče WebSocket. Celý řetězec od napsání komentáře po zobrazení hlasu na obrazovce trvá zlomek sekundy, jinak by hra nedávala smysl.
Server zpracovává stovky komentářů za minutu a promítá je do hry dřív, než hráč stihne odložit telefon.
Databáze 90 018 otázek ve 230 tématech a pěti úrovních obtížnosti. Každou otázku hra předčítá nahlas.
Ohňostroje, zemětřesení, hudební vizualizér a plynulý denní režim řízený skutečnou výškou slunce.
Začíná to videem přímo z vysílání, pak následují snímky obrazovky v pořadí, v jakém je hráč během hraní uvidí. Všechno je z ostrého provozu, nic není inscenované.
Nejlepší demo je to živé. Hru najdete na TikTok kanálu @kvizakov, kde vysíláme téměř denně odpoledne a večer.
Od chvíle, kdy hráč napíše písmeno, po chvíli, kdy uvidí svůj avatar na obrazovce, projde jeho vstup čtyřmi vrstvami.
Klient napojený na živý tok událostí TikTok Live přijímá komentáře, lajky, dárky, příchody a členství ve fanklubu. Události chodí asynchronně a v nárazech, takže vstupní fronta musí zvládnout špičky bez ztráty jediného hlasu.
Serverová aplikace v Pythonu drží celý stav hry: aktuální otázku, hlasy, sázky z dárků, série, násobiče, truhličku a žebříčky. Řídí i časování kol a výběr témat z databáze.
Prohlížeč připojený přes WebSocket dostává změny stavu a kreslí je na plátno. Náročné efekty jako ohňostroje běží ve vlastním Web Workeru, aby hlavní vlákno drželo plynulý obraz i při velkém provozu v chatu.
Obraz vykreslovací vrstvy jde do streamovacího softwaru a odtud zpátky divákům. Kruh se uzavírá: hráč vidí svůj vlastní vstup jako součást pořadu, který právě sleduje.
Všechno níže je hotové a běží v každém vysílání.
Hra přijme písmeno i celou odpověď napsanou slovy. Textovou variantu vyhodnocuje tolerantně vůči překlepům a diakritice a odměňuje ji dvacetinásobným základem.
Základ, bonusy za lajky, rychlost, sérii a fanklub, na konci násobič úrovně otázky. Dárky se mění na sázky, které se vrací zhodnocené, nebo propadají do společné truhličky.
Šest vybraných dárků funguje jako herní karty: sponzor na den, aktivace truhličky, celodenní strike, půlhodinový násobič pro celý chat, bonus všem a výběr tématu.
Průběžné pořadí, denní, týdenní a měsíční tabule, koruna pro největšího dárce dne a trvalá statistika hráčů napříč vysíláními.
Každá otázka i odpověď se převádí na řeč, takže hru lze hrát poslechem. Hlas je synchronizovaný s časovačem kola.
Ohňostroje s avatarem dárce, otřesy obrazu u velkých dárků, hudební vizualizér reagující na zvuk a barevné schéma řízené skutečnou výškou slunce nad Českem.
Bez frameworkových nadstaveb. Serverová logika v Pythonu, vykreslování ve vanilla JavaScriptu nad plátnem, mezi tím WebSocket. Vlastní kód mi dává kontrolu nad každým snímkem, což je u vysílání běžícího šest hodin v kuse dost podstatné.
Kvízákov je za fází prototypu. Běží veřejně, denně a se skutečnými hráči. Následující kroky míří ven z jednoho kanálu.
Dnes jeden zdroj příjmů, do budoucna druhý, který nestojí na jediném kanálu ani jediné platformě.
Diváci posílají během hry virtuální dárky, jejichž hodnotu si TikTok dělí s vysílajícím. V Kvízákově má každý dárek herní účinek: mění se na bodovou sázku a vybrané dárky fungují jako kouzla, která ovlivní celý stream.
Právě tohle propojení je důvod, proč u nás dárky nezapadnou. Divák za ně dostane herní výhodu a viditelnou poctu na obrazovce, ne jen poděkování.
Engine je psaný tak, aby nebyl svázaný s jedním kanálem. Otázky, jazyk, grafika i pravidla jsou oddělené od jádra hry. Cílem je nabídnout ho dalším tvůrcům, značkám a médiím jako hotový produkt pro jejich vlastní interaktivní vysílání.
Model je předplatné za provoz instance plus podíl z výnosu vysílání. Tím se z jedné show stává nástroj, který může běžet na stovkách kanálů současně.
Proč zrovna kvízy. Vědomostní hra je jediný formát, který funguje bez ohledu na věk publika, dá se lokalizovat pouhou výměnou databáze otázek a přirozeně vede k dennímu návratu hráčů. Engine sám o sobě přitom není na kvízy vázaný.
Od prvního vysílání 1. září 2025 do dneška, měřeno na kanálu @kvizakov.