Procedurally generated might be the most fun for me as the developer just because even I will be surprised then, but I will need a mechanic so that you are not trapped with no options.
For example, if you collect a key and go into a room with a locked door and no key ... I guess I could make it so you can fight the door (knock it down), but should there be a penalty to stop you just running through every locked door?
I would add the key as part of the procedure.
If lockedDoor exists, add keyToLockedDoor where keyLocation is never beyond lockedDoor.
Good idea though I’d still need to ensure the player is on the same side of a wall as the door …
haha there's always some small detail that gets overlooked isn't there 🤣
Could combine the ideas though, still have the “hit the door 8 times to break it” fallback - means you can’t run through the levels like the koolaid guy
Maybe if a key is used, there is a stealth advantage on any encounters in the next room, because you didn't "Here's Johnny" your way through the door. But the loud way would be an option for wood doors. If you get crazy with coding, iron doors would require a key first, and would definitely need extra coding to make them work.
!PIZZA
Oh I like that 🤔