Cool spin on a classic. I wasn't able to figure out 2 and 3. 2 seems impossible, 3 had me stumped but I feel like i just need to try it a 100 more times and I might have figured it out. But I think the key variable needs to be reset. After failing to make it to the door 100 times, I went to the door with out grabbing the key and it opened. Also noticed the problem with failed pushes. Seems you reading Input.is_action_pressed - i think for this everything should be is_action_just_pressed. Then you will only get one event per press instead of a continuous stream of events. But overall you got me inspired. I've been meaning to make a sokoban type of game. (Adventure of lolo is my ish)