Interpreter stolných hier

View the Project on GitHub buj/boardgames

Motivácia

Programátor dostane popis stolnej hry, a má naprogramovať jej počítačovú verziu. A potom dostane popis ďalších niekoľko stolných hier, a tie by tiež mal naprogramovať. Verí ale, že veľa práce sa dá ušetriť, lebo stolné hry majú toho medzi sebou veľa spoločného.

Špecifikácia

Cieľom je navrhnúť program, ktorý hru implementuje za nás. Čo to obnáša:

  1. Návrh jazyka, v ktorom sa dajú jednoducho popisovať pravidlá stolných hier.

  2. Vytvorenie programu, ktorý bude pracovať s popisom stolnej hry. Podľa neho by mal implementovať herné pravidlá, poskytnúť intuitívne používateľské rozhranie, a jednoduchého počítačového protivníka.

  3. Možnosť rozšíriť individuálne hry -- hlavne zobrazovanie obrázkov jednotlivých herných objektov a vlastný, pokročilejší počítačový protivník.

Práca za zimný semester

Zatiaľ sme navrhli jazyk, v ktorom je možné popisovať jednoduché hry. Uvažovali sme aj nad zložitejšími hrami a tým, ako by sa dal náš jazyk rozšíriť tak, aby v ňom bolo možné ich podporovať. Takisto sme uvažovali aj nad spôsobom vizualizácie hry klientským programom, a tiež aj akým spôsobom bude klient komunikovať so serverom.

Popis

Implementácia bude nasledovať. Pri nej zistíme, ako dobre sme systém navrhli a spravíme potrebné zmeny.

Práca za letný semester

Podarilo sa nám nadizajnovať to, čo vlastne chceme implementovať, do väčších detailov. Implementovali sme prototyp herného jadra, ktoré je schopné výpočtov (zatiaľ bez zásahu hráčov) a je schopné so stavom pracovať (stav je perzistentný, čo je užitočné pri programovaní AI a všeobecne). Nad jadrom sme postavili jednoduchý krokovač "debugger", ktorý zoberie zdrojový kód, a po krokoch ho vykonáva a aktuálny stav zobrazí na obrazovku.

Kontakty

Študent: Truc Lam Bui (bujtuclam [zavinac] gmail [bodka] com)
Vedúci: RNDr. Michal Forišek PhD. (misof [zavinac] ksp [bodka] sk)