Hey, thanks! It's pretty simple. Every time the player moves inside of a control zone, the following happens: the input direction is saved in an Array and the game checks if the player is still in the zone. If yes, it waits for a new input. If the player leaves the zone, movement inputs are disabled and the game instead cycles through the directions saved in the Array until the player enters a new control zone. If you're interested in a more detailed explanation, you could also join our discord server to reach us (I don't check itch that often - sorry!)