Čtyřka – mariáš pro čtyři hráče
Jako bakalářský projekt jsem v minulém století napsal karetní hru Čtyřka – mariáš pro čtyři hráče. Ta se pak i celkem úspěšně prodávala. Teď jsem se k tomu vrátil a přepsal jsem ji pro prohlížeč.

Po letech jsem byl opravdu rád, jak jsem to už tehdy napsal dobře. Zaprvé je herní algoritmus zcela oddělen od zbytku programu (je to samostatné DLL) a dostává jen ty informace, které daný hráč může mít. Nemůže tedy podvádět – koukat se hráči do karet ani spolupracovat s ostatními algoritmy. Zadruhé to není žádné obyčejné procházení stromem, ale hraje to podle asi 80 heuristik, které jsem zadal podle toho, jak jsem tehdy sám hrál. Hraje to tedy spíš jako člověk než jako počítač. Třeba když jsem hrával šachy, tak mě to proti lidem bavilo, ale proti počítači ne. Tady je to do značné míry potlačeno a docela mě překvapilo, jak mě po letech můj starý algoritmus drtí – inu, moc jsem za ta léta netrénoval.
Ve starém programu jde zapnout logování veškerých událostí a pouhým držením Enteru se dá rychle odehrát desítky her. Claude se z toho úplně tetelil blahem – můj algoritmus označil za korunní klenot programu, nechal mě „odehrát“ 400 her, celkem snadno reimplementoval algoritmus do TypeScriptu a pak si pomocí logu porovnal, jestli tam nejsou nějaké nesrovnalosti. Dokonce dokázal nový algoritmus pustit proti starému DLL a porovnal, jestli náhodou jedna verze nevydělává podezřele hodně peněz. Pak jsme teprve starý algoritmus začali vylepšovat.
Nechal jsem napsat i nový algoritmus pomocí procházení stromem, ale můj starý algoritmus nepřekonal – počítal s tím, že všichni budou hrát dokonale, což jde s neúplnou informací dost těžko.
Nová hra

Uživatelské rozhraní bylo hotové celkem rychle a snadno. Překvapilo mě ale, že samotná hra byla zhruba jen třetina práce.
Další třetinu spolkla monetizace – hra se dá podobně jako původní Čtyřka zdarma vyzkoušet, pak si ji můžete koupit. Takže zřízení účtu u Fio, generování platebního QR kódu, samostatný EUR účet, párování plateb. Hra s platbou nijak zvlášť neotravuje – jen každé rozdání zobrazí platební informace o desetinu sekundy déle. Po sto hrách už čekání většinu hráčů přestane bavit.
A poslední velká část byla kampaň původním zákazníkům – na některé mám e-mail, na jiné telefon a na některé jen poštovní adresu. Takže to obnášelo všechno od zpracování nedoručitelných e-mailů, posílání SMS z Androidu, generování čitelných slevových kódů až po účet na Dopis Online.
Celé jsem to navibekódoval, většinu kódu jsem ani nečetl. Ale samozřejmě to nebylo jen „naprogramuj mariáš a obešli původní zákazníky“. Obnášelo to řadu vymýšlení a rozhodnutí, která výslednou podobu zásadně ovlivnila.
Možná hra nebude tak úspěšná jako její původní verze – přece jen už tehdy hráli mariáš z velké části důchodci. Ale i tak jsem rád, že jsem se k tomu vrátil – fakt mě to bavilo a dost jsem se toho naučil.
Zkuste si novou hru Čtyřka – křížový mariáš pro čtyři hráče zahrát. Součástí je i tutoriál, který základní pravidla vysvětluje.
Diskuse
Matej:
Super len v korporatoch to asi nebude ficat FortiGuard to blokcuje pretoze je to podla neho "P"FortiGuard Intrusion Prevention - Access Blocked
Web Page Blocked
You have tried to access a web page that is in violation of your Internet usage policy.
Category P*rnography
URL http://ctyrka.com/
Asi by som zapracoval na odstraneni z toho listu

