From UBC Wiki


Authors: Dante Cerron, Connie Leung, Jinmo Kim

What is the problem?

Building off of the ideas from this article, we wanted to ask: can Prolog be used to create an engaging, interactive text-based Escape game? The user should be able to interact with the game world and depending on their choices, the game state should change accordingly. In the game, the user will navigate through a series of rooms in the dark and will have to follow a logical sequence of steps in order to escape.

What is the something extra?

The user will need to escape within a certain amount of time. If this time-limit is exceeded, the game ends and the user loses.

The user must also actively change the state of the world to create a path to the exit. In this case, that means unlocking doors to new areas by searching the rooms for either:

  • keys which can only be used in certain rooms
  • puzzles that require a valid user input of a specific sequence

What did we learn from doing this?

We learned that Prolog is suitable for creating an interactive, text-based Escape game. Logic programming is perfect for the types of puzzles that we normally see in Escape games. In our program, for example, we incorporated number-pad and lever puzzles, which when solved with a unique combination, allowed the user to progress in the game. We were also able to implement a time limit feature, which is also present in Escape games. Although our game is relatively small, we fulfilled our purpose and we could now take what we've learned and created so far and easily grow upon it to create a more complex and large-scale version.