September 23, 2020
State Machines
Unity and Character Controller Focus
Title: The State Pattern (C# and Unity) – Finite State MachineBy: One Wheel StudioYoutube – Tutorial #1
Title: How to Code a Simple State Machine (Unity Tutorial) By: Infallible Code Youtube – Tutorial #2
Title: Complex Enemy Behavior using Finite State Machines – 2D Platformer – Part 13 [unity] By: Bardent Youtube – Tutorial #3
Title: State Machine Setup – 2D Platformer Player Controller – Part 21 By: Bardent Youtube – Tutorial #4
Title: Movement State Machine – Free download By: Epitome Youtube – Tutorial #5
Title: Unite 2015 – Applied Mecanim : Character Animation and Combat State Machines By: Unity – Aaron Horne Youtube – Tutorial #6
Overview
I have dealt with using state machines before, but mostly for creating AI systems. I wanted to investigate using a state machine specifically for a player controller, focused on 2D player controllers if possible. With this in mind, I just gathered many resources on more general state machine concepts and design with a mix of more player controller focused examples when possible.
The quick breakdown is as follows:
- Tutorial #1 – General Finite State Machines
- Tutorial #2 – General Finite State Machines
- Tutorial #3 – AI Finite State Machines
- Tutorial #4 – Player Controller Finite State Machines
- Tutorial #5 – Player Controller Finite State Machines
- Tutorial #6 – Player Controller/General Finite State Machines
Tutorial #1
This is a great quick tutorial on Finite State Machines and implementing them in general in C# and Unity. It covers the various levels of state machine implementations and the pros/cons of each tier of state machine organization. This is a fantastic starting point for state machines.
Tutorial #2
This tutorial is a more general state machine but it does still have a focus on turn based gameplay. While I was focused on player controller FSMs, I am also interested in how to use these for game states in turn based play so I wanted to record this.
Tutorial #3
This tutorial focuses more on AI FSMs, which I have more experience with, but I still wanted to grab a reference to this as a decent looking tutorial on implementing an FSM in general. I also have another Bardent tutorial that is a player controller focused FSM so I thought this also might help me tie in my prior experience if I followed this approach.
Tutorial #4
As mentioned above, I have two tutorials from the same tutorial set and this is the second. I am hoping there is an overlap in the two systems that I can also take away from by observing what they are able to recycle between them. I also hope this will help make this FSM make more sense since I can tie in my prior AI FSM experience.
Tutorial #5
This is a quick tutorial that directly shows the setup for a player controller FSM. It appears that it might not be the ideal architecture I am looking for, but it could still serve as a good example when starting to design a player controller FSM.
Tutorial #6
This older (from 2015) Unite talk goes a bit more in depth into the combination of character animation and combat state machines. This could be a strong next step for me to look into after focusing on movement for the core of the player controller state machine. I am especially interested in seeing if I can implement their combat combos with their FSM approach in some capacity, as well as if they have an input buffering design I can learn from.