The State Pattern | Game Engine Concepts #4
Join the Discord: https://discord.gg/4tHeAkxNg7
The state pattern is a commonly used pattern that helps to encapsulate different portions of logic and make the transitions between using the different pieces of logic seamless. This pattern is used in Unity's animation machine's, but it can be used for even more purposes to help make your code more maintainable in the long run. This is based of the state pattern in Bob Nystrom's Game Programming Patterns.
State Pattern: https://gameprogrammingpatterns.com/state.html
Example Code: https://github.com/ambrosiogabe/JavaGeometryDash/blob/c36740f66c9494da5871b8b290a9dcc751ee9db1/src/com/jade/scripts/Player.java#L66
Animation Machine Example Code: https://github.com/codingminecraft/Mario/blob/master/src/main/java/com/component/AnimationMachine.java
0:00 Intro
0:30 What is the State Pattern?
6:30 Code Example
---------------------------------------------------------------------
Website: https://ambrosiogabe.github.io/
Github: https://github.com/ambrosiogabe
Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)
My Recommended Game Engine Books:
Game Engine Architecture: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/
My Recommended Beginning Game Programming Books:
JavaScript Game Design: https://www.apress.com/gp/book/9781430247166
My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/
Outro Music: https://www.bensound.com/royalty-free-music