Now that the busy holiday season is over, the steady progression towards being an actual game continues. There is now a single obstacle to escaping The Room; you have to pick up the key from the floor in order to open the exit door. It doesn’t sound like much, but it required quite a bit behind the scenes to get it working. Saving and loading are also working now.

Verse 1:4

Door locked securely
First obstacle encountered
Where did that key go?

In addition to the controls in the in-game instructions, you can press Home to save state and End to load state.

This verse forced me to answer some important questions about how to handle interactions between Entities in the game. In the end, Entities remained simple data structures for physical objects. Interactors were created to handle complex interactions separately. Any interaction which occurs at the basic Entity level will be a part of the physical Simulation. Interactors will be used to simulate complex behaviour that is not physically modelled.

Obviously the door falls into this category, but also inventories. The player is carrying a key around, but I am not modelling the key hanging from a belt or in a pocket, it’s just holistically “in the player’s inventory”. Once I’ve had time to iron out the whole system, I’ll post some source code for it and a deeper explanation.

Verse 1:5

A woman in robes
“It’s dangerous to go alone!”
“Take this,” she insists