GMO šach bola hra na jesenné sústredenie KSP 2023. Počas tejto aktivity družinky proti sebe hrali duely v GMO šachu. Na to potrebovali zistiť systém fungovania genómov figúrok a vyrobiť čo najlepšie figúrky.
GMO šach je založený na šachu, a teda sa s ním v mnohých smeroch zhoduje. Hlavným rozdielom je, že každá figúrka má genóm, ktorý popisuje jej možné ťahy. Hráči na začiatku poznajú genómy štandardných šachových figúrok a experimentovaním sa z nich snažia odvodiť princíp fungovania genómov.
Aplikácia sa skladá z niekoľkých základných blokov:
- Backend - Zodpovedný za spracovávanie genómu figúrok, stavu hry. Viď README backendu.
- Frontend - Zobrazovanie hry, spracovanie užívateľských vstupov. Viď README frontendu
- Server - Beží nezávisle, slúži na ukladanie genómov. Viď README servera
Backend a frontend sú skompilované do aplikácie, ktorá je distribuovaná účastníkom. Samozrejme, keďže zdrojové kódy prezrádzajú fungovanie genómu, musia byť nejakým spôsobom obfuskované. Tu sme sa rozhodli ísť cestou kompilovania celej aplikácie do jednej binárky pomocou nástroja PyInstaller. Tento spôsob nie je dokonalý, ale vzhľadom na podmienky hry (4 hodiny v kontrolovanom prostredí) je dostatočný.
Aplikácia sa spúšťa príkazmi python3 game.py
, resp. python3 lab.py
. Špecifiká sa nachádzajú v README frontendu.
- Nápad na hru
- Viktor Balan
- Martin Belluš
- Jakub Konc
- Vývoj aplikácie
- Martin Belluš
- Frontend modul
- Utility sekcia
- Jakub Konc
- Backend a server moduly
- Utility sekcia
- Martin Belluš
- Obrázky
- Macrune12
- Pod creative commons BY-ND 4.0
- Macrune12