A Tale in Time is a text based adventure/RPG/Roguelike/Abomination game which puts you in the shoes of a research engineer tasked with developing a solution to the worlds power crisis - the governments of the world have created an underground facility to research the potential application of Dark Matter for providing large quantities of power.

On the morning our tale begins you will begin your experiments as usual with no idea on the horrors that are about to unfold.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
RSS Articles

A Tale in Movement


First of all, we'd like to apologise for the massive delay in this post - we found quite an interesting bug that required a good amount of squishing.

Last time, we went into a little bit of detail on how you as a player can interact with the world around you within A Tale in Time, this post is about how you can navigate through the world, after all - being trapped in one place for the entire game wouldn't be great.

At present, there are two verbs used to move between areas within the game, these are *goto* and *enter*. Both perform the exact same function, but occasionally one feels better than the other so we chose to include both. In future we may add additional commands but for now these seem appropriate.

Moving between locations is as simple as using a verb and providing either the long or short name for a location. The short name being the item in square brackets at the end of the long name.
ITT MovementLongShort
Every location can have a link to any other location, this creates a map between them - this also means we can restrict movement in a number of ways. Firstly by only allowing the map to be traversed by following the location path.
For example, you can't go directly to the Control Room from Lab 3, you have to go through the corridors between them.

This brings in a number of issues, the first of which being that if we're forcing a path, we have to make sure that the travel distance between any two areas isn't too far as moving between these area's with no other interactive items as this would become quite boring - we're aiming to have at least one interactive item per area which may be part of a quest or simply a lore item to ensure there's always something to be done in an area.

The second hurdle we came to was that we couldn't allow the player to move freely between all the areas as we then wouldn't be able to tell the story. A prime example of this is the Lab at the start of the game. To leave the room requires that the computer terminal be used as this sets up a number of flags (we'll talk about those later). Attemping to leave the room before this has been done will present an error.
ATT CantMove

Initially we started playing with a number of ways to limit movement which contained lists of items such as:

At first these worked quite well, on use of the computer terminal the **results** item would be given to the player, this item was set into the *ItemsRequiredToExit* and the player could then leave the room. The problems started when we realised that completing the "Outta Time!" quest took this item away from the player. This would create a situation where going back into Lab 3 would be a bad idea as you'd never be able to leave again.
Obviously this isn't practical, so we moved onto a flag based system with settable only flags. Now when the terminal is used, a flag called "intro-UsedTerminal" is set and a new set of movement requires was added:

With this we now have the ability to set flags not only for movement but a whole bunch of other things that we're not talking about just yet - you'll have to wait for those.

There are a couple of other things that tie into the movement system, but these will be covered in the combat explainer, which is next!

Exploring the world of A Tale in Time

Exploring the world of A Tale in Time


In this blog post we'll discuss how we've made exploring the world more than looking around a location for particular things and moving on.

Let us take you on A Tale in Time

Let us take you on A Tale in Time


We are Quantum Reality and we would like to invite you to join us on A Tale in Time.


Hi there!

I have taken a look at your project. I like it, it looks promising for me!
I have a question, though: What made you create an engine, in terms of what did the basic libraries lacked that you otherwise needed?

Reply Good karma Bad karma+1 vote
MrFoxxington Creator


Glad to hear you like the project!
In terms of creating the engine, it was a total accident - the project originally started as a world building tool to define locations, items etc. When we realised it was similar to a text based RPG we decided to play with it a little and found it to be quite fun - so we made some changes to how things worked and ended up with the TextPanda engine.

We did look for libraries that already existed after we decided to make A Tale in Time but couldn't find a .NET Core library that would allow us to do the customisation we currently do. We'll be talking about all this more in the next blog post :D


Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
A Tale in Time
Windows, Mac, Linux
Developer & Publisher
Quantum Reality
Send Message
Release date
Game watch
Single Player

Latest tweets from @quantumreality_

How we're doing movement in A Tale in Time - Quantumreality.net #gamedev #indiedev #dotnetcore

May 14 2018

Update on A Tale in Time movement coming later today! Only slightly delayed.

May 3 2018

Find out how we're allowing more exploration of our world in A Tale In Time Quantumreality.net #gamedev #indiedev #dotnetcore

Apr 23 2018

Come with us on A Tale in Time Quantumreality.net

Apr 16 2018

Is this thing on? T.co

Jan 3 2018

Embed Buttons
Link to A Tale in Time by selecting a button and using the embed code provided more...
A Tale in Time
287 (1 today)
Last Update
3 members