Design 10 intertwining time travel puzzles (and more to come)

The player's goal in Time Heist is to collect information that will be used to delete the blackmail the company holds over them. As these pieces of information would be stored around the entire map, it was important that all puzzles felt intertwined and intersected with one another. I developed a system for puzzle design that left room for expansion of new puzzles.


I would start with the correct path to solving a puzzle. This would be a multistep process that included collecting items and info, parts that I called "sub puzzles". I would scatter these sub puzzles across the map in places that felt natural - maybe you find this document in a 2nd floor meeting room. This room now became a location that I could use in the future to place sub puzzles for a different puzzle entirely. Essentially, all puzzles that contain a sub puzzle in that room are now blocked by the player going into that room first.


I then moved on to building the players assumption on how to solve the puzzle. Based on where the puzzle existed in the map, I would use the puzzles prerequisites to discover what the player already knows and build a proper assumption around that, something that the actual solution subverts.


A problem I ran into was the density of puzzles in a location. Some places would feel packed with info while others would be too sparse. To avoid this, I made sub puzzles less dependent on their locations and more on what information or item they unlock. This would allow for quick iteration by moving parts around.

Main puzzles and their sub puzzles

Paper and pencil puzzle iteration. Puzzle pathways

Notating sub puzzle locations on map (WIP)

Notating sub puzzle locations on map (WIP)

Implement robust document database and UI system

Implement robust document database and UI system

Our game required a LOT of documents as the gameplay loop hinges on the player finding and storing new pieces of information. I knew that we needed an easy way to store and edit documents without physically adding them into code every time.


To solve this, I designed a database system that parses the games folder for document resources and adds them into a in-script dictionary that can be used to search for documents using an id.


This process happens entirely on its own and doesn't require the engineer to touch the code at all. Just drop the new document into the game files and the system does the rest!


Through this, I learned file system parsing and overall learned how to build systems that are made to scale. With a game that will have a ton of iteration on design and puzzles, I didn't want to be stuck doing the busy work of adding in new documents.

Our game required a LOT of documents as the gameplay loop hinges on the player finding and storing new pieces of information. I knew that we needed an easy way to store and edit documents without physically adding them into code every time.


To solve this, I designed a database system that parses the games folder for document resources and adds them into a in-script dictionary that can be used to search for documents using an id.


This process happens entirely on its own and doesn't require the engineer to touch the code at all. Just drop the new document into the game files and the system does the rest!


Through this, I learned file system parsing and overall learned how to build systems that are made to scale. With a game that will have a ton of iteration on design and puzzles, I didn't want to be stuck doing the busy work of adding in new documents.

Develop player movement using a state machine

More coming VERY soon

Design 4 map floors filled with puzzles

Design 4 map floors filled with puzzles

Taking place in an office building, I feared that the map may get boring to move around as it was just hallways and desks. As a team we discussed what kind of company building this is and we settled on something pretty high end. I used this idea when workshopping floors to get extra creative. This included putting a 5 star restaurant in the top floor of the building, adding and area that was in construction, and making parts of the building be a robotics lab for product testing.


Varying the player experience as they moved around was a priority. On top of having sections that simply had a different aesthetic, I picked floor wide "themes" that kept a small twist on gameplay. For example, the basement is very hallway heavy. This means a lot of tense moments walking down hallways not knowing if a guard is walking down the other side. The restaurant is a very big space with a grid of tables and chairs. This makes maneuvering guards a little more of a reactionary event as they move around the grid. It is almost like a game of Pac-man.


Adding variability with these floor based 'properties' combine well with area based mechanics. For example, In the construction area, you can push boxes around to solve puzzles. Vertical (floor) variability crossed with horizontal (area) variability adds many permutations to keep the player invested and entertained.

Taking place in an office building, I feared that the map may get boring to move around as it was just hallways and desks. As a team we discussed what kind of company building this is and we settled on something pretty high end. I used this idea when workshopping floors to get extra creative. This included putting a 5 star restaurant in the top floor of the building, adding and area that was in construction, and making parts of the building be a robotics lab for product testing.


Varying the player experience as they moved around was a priority. On top of having sections that simply had a different aesthetic, I picked floor wide "themes" that kept a small twist on gameplay. For example, the basement is very hallway heavy. This means a lot of tense moments walking down hallways not knowing if a guard is walking down the other side. The restaurant is a very big space with a grid of tables and chairs. This makes maneuvering guards a little more of a reactionary event as they move around the grid. It is almost like a game of Pac-man.


Adding variability with these floor based 'properties' combine well with area based mechanics. For example, In the construction area, you can push boxes around to solve puzzles. Vertical (floor) variability crossed with horizontal (area) variability adds many permutations to keep the player invested and entertained.

Game Trailer

Game Trailer

Edited by me!

Edited by me!

Daniel Salameh

Game Developer and Designer. Computer Scientist

2026 Daniel Salameh

Daniel Salameh

Game Developer and Designer. Computer Scientist

2026 Daniel Salameh

Daniel Salameh

Game Developer and Designer. Computer Scientist

2026 Daniel Salameh