PICO-8: Game States
Game States
This cart demonstrates how to have different game states for your game. (Such as menu, game, game over, etc.)
Simple Version
Notes: The basic idea is that PICO-8 normally runs _update() and _draw() 30 times a second. Instead of putting all our code into those two functions, we make separate update and draw functions for each of the states we need for the game. Then we have a variable called state that stores which state the game is currently in. Then, based on that variable, _update() and _draw() will run the appropriate update and draw function for the current state. (Such as menu_update() and menu_draw() for the menu state.
Advanced Version
Notes: The basic idea is that PICO-8 normally runs _update() and _draw() 30 times a second. However, because you can treat functions like variables, you can store one function's code in another function.
So for changing states, we just make our own separate _update() and _draw() functions for each state. Such as menu_update() and menu_draw() for the menu state. Then we make an _init() function for each state, such as menu_init() that re-assigns _update() to menu_update() and _draw() to menu_draw(). Then PICO-8 will run those functions 30 times a second until we say otherwise.
| Status | Released |
| Category | Other |
| Platforms | HTML5 |
| Rating | Rated 5.0 out of 5 stars (1 total ratings) |
| Author | MBoffin (Dylan Bennett) |
| Genre | Educational |
| Made with | PICO-8 |
| Tags | PICO-8, sourcecode |
Install instructions
Save these files to your PICO-8 carts folder. Then load the one you want by typing either load game_states_simple or load game_states_advanced in the command line mode of PICO-8.
