Autòmats finits per a l’estat del joc

Hi ha almenys dos aspectes d’un joc en què cal mantenir un estat:

  • Els personatges i altres elements.

    Canvien el seu estat en funció del pas del temps o de la interacció del jugador. Per exemple, un personatge pot estar inactiu, caminant, corrent, lluitant, … La representació gràfica del personatge i la manera d’interaccionar amb altres elements del joc dependrà del seu estat.

  • L’estructura del joc.

    Normalment un joc comença amb una presentació i un menú que permet triar entre canviar la configuració del joc, jugar o acabar. El joc pot estar estructurat en diferents nivells. Després de cada nivell es poden presentar els resultats, … En tot moment cal saber en quin punt de l’estructura del joc estem.

El model matemàtic més emprat per mantenir l’estat és l”autòmat finit o màquina d’estats finits.

Exemples d’autòmats finits per a videojocs:

../../_images/automat1.svg

Hi ha diversos mòduls i llibreries en python que implementen autòmats finits. Entre elles en destaquem state_machine i pgu. La primera és independent de pygame mentre que la segona implementa diferents utilitats per a jocs en pygame, entre elles etapes o nivells.