Demo Escape Room/Adventure Game/Myst Engine [last update: 6/9/19]


Escape Room/Adventure Game/Myst Engine

Escape Rooms Main.png

Current goals for the project are:
  • Create a flexible engine. I want the engine to be flexible enough to make a game like Myst or an Escape the Room game while being low enough impact that you would feel free to throw it into any project even for some simple simple Zelda-like dungeons. While I don't want it to have many of the elements of a full adventure style game (like Monkey Island) I want it to be able to handle those types of puzzles (but I'm not looking to make a dialogue system and so on).
  • Create a flexible framework that could be added on to.
  • Maybe create my own Escape the Room Game on Mobile.
Right now the project has a few main rooms, but currently, all my debug rooms are available as well. Most of those rooms are a few clicks to beat, but there are nearly 30 and counting right now.


Any feedback is good feedback. I'm not too focused on the art, interface, sound etc. yet, but I'm still interested in what works and what doesn't. I'm also not trying to make masterpiece levels - they currently serve as a means of testing things out - but I am trying to at least follow some basic good practices and not make them horrible to solve. So I'm also interested in in what works and doesn't on these. If anyone has suggestions on things you would put into or want in an escape room asset on the Marketplace or in an escape room game. I'd be very curious.

One specific feedback request I have is:
  • If you played any rooms, what rooms and how long did they take?


My current goal is to keep expanding the type of interactions available while building rooms to use those interactions. I'm not going to work too hard on look and feel for the moment, but I'm going to try and not fall to far behind on that. Current 'to do' interactions list is:
  • a good method of self-contained puzzles (e.g. a sliding block puzzle, a jigsaw puzzle, etc.) that can be completed to unlock something.
  • The ability to combine things in the inventory to make new items.
  • The ability to reuse items (e.g. a hammer or screwdriver)
  • The ability to place, and pick up items again (e.g. a removable battery)
Beyond this, I'm trying to be more diligent, especially as I want this to be more of an engine than a game at the moment, to keep the code solid and not overly complex.

While I added the ability to pick up and place items and gave items multiple, or infinite uses, I didn't add a lot of other visible things to the project. I actually overhauled a very significant portion of what was under the hood though.

In order to get the first version out, I had done some crappy programming towards the end. So I started the week trying to make everything a little cleaner. This lead to more and more revisions. Additionally, I was struggling to make the larger rooms because I hadn't fully understood how my own system worked. So I started making the test rooms, rooms that are generally just one screen and really use only one idea.

I'm at least halfway through cleaning all that up, but that has created its own mess. I'll probably make an update about that later as I'm going to use these updates half as a dev blog for the time being.

I have solidified my goal for the project a bit. I want to make an engine robust enough that I could make a game like Myst or Riven or an Escape Room mobile game while simple enough that I could use it in a completely different style of project (e.g. rpg or zelda like) to make puzzles in a single dungeon. In other words robust enough to be an entire game while simple enough to use in a single room in an entirely different project.

Most of the changes made in this update won't be visible to the player as a lot of it was under the hood. However, this update wraps up my major refactoring of the original code. Big changes are that combinations are now separate from the locks they unlock meaning a number of locks can be attached to the same combo - or input panel - as can be seen in one of the test rooms. Additionally, the hiding system is far better and now works for all types of interfaces - not just items.

The one thing that will make a different to players is I added another 10 test rooms. These test rooms work as my manual unit testing for the main rooms. And now they are all linked together. In theory, I can start at the first one, and if everything works in all of them, everything works in the rooms.

The next update will hopefully be soon as I want to spend some time now creating larger rooms.

Game Link
(6.9.19 Folder is Current - No Debug Rooms)
(6.2.19 Folder is Old - Debug Rooms Included)

(see second post for a summary of any updates to the game link)
Last edited:


Update Summaries

4.27.19 Update
  • One room solution tweaked slightly
  • Expanded the types of interactions available
  • Two new rooms added bringing the total to 4

5.5.19 Update

  • Major under the hood changes
  • 19 test rooms added
  • 1 normal room added
  • new interactions added
    • items can be generic
    • items can have multiple, or unlimited, uses
5.10.19 Update
  • Major under the hood changes
  • Some room solutions tweaked a little
  • Test rooms up to 29
  • Rooms linked, and other minor quality of life changes
  • Room Added
5.19.19 Update
  • Minor under the hood changes
  • Sounds, animations, delays, and more interactions added
  • Test rooms up to 34
  • Another Main Room Added (8 total now)
  • Channel wood and a few other rooms polished to take advantage of new things
  • Room 1 is a little broken right now. It works but a few sounds and things do not making it slightly harder to solve than it should be.
6.2.19 Update
  • Under the hood changes
  • Ability to interact with items added (though only for a couple)
  • Test rooms named and re-organized.
  • Some test rooms created, some deleted, some moved to main rooms
  • Main rooms named and re-organized
  • Mechanical Age Finished
6.9.19 Update
  • Items can all be inspected now
  • 4 new rooms added
  • A number of random things added
  • debug rooms removed from this build
Last edited:


The last update was significant enough it gets its own post. A primary goal of this engine is to be able to make a game like Myst. I'd felt I'd come far enough to try that and so I mapped out the puzzles for the Channelwood Age and recreated it (it's Room 07 in the main room section). Obviously I don't have art, so I simply took the puzzles and made their approximation. Overall, it took me about 2 hours to make after I had mapped it out.

Going forward I do want to make items interactable. But I think I will focus on a few quality of life things. For example, have things that can play animations or move when interacted with, give items their own sounds, and so on.

I should start naming my updates. There were three major elements in this update. First, sounds. Items now have the ability to do custom sounds. It isn't perfect yet and there are some edge cases where the don't work right (and I haven't gone back through every previous puzzle and hooked up all the sounds) but overall, it's working. Second, expanded interface options. Now there are options to hold down things, things can animate, and there can be delays based upon sounds, alarms and so on. Third, a new room which uses a lot of these new features.

This update doesn't get every piece of functionality I want in, but it is close. The last missing element is the ability to interact with inventory items. I'll probably add in the ability to select items and require you to have selected items in order to use them (rather than auto using as is currently the case) but this is pretty trivial. Inspecting items, combining items into new items, and so on will take more work.

I made it about half way through recreating another Myst Age (the mechanical age) but didn't quite finish it and wanted to upload the update. So that might be a midweek update, or maybe I'll save it for next week.
Last edited:


Not really, but the last of the big features I wanted to do was added in. You can now interact with items, but only a few have actually been implemented. They are in rooms "The Code" and "The Very Hard Room".

Goals for this next week will be to make all items interactable, but other than that, stop adding features and focus on using the ones I've got. Since it is supposed to be an engine, I'm going to focus on pumping out a number of rooms.

A specific feedback request I have at this point is: if you played any rooms, which rooms and how long did they take? Mostly I want to know this about the rooms with a difficulty rating (amount of stars above the doors). The rooms without stars should in general take less than a minute.

Escape Rooms.png

Escape Rooms Scene.png

All the items can now be inspected. This week I added four new rooms. In addition to adding these rooms, I experimented with adding in more complex pieces of code that don't rely specifically on the engine but instead interface with it when necessary. This was surprisingly easy which was nice, but it was so easy I didn't spend any time trying to figure out how to do it will.

I removed the debug rooms from the newest update as there's getting to be so many rooms and puzzles as to be more annoying that interesting, but I'll keep an older version of the game in the folder that has them.

I'm not actually sure what I'm going to work on next. I'll probably spend some time polishing the inner workings and I might make a room or two here and there.

One thing I want to make better personally, but don't know if it has any place in the engine is some things like look and feel. For example, when you unlock something, showing a special unlock sequence and things like that.

Before releasing the engine as an asset, I've decided to make a mobile game using it first. There are a variety of reasons for this, but the biggest two are what I have now is already nearly a complete (if bad) game so why not spend time polishing it and it gives me a both a chance to test it and credibility for the asset itself.

However, what it does mean is that since most of what I'm working on now won't be included in the engine itself. I'm not going to post those updates here. Instead, I will, eventually, create a new WIP thread for the game. It'll probably be a bit before I do that, because I want it to be different enough that I'm not violating the forum rules of having two posts about the same thing. My goal for that is a few weeks.

I will update here if I make changes to the underlying itself.
Last edited: