How do I use the timeline for an interactive story?

  • Hi all,

    Can you please give me some advice about the use of a timeline to create an interactive history story of my village Dessel?

    Here is the outline of the story.

    The story goes about the history of my village in 1271 until 300 years in the future. A normal family travels back in time to the birth of the village. Then they follow the path through times to important events, the way of living, wars, how people worked, farmed and so on. In every year an important event happened, the family will be present.

    I want to create a text story where the reader can make interactive choices and based on that choice, takes another part to read in the story. I also intend to include some old games which can be played between the reads at the time they were popular.

    Now Intend to create a timeline in C3 with those important dates. For example :

    1224 --> first people settled in my village

    1271 --> birth of my village

    and so on.

    Can I create this timeline lets say with the dates :

    1221 - 1271 - 1300 - 1400 - 1500 and so on until the year 2300

    in C3?

    I am working (researching, planning and plotting) for more than a year now. Now I start actually writing the story and have to choose my interactive environment.

    I think C3 has many advantages over Squiffy - Twine - Quest because I can mix the text story (interactive book) with interactive games.

    The problem is, I am overwhelmed by the complexity of this project. I taught writing would have been difficult but it seems the easiest part of the project. I want to learn and create this project successfully. It is part of the celebration year 2021 when my village turns 750. I am participating in the official celebration. With 3 other writers, I write for the end spectacle in November 2021.

    I will appreciate your advice, suggestions, ideas and help very much. Can you tell me if this project can be done with C3? It will be part of an HTML website, an app for Android or just for PC.

    Also, pointers to tutorials (Scirra - Youtube) will be very helpful.

    Thank you in advance for your time spent on my request.

    Have a nice day!

    Chris

  • Hi there.

    From what I understand this timeline you're talking about is mainly data and not necessarily graphics, right?

    If this is true, then I suggest you use simple Number variables to contain these dates as to not give you too much trouble learning new stuff right now. In the future I suggest you use Arrays or JSONs to store your data.

    Mainly JSONs will help out A LOT if your game has a lot of text, or any type of extensive data really. There are many tutorials on it, but I would be glad to help if necessary. Even Scirra has official tutorials on the subject.

    Best of luck. Feel free to ask anything.

  • You can use a layout per year, and a global menu https://drive.google.com/file/d/1h-X7JL0M3vEAD_mgGl04ltOZ8CNV4Qap/view?usp=sharing

  • Thank you so much Dubuque and Mrcgkh for your advice and suggestions which I appreciate.

    The timeline does not contain any graphic. I am thinking about the timeline as an array, containing references to the linked text. Every event in time has its own unique ID. In this ID is already information about the year - month - day - unique number.

    For example :

    YYYY#MM#DD#unique number

    1350#11#05#0001

    1350#11#11#0002

    1350#11#11#0003

    The array itself will have the following structure :

    Column 1: Unique timeline ID

    Column 2: Chapter title

    Column 3: Reference where the chapter can be found

    I am thinking of storing all the chapters in one text file. Each chapter will start with its unique timeline ID mentioned above. The computer only has to look up the unique timeline ID, look to the reference, show the chapter title to the reader with the accompanying text which is connected by the unique timeline ID.

    I can also connect the inline games and puzzles with a unique timeline ID to the period when they were popular.

    Also when I use global variables for the family, I can create a form where the reader can change the standard names to the ones of their family. So when a reader read the story, he/she read their own names.

    Your input was of very good help to me. I need to work this out more in detail to present it to the project coordinator which has the final decision.

    I am going to look in the tutorial section and also on Skillshare for a C3 course. For this project, I am sure I gonna need more knowledge than my very basic C3 understanding. But we are never too old for learning something new.

    Have a nice day!

    Chris

  • Last night I experimented with using text files with Construct 3. Actual the Youtube tutorial I watched you can find here:

    youtube.com/watch

    which is made by James Q Quick. It is a very good tutorial. This tutorial is about reading records of scores into an array and extract the individual score.

    In the tutorial, the AJAX object is used. You also need a text file named "TextData.txt" in the following format:

    John;

    10;

    #

    Betty;

    20;

    #

    Kate;

    30;

    #

    Where the ";" separate the fields inside the record and the "#" marks the end of the record. However, you can use any character as long as they are not present inside your text.

    You also need to place a "Text" object onto your layout and name it "FeedBackText". Also, an Array with the name "ScoresArray" with a width of 10 and a height of 2 is needed. Here is a screen capture of the event sheet containing the necessary events:

    In the map "Object Types" you find all necessary objects you have to add. The last event is just a tryout of mine to use JavaScript to end my experimentation.

    When I watch the ScoresArray Inspector when I debug, this is exactly what I need to create and use the timeline for my interactive story. What I observed when making changes to the imported textfile is, that it is not automatically updated when something change and is saved. Also, make sure the imported file is in text format (extension .txt) otherwise you get a lot of unnecessary information which makes a mess of your file.

    Question: Is there any way I can reflect the saved modifications automatically inside the "Text" file? Thank you for your help in advance.

    I am surprised how easy it is to learn Construct 3 and its event system. However, I have still a very long way to go and it will not remain that easy I am sure.

    I share my experiences here in case somebody has the same problem and doesn't know where to start. I do appreciate the very helpful replies.

    Chris

  • You've made real progress, congratz!

    Arrays are great and your current data system could easily be your final version, it could be totally considered a professional setup, but again I'd recommend you using JSON files if you ever have some spare time to tinker with it. They work structuraly just like your files right now, but they are far more organized and universal.

    Looking forward to your development, congratulations again!

  • Thank you so much Dupuqub for your nice and encouraging words. I will try your suggestion and experiment with JSON too. I will post the results and finding in this thread.

    This afternoon I was thinking about the text file structure. I came up with the following structure :

    <chapter> *** This marks the start of the chapter (record)

    <ID:197012242030> *** Chapter ID: YYYYMMDDHHMM

    <ct>A wonderful Christmas evening</ct> *** Chapter Title

    <cb> *** Start chapter body text

    Here comes the chapter body text with HTML styles

    </cb>

    </chapter> *** this marks the end of the chapter (record)

    I also experimented with the iFrame object which looks promising. In this way, each chapter will be its own HTML5 file and based on the choices of the reader will we shown to the user (or not). With this method, I think I can easily integrate the interactive C3 games too.

    I need further experimentation and planning before making my final decision. However, I will follow your advice and use JSON format files. I will share my findings here.

    Thank you again for your input which is much appreciated.

    Chris

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I forgot to answer your question about how to reflect changes in the file immediately. You can update the Text object whenever you change the file since you change it through an action, preferably in the same event for a more clear process.

    On another note, if it fits your project, and as stated by mrcgkh, you could use layouts for different scenes, on your case, if I understand correctly, for the different time periods.

    As for JSONs, the basics are using the Object AJAX to request a file (it can be from your project or from the web) and then parse it (put the data) in a JSON Object (a File becomes an Object). This data can be accessed through the expression "AJAX.LastData" inside the condition "On completed" or "On any completed" from the AJAX Object, depending on how many files you're using.

    If there are many files, tag them, which then serves to track when they're finished loading and makes it possible to put each JSON file into its correspondent JSON Object easily.

    Every change you make should be addressed to the Object and you can see it taking effect immediately.

  • I prefer CSV. Because it can be easily edited and saved by Excel or Google Sheets https://drive.google.com/file/d/1hgzwUaFTU4AB-LUANTin0FEwEBHs_g-9/view?usp=sharing

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)