Terminal: A Tale about an End

Wow! Thanks for all the amazing feedback everyone, I really appreciate it!

@Headhunter180 I don’t currently have the time to teach people javascript, or make use of my systems in detail, but all the music and fading functions are located here:

If you can make sense of them, feel free to use them! For the most part, you don’t need to pass parameters - if you take a look at my scene files, you’ll see how to call the scripts (using the *script command) and what parameters you do need. The fade text requires some additional lines to scene.js though, you should be able to find the lines, as they’ll be suffixed by //CJW or similar.

@irule9344 Thanks man. There won’t be any visible stats, but you’ll be able to obtain “things” - and things like relationships will have hidden stats, and naturally variable flags will be set in order to keep track of some choices. The idea is that you KNOW if somebody likes you through their story dialogue, you “shouldn’t” have to come out of the game to check. I also have no plan to stop making these games, so don’t worry on that front!

@MusicLover Thanks! I hope to provide more of it ^^

@LOR @Fujin As others mentioned, I took A LOT of inspiration for this from JRPGs, in that vein I’ve actually decided to tell the story from a number of perspectives. These will swap between acts. That’s why you can rename the second character. Some acts you’ll play as her, others as him and a few more characters that are yet to be revealed. But the character genders are set, yes.

@shoelip @mason_stone The menu music is from Final Fantasy XIII, the ACT I music is from Final Fantasy VII (which a lot of my music will probably be from).
I’m a big fan of the entire series, and it probably shows (although I promise the amnesia is very different), even the one-line dialogue /page/swap system is reminisce of old school JRPGs.

@FcA I’m very happy to hear you like the interface and minimalist design. I struggled something rotten to get the balance “just right”. I wanted to give something fresh, without distracting from the experience or story.

Did the music work for you then?

You have taken text-based games to a new level. This is wonderful - the sound, the text fading, all majestic. One more thing I loved was that you have kept the amount of text on each page minimal. This increases the interest. I myself sometimes find it difficult to read long texts and 75% times skip the text written. But you have done it wonderfully. Looking forward to act II. :slight_smile:

@CJW overall, I am enjoying the story. You have set the tone and theme well, and the writing is often quite elegant.

I do feel more needs to be shared in the Intro and Act I of the who, what, and where. It seems Act I is background and establishing character but I still felt at the end that I had little clue what’s going on. It’s a dangerous device to play with too long, though right now you still have my curiosity piqued.

In terms of the advances you’ve made to CS to incorporate the fading and music – I’ll just say I envy your coding skills.

All-in-all, looking forward to the next act.

@CJW I copied all the files and placed them in the same places, the layout looks similar but I can not get my text to show. If only you have a sec to spare will you take a look, if not that’s fine. Thanks

If I inspired you to write this then that’s a huge compliment. Your writing style is engaging and coding skills shine throughout. The combination is something that I will definitely follow, as will a lot of other people, I imagine.


I concur, it can get quite tiring, particularly when you’re looking at a backlit computer screen or handheld device. It’s nice to know this goes some way towards remedying that! I’m very glad you like the composition too, hopefully it won’t take me too long to deliver ACT II!

@LOR - Yes he is, I - might - go back and mention that somewhere, if I can slip it in without breaking immersion. “Oh by the way, I’m a guy! :D”
Glad you like the perspectives, I’m interested to see how this plays out myself… :slight_smile:

@JimD Cheers Jim! That means a lot!
I think I know exactly what you mean about being clueless… I feel that I’m traversing a very precarious line - I’ve a lot I want to tell the reader, but due to the nature of the game (small lines of text) it’s hard to do so with any great speed without boring them half to death. At least that’s my thinking. There is supposed to be an air of mystery, but I’ll try to remedy some of that as best I can during ACT II.

@lordirishdas - You need to add the function calls to scene.js (take a look at mine, search for lines of code with “fade” in them).

I’ve been on these forums for some time now and although I’ve participated in many a discussion, offered ideas and helped some people with coding, something about what you said really struck a chord with me.

I think it’s very easy to get wrapped up in developing something “awesome” and forgetting who it is that inspires you to do so, and who it is that supports you through it. There’s been a lot of good, promising games here that have never made it to fruition for some reason or another, but lack of community support or interest has never been one of them. Call this my ‘hats off’ to the COG community, if you will. That’s how I think I see it, and yes, like every other member of this forum you played a very large part in inadvertently(?) encouraging me to create this… So in the words of our new ‘hero,’: Thank You :slight_smile:

Nothing on ACT II, I’m afraid.


  • I fixed the spelling errors pointed out by @tfahy96 and @WiReDcHiMpAnZeE
  • Fixed additional spelling/grammar mistakes and changed a few sentences


  • Implemented a new ‘toggable’ option called “Button Focus”. Thanks to some feedback from @Vendetta I realized that excessive clicking of a mouse while playing ~ Terminal has a - small - potential to contribute to the development of RSI (lol), so by default this is on (but can be turned off) and it’ll basically automatically select the page’s next button for you, allowing you to ‘turn’ the page by pressing the spacebar or enter keys (Tested in Firefox, IE9, Chrome).

EDIT: I found that while skimming through it was quite easy to accidentally select the wrong choice option or skip a name input, so I’ve prevented the button from getting automatic focus on submit pages (E.g. name inputs (I’m working on choices)). You’ll need to click or tab for them.

Now both choice and input page’s next buttons should no longer get automatic button focus.

@CJW, you literally took text-based games to a whole new level; I love this game. And it only took you 3 nights. What I also appreciate are both the “Button Focus” you added and the background music; I don’t know how you did it, but even with my current download speed (about 10-15kb/s) I can hear the background music flowing (not even taking time to buffer or anything). You should brace yourself for all the people that’ll use some or all of your nifty features you’ve added (like the button focus, the fading and the background music), including me. Would you mind if I’d use some of your features? I’d rather ask than just purely take them, even though you said you don’t mind. Good luck with the further acts, I’ll be waiting patiently for the next ones! By the way… why is the game’s title having that “~”? It’s concerning me far more than it should, lol.

@AlexCosarca "You’re free to copy and use the code found in the script.js file, but please don’t expect me to ‘install’ it for you.
Credit is appreciated, but not strictly necessary; I won’t sue you over it.

Basically, if you can make it work yourself, I’m more than happy for you to use it.
I just don’t have the time to personally teach every single choicescripter how to implement it.

However - beware of the ramifications: I’m not planning on submitting Terminal as a hosted game, so app and mobile compatibility isn’t something I’ve taken into much consideration whilst writing these functions.
Dan knows his coding (he could implement all this better than me, if he wanted to), they’ve kept Choicescript simple for a reason, just remember that…

A Tilde (the symbol) has many uses: “A similar symbol used in mathematics to indicate similarity, and in logic to indicate negation”
The word ‘Terminal’ also has many uses (such as airports, computer screens, illness etc), rather than try to explain these, I’m hoping people will come to their own conclusions: as there is really no right or wrong one.

Edit: Also in regards to the music, that’s nothing my end. AFAIK. I haven’t coded any kind of audio optimization or loading routines, just hidden the ui and wrote some control functions.

That. Was. Awesome!

@CJW is it possible to just use the text fading for a future hosted game? I am considering using it when I write "Unnatural"s 2nd draft?

Since it’s all written in Javascript, I’m tempted to say ‘yes’ - But since it uses the ‘opacity’ property, which many older browsers (and potentially some mobile devices) don’t support, I can’t say for sure.
You’d have to ask Dan, or Jason on that one. Sorry! :frowning:

I should probably add that the same goes for the sound as well, it only uses HTML5 audio tags, which again aren’t backwards compatible with older browsers.
It may be possible to code flash player and alpha filter fallbacks to increase backwards compatibility at a later date, but it’s not something I’m currently looking into.

@Shintaro Thanks! Stay tuned! :smiley:


No need to apologise for making a great game.

I’m looking forward to seeing more :slight_smile:

I’ve named my characters Kael (The Veho) and the girl Rayne and enjoyed act I :slight_smile:

I used to rule the world
Seas would rise when I gave the word
Now in the morning, I sleep alone
Sweep the streets I used to own

I used to roll the dice
Feel the fear in my enemies’ eyes
Listen as the crowds would sing,
“Now the old king is dead! Long live the king!”

One minute, I held the key
Next, the walls were closed on me
And I discovered that my castls stand
Upon pillars of sand, pillars of sand

I hear Jerusalem bells a-ringin’,
Roman Cavalry Choirs a-singin’
Be my mirror, my sword and shield
My missionaries in a foreign field
For some reason I can’t explain,
Once you were gone there was never,
Never an honest word

That was when I ruled the world…

Did nobody else think of that song during the opening?

Wish I could code might be able to make something this good can type fast on my tablet which is practically a touchscreen computer still I like how you split the words and sentences apart to make it more lingering and give it tone expecting a lot from this game please continue

CJW, the music works fine on my Firefox.

I’m going to echo what Alex said that you’ll be having peer authors-devs drooling all over your custom scripts, heh. Personally, two that I think my build can use are the fade fx and the *set form_val (or something to that, not looking at it right now). I think it’s a nice non-intrusive alternative to suggest that your casts have default name options while the player can always have different names should they choose so, without presenting them a list of names running down the screen. Then again I’m very likely too lazy to look up how to put in those custom lines to existing framework. Still have to try out a save system before I worry about whistles and bells :confused:

Anyways. Since some people mentioned jprg’s, I want to say that the minimalist narrative in here does feel Japanese, compared to say western works that tend to be more verbose in general. The UI that’s void of distracting elements does make me feel like when I played Shadow of Colossus for the first time; no life bar, no gimmicky log screen, no map, nothing. Just you in the middle of nowhere. Kind of gives you the illusion of free will in a sandbox-ish sense of word, some people won’t like it, but I’m sure some others will. In case that’s the direction you’re after, I think this game will come out my personal favorite, lol.

Thanks @CJW I will take a good look at again in the next week or so.

@FcA I’m glad someone picked up on the input_text thing. I did it for twofold reasons: Firstly if I’m doing multiple character perspectives, I do need a ‘universal’ name for each one, for bug reporting etc. Secondly, I think it distracts a little from the immersion when you have a long list of names and that awkward “Something Else…” at the bottom. Might just be me, but I am fond of that particular addition to my game.

I think I might actually edit the command itself to avoid the use of form_val - it’d take the value stored in the string it’s saving to, if that makes sense? So you’d set its default in mygame.js and that’s what’d appear in the box.

Glad to hear you’re getting into it, I’ve got some awesome stuff planned for ACT II and beyond, it’s just getting it down in code and working out the correct order of things! Particularly the latter.

@lordirishdas - No problem buddy.

Practice makes perfect, I taught myself everything I know about javascript.
Just stick with it.

Changed the male character’s name to “Fin” - “Rhys” wasn’t sitting well with me.
Work on ACT II has officially begun…

Woah, this game is amazing! The writing style caught my attention, quite unique. I’m looking forward to act 2 :slight_smile:

any updates yet ?