Thank you for your feedback! I wasn’t able to do quite as much with the procedural generation as I wanted to, I guess I overestimated puzzlescript’s abilities, and also was running out of time for Ludum Dare. I would have ideally liked the top to have multiple rooms you have to complete under time pressure, leading to a secret ending, but I just couldn’t get that working. In the end, I thought it was fitting to loop a single basic room, and call it “eternal suffering” lol.
You are correct that undo/restart is never necessary! That was one of the first principles I wanted to explore with the design; in a variant of Sokoban in which every move is reversible, how can I still make interesting puzzles? The lack of undo/restart also made it possible to have the structure the game does where you can freely walk between multiple puzzle paths while knowing none of them can be stuck. It also is what made the method of procedural generation used here possible. The game simply places sigils in a valid position, then randomly moves the player character around to scramble them, with the knowledge that any move made can be undone.
Thanks again for playing!