mirror of
https://github.com/Relintai/pandemonium_demo_projects.git
synced 2024-12-21 13:56:50 +01:00
.. | ||
debug | ||
fonts | ||
player | ||
screenshots | ||
state_machine | ||
Demo.tscn | ||
icon.png | ||
icon.png.import | ||
project.pandemonium | ||
README.md |
Hierarchical Finite State Machine
This example shows how to apply the State machine programming pattern in GDscript, including Hierarchical States, and a pushdown automaton.
Language: GDScript
Renderer: GLES 2
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/516
Why use a state machine
States are common in games. You can use the pattern to:
-
Separate each behavior and transitions between behaviors, thus make scripts shorter and easier to manage.
-
Respect the Single Responsibility Principle. Each State object represents one action.
-
Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.
You can read more about States in the excellent Game Programming Patterns ebook.