[Feature] Ability to read previous pages

As a fan who reads/plays a lot of made by ChoiceScript, ability to read previous content would be nice addition to the engine. I’m NOT saying ability to edit your previous choices, just read all the content. Sometimes I come back to games which I haven’t played in a while and feel a bit lost, so rewinding would be amazing to refresh the memory. This can also help you just want to check something which may not be sure about.
Another addition to would be the previous content be sorted according to chapter or sections, would help in navigation. I’m sure writer would appreciate this too.

I couldn’t find any other place to mention this, I chose this place. I also could find where the development of the engine takes place, it would be amazing if it was open source.


awesome idea, maybe instead of a rewind there could be a feature where when you start the game after a long time of not playing the first page you see gives you an update of what happened so far. Wouldn’t even me that hard for the game writer as they could code it to add an entry to this page when you finish a chapter and display it whenever the reader wants!

Edit: I just realized that the stats page would work fine for this, adding a “summary” section to the stats page that lists major events in the game so far. I’ll be including this in my WIP right now :slight_smile:

1 Like

I put a similar thing in my game with the story part to the stats but it becomes difficult ad the choices grow to know what to include.

It does help if your game has a lot of choices though as people can forget how they get to the point they’re at or what something is when you introduce it again later.

Back to the main point
I would find a “go back” button. There are times when I’ve gone onto the next page and then forgotten what happened previously or missread the section due to speed reading and it would really help to go back and at least read the previous page. Even if the choices remain set.

There’s no way to see it again without restarting the game and that’s just not an option an hour into a story

In short: Yes, we need this option badly


Well one could have a ‘timeline’ feature in the stats section. Everyone already uses Acheivements so why not make double use of that feature have important points become visible in list like bullet point presentation-

-character chose to spare tommy
-tommy repayed kindness
-tommy turned out to be a god!!!
-character got a wish

no need for a big fancy double written summary just cliff notes of vital info.

I think that’s pretty neat! and it would help a writer keep track of all the things that happen in short form.


The ability to rewind to earlier pages would be amazing, if it could be added into the CS framework. I want this. Heck, randomtest saves a scripted version of choices made… why can’t the going through a story itself do this, and be able to page back?

However! In that I’m writing my own story… I want to say that, for my story at least, having a timeline in stats would be extremely difficult. It would work for some stories, certainly, just that the one I’m currently writing would not easily be such a story. Nor is it plausible (in said story) to rewind by reversing choices. Without essentially doubling the code work, which would probably end up making the story about 140% the current length. Just to be able to reverse decisions. And in some cases, like diverging paths leading to the same choke-point, I’m not even sure how one would handle the code to go to the ‘correct’ path while in reverse.

I don’t think this is something that can be implemented in the engine. It sounds more like something that has to be implemented by each programmer manually in order to work properly.

I don’t work in choicescript personally, but I’ve seen some examples on this forum, and it has its similarities with other coding languages. In order to make going back be possible, the choices and the scenes would have to be written to be backwards compatible, and that would be a lot of extra work both with coding and testing.

Basically you’d have to record each and every choice that’s been taken throughout the game and remember them at all times, on the off chance that someone wants to go all the way back to that point to remember what happened. If the game is really long, this would become a nightmare.

Even going back a single screen would require doubling the testing for each choice, to make sure that it sends you back properly.

I agree that it would be a nice feature, and I’d love to have it when reading games, but in many cases it’s more a luxury than anything else, and I don’t feel it would really justify the huge amount of work required to implement it.

Although it would be interesting to have, a back system would involve undoing any stats just made. (Tosses the entire system out the window if the GM uses *rand- randomized things) If you were to keep it simple and just *goto the last paragraph you were just at. It would take some extra coding and be a horror depending on how many choices each choice has. Though the simplest way to go about doing it. Actual frameworks would be out of the question as mentioned, it’ll depend personally with each game. Unless you’re just using a save system.

(There’s also @Snoe’s idea of having a quick “reflection” of your actions, though @Shawn_Patrick_Reed has a valid point that, that can turn into a monster (no pun intended) to code.)

If you mean to see the choice you made or what previously happened, that can be implemented easily enough by the writer typing that up after you make the choice. Kinda like a reflection.

The commander calls you into his tent. He faces the wall silently while a single golden apple sits on the table.

  • Eat the apple
  • Once the apple is in your hands you take a quick bite out of it and…
  • Steal the apple
  • With one quick swipe of your hand you snatch the apple from the table and slip it into your satchel before the commanders eyes bear down you…
  • Throw the apple at the commander
  • Using your dominant hand you grip the apple on the table and throw it towards the commander. The apple hits her helmet with a thunk. Her shoulders arch up as her head bobs. She slowly turns her head back towards you as the apple falls to the ground.
  • Ignore it.
  • You pay the apple no mind as you wait on the commander who…

In this case the player knows what choice they previously made and don’t quite know what choices they could have made (in case of speed clicking). If you want to know what would be the result, going back and clicking a different path, that’s why save systems exist.

Not to mention the main fun of CoG are the different paths and starting from saved points (or all over) to see what each path offers. (Personally).

Though I can’t argue with wanting a save system. Sometimes I toss the liberal path and only repeat choices to play a certain “character” only wishing to know what the other paths offer, but not being able to go back and check.

Correct me if I’m wrong in my assumptions and I’m rambling on a completely different point then what’s being said. That would be embarrassing. :closed_relieved:

I believe what you’re picturing @Shawn_Patrick_Reed is something similar to TellTale games? Simple records. A beast that tips the borders of near impossible (depending on game length) to record every single choice or the vast majority.

  • You took the commanders dinner.
  • The commander caught you stealing her food, she’ll remember that.
  • You decided to kidnap the gingerbread man. (Chapter 2)

Well… a lot of the Telltale choices give an illusion of freedom, diverging perhaps briefly, but not playing a major role in the game at large. Actually more similar to CS games than you might think, except with graphics. And it -could- be done, but it would be a shitton of work, like putting in a cataloguing system into the game, like *set ch1ch1 “2”, *set ch1ch2 “1” and so on, putting an indicator for every choice in the game. But I didn’t actually mean records in CS script. I meant written records in a save file. IE, convert a save file into a text file of the story so far. Bada-boom, retraceable story.

Would a summary be more easily done with concatenation? So with each major choice, *set summary &" You’ve won the golden arrow! Well done, gallant outlaw." and so forth. Like an inventory, only of critical events.

I suppose the biggest issue there might be formatting, unless there was a way to add line breaks.

Well there’s a lifetime of work I believe only the most adventurous of writers and coders with immense amount of nearly unlimited freetime on their hands would undertake. At least I can’t picture a simpler way of going about the job.

It makes me sore just thinking of the time consuming code which is… possible, but the effort to go through all that work (lest it be a basic game) isn’t worth implementing when there are more important concerns in the game building process to worry about. From my perspective of course.

1 Like

I recall that the lack of ability to go back after a choice was by design. It’s certainly possible as another IF development tool called Twine will allow for it.

Yes, I seem to recall that as well. Renpy also has a go back function which even allows you to choose differently.

Not a coder myself, so just asking: would it be possible to not have a page break after each choice?

So, basically, after you make your choice and press the “Next” button, the following page just gets printed below the current text, without actually starting a new fresh page?

(and therefore if you want to read a previous page you just scroll up?)

IIRC that’s what inklewriter does: at any point you can just scroll up (even to the very first sentence if you want). No clue how that would work with the Stats button, though, or if you’d get the whole story up to the point you left it if you close your browser.

No you cant even the *fake_choice command make the next appear, it’s core of the engine. There won’t be a rewind it’s impossible with current code language. A summary could’ve made but certainly could be a pain in the ass, for the coder putting a variable for each choice and tracking it a nightmare for sure

1 Like


Even if the engine were to be modified to write all of the scenes one after the other on the same page, this would have only an aesthetic effect. The fact of the matter remains that in order to be able to show all previous scenes on the screen, you need to make a variable for every single scene in order to remember each and every choice you took in the game.

I don’t think there would be any way to work this in without tremendous amounts of work from each developer. The more complex the game, the more work to implement this feature. It’s just not worth it in my opinion.


Even if the engine were to be modified to write all of the scenes one after the other on the same page, this would have only an aesthetic effect.

That would be the idea, actually: just leave the text on the screen, so you can scroll upward and re-read it if you want, without being able to go back and alter the choices.

(have the whole story in a single page, if you will, that gets longer and longer as you keep going through the choices)

That would work on a PC, but not in mobile or tablets. More that half of the market so I hardly doubt it would be implemented any time soon. Maybe a pc only feature. But the BIG drawback is that would make coding itself more difficult, so hosted games would become even more difficult to finish and would make many people just don’t try code at all.

Aaa ha!

Didn’t know that.

[size=7]coughs furtherproofthatPCsaresuperiortoallothergamingplatforms coughs[/size]

I mean, I tend to play games on a PC, so I would have never guessed that the limitations impossed by other platforms was the reason. =)

In fact I had noticed in some phones problems If text it’s too long, and it’s a pain sometimes to read scrolling and scrolling down. In pc you could see a what you consider a short text, in a four inches device could be long as half bible. Improve CS it’s so difficult because of multiple platforms.

Well, a 4 inch device isn’t really designed for text based content.