Making a Journal in Your Game
This article requires knowledge of both the Advanced Game Editor and Variables. If you aren't familiar with those, make sure to brush up on the linked article. Also, your game must be an advanced game for this to work.
A journal is a special page in your game where the main character "writes" about events that have taken place within the story. It's more or less a way to help the player remember what has happened and provide them with clues on how to progress further.
The first thing you need to do is set up a page that will contain the contents of the journal. If you plan on accessing the journal from a number of different pages or plan on having a lot of writing in the journal, you may want to consider making the journal a chapter in the game. For the purpose of this article, we're going to put the main journal page as a link off of the "Player's House" page.
On your journal page, you want to have the text on the page explain how the journal works. This way the player will come back to check the journal. One possibility for the description is:
You sit down at your desk and flip open your journal. You've been careful to try to record the important and memorable events that have happened over the past several days. Although you usually don't have a hard time remembering things, you've found that keeping things in your journal can help piece together the "big picture" later on.
This journal page will have a number of links leading off of it. Each link will be to a page within the player's journal that describes whatever event transpired in the game. Here's what your links might look like:
- Day 1: Strange Phone Call
- Day 1: Sister Missing
- Day 1: Police Station
- Day 1: Internet Research
- Day 2: Strange Package
- Day 2: Airport
- ... and so on
The next challenging part is to make sure the links show only after the story event occured. There's quite a few ways to do this and the way you choose depends on the linearity of your storyline. The way I'm going to describe will be using variables.
If the events you have in your journal are perfectly linear, meaning that the events can happen in only one order, then all you need is a single variable. I would call this variable JRNLEVTS, which is short for JouRNaL EVenTS. All you have to do is make sure to increase the JRNLEVTS variable by 1 at the completion of each event. Make sure to increase this variable only in one place for each event.
On the Jounral Page, set up Link Restrictions to only show the links to the corresponding event if the MIN value of the JRNLEVTS variable is whatever number corresponds to that event. For the above links, you'd restrict each link to require a MIN value of 1, 2, 3, 4, etc. Since this can get tricky to keep track of, it's strongly recommended that you write down on paper what numbers correspond to what events.
If the events in your journal are not linear, then you will have to use multiple variables. This is where it can get very complicated and overwhelming. But then again, if your game is that non-linear, you probably already are experiencing that.
With your non-linear game, you can either use other variables or items to determine whether to show an event, or create a variable specifically for that event. For the links above, here's what we'd have to do:
- Create Variable called JRNLEVT01
- Create Variable called JRNLEVT02
- Check if player has "Case File" item
- Check if player has "Research Printouts" item
- Check if player has "Strange Package"
- Create Variable called JRNLEVT03
The JRNLEVT variables would be set to "1" and show only if "1". As you can see, it can pretty complicated. Hopefully you get the idea. If want to reduce the number of variables even further, you can reuse and combine JRNLEVT variables in the same manner as the linear version. But i'll leave that expirmentation and discovery up to you.