Ve vývoji Python & Svelte

Spectra Maze: Hra světla a inteligence

Od OOP enginu v Pythonu k webové komunitě a procedurálnímu generování map.

Spectra Maze: Hra světla a inteligence

Spectra Maze začal jako čtvrtletní projekt, ale rychle přerostl v komplexní architekturu. Jde o 2D logickou hru, kde je cílem pomocí zrcadel, rozdvojníků a spínačů nasměrovat laserové paprsky ze zdrojových krystalů do cílových žárovek. Hra striktně využívá mechaniku aditivního míchání barev (RGB), takže k vytvoření bílého světla musíte logicky spojit červený, zelený a modrý paprsek.

Jádro hry běží na Pythonu a využívá Pygame. Celý engine je postavený na striktním objektově orientovaném programování (OOP). Každý herní blok (zrcadlo, dveře, míchačka) má vlastní třídu dědící z BaseBlocku, což zajišťuje perfektní polymorfismus při interakci s letícím paprskem. Díky čistému kódu hra běží naprosto plynule i při složitých výpočtech odrazů.

Ambicí projektu je ale vybudovat kolem hry komunitu. Proto jsme herní klient propojili s webovou platformou postavenou ve Svelte. Na té si uživatelé mohou v editoru tvořit vlastní mapy. Celý grid se komprimuje do jediného textového řádku v JSON formátu, což extrémně šetří databázi a zajišťuje bleskové načítání přes API. Nechybí ani Leaderboards pro ty nejrychlejší řešitele.

Největší technologickou výzvou a pýchou celého systému je však umělá inteligence pro procedurální generování map. Náš algoritmus dokáže algoritmicky stavět zcela nové úrovně podle zvolené obtížnosti (Easy, Medium, Hard). Do mapy dynamicky přidává složitější bloky a matematicky garantuje, že vygenerovaný level má vždy logické řešení.