[Tool] Chronicler - ChoiceScript Visual Code Editor



Unfortunately all things ChoiceScript do not run in Chrome. (local files that is, “security” feature.)
Install Firefox and set it as the default program for opening .html files.

Alternatively this link presents other methods of sharing your game.


Thank you for the quick reply!

Do I have to do this through my computer or in the Chronicler settings?

I saw that link before in another one of your posts. Where could I upload a .chronx file? I have an account for dashingdon and I don’t think that would work.

UPDATE: I found that if I go into the folder to the choicescript-master folder and right click and open the compile.html in firefox then it compiles the startup file but no others?



You’ll have to find a .html file on your pc (or make one) and right click->open with->Firefox (check the box for set as default program).

.chronx files are purely for usage with Chronicler. The files you’ll be publishing to @dashingdon’s site are the ChoiceScript .txt files. (pretty sure there’s a tutorial on how to use that site somewhere :confused: )
The files in question will be under the Scenes folder which is automatically created in the same directory as your .chronx file. They are updated whenever you save your project.


Yep that should work thank you! I know how to use dashingdon (I think… it’s changed a lot since I was last on it, I’ll figure it out).


annnnddddd… new problem :grimacing: sorry


scene files cannot contain spaces in their names. (I thought I put a filter on the text box to prevent that. oh well)
I suggest you read up on ChoiceScript itself. While Chronicler provides a layer of abstraction from the underlying CS code, understanding how it works will be extremely beneficial for writing great games!


Okay yes I remember you saying that in the video but also that you said it wouldn’t allow for spaces so when it allowed them I just assumed I was misremembering (as I very often do). Thanks again!


Will 2.0 be it’s own tool? Will I be able to transfer my current project forward to 2.0?


@Xuro Yes, Chronicler 2.0 will be a completely new tool using Electron with the React framework.

I’ve considered long and hard about how to transfer existing projects, and I feel the most clean way will be to import the exported CS code. Since the interface will be so drastically different, much of the data contained in the .chronx file will be unnecessary.

In fact, with the way development currently stands, Chronicler 2.0 might not even have it’s own project files (except undo/redo data). Instead, it will work entirely around the ChoiceScript code itself. The cool thing about this is that you could have the code open in one window and Chronicler in another, and any changes made in the text file will be immediately updated in the editor and vice-versa.

One of the things that many have complained about (and I agree with), is the fact that Chronicler completely overwrites your CS code every time it saves. If it relies entirely on the CS code for rendering however, it can update only the bits and pieces that have changed.

This functionality will be entirely dependent on the compiler which I haven’t written yet. So, stay tuned for further updates. University has kicked back into full swing again, so I might not get much work done on it for quite awhile. :confused:


I’m sorry to bug you again @BenSeawalker but I have found a problem that will probably be easily fixed but I can’t figure it out. this is a part of my story that I have right now and it works all the way until I get to the first choice bubble, then this pops up:

“startup line 44: Expected choice body”

Anything I’m doing wrong?


I am totally useless with that program, at least for now. But with code, to link a choice to a previous choice, you would label the target choice, example “name” and then use a goto “name” to redirect the choice 2 to the previous one.

Maybe the problem is that, you directly connected them and there is an option there somewhere to add labels and gotos?


That may be it, I can’t test rn but I’ll try later.


@Josetrayamar & @Kelvin

The issue seems to stem from Chronicler trying to be “smart” and only generating labels when necessary. It would seem like the best compromise would be to generate all labels regardless of being linked to directly by another bubble. This is something that I should be able to push out this weekend.


Wait, you cant mean that I was right, right? That is a really scary thought, a signal of something terrible about to happen to me! :scream:


Version is out.

I fixed the issue with spaces in scene names by simply replacing them with underscores.

I also reverted the CS exporter back to the old version. It no longer attempts to do anything fancy such as nesting code in choices. Instead, it simply generates a label over every bubble and any links to it perform a *goto statement.

While this code is not what a human would write, it is essentially guaranteed to work no matter how complex the scene.

Chronicler 2.0 should not suffer from these issues. I have much more knowledge and experience now than I did back then, so this will help prevent these dark meanderings into the rabbit hole.

Hopefully this solves the issues you were having @Josetrayamar and @Kelvin

EDIT: Currently only available for Windows. Linux version should be posted sometime this weekend, and hopefully the Mac version as well.

Happy Chronicling!


Just updated and everything is working great! Thank you @BenSeawalker!


I have not used chronicler for while and when i returned and opened one of my projects it keeps just sending me to the play again screen, any idea why that is?


Well, Chronicler is open source, so… :wink:

Nah, just email me a copy of your .chronx file to benseawalker@yahoo.com and I’ll see what I can do.
I suspect it is an order issue in the generation code, but we’ll see.


@spytim is up for Windows. It was as I had feared, reverting back to the old compiler relied solely on the calculated order of bubbles meaning that the start bubble was not always first.

As an aside, the last update made it so the CS compiler no longer generates “pretty” code. Hence why there are labels everywhere. The pretty code had issues where labels weren’t getting generated when they were needed. As a temporary fix I reverted back to the old compiler which simply generates the label and splats the bubble code into the file. Any bubbles that link to others then generate *goto statements for those things. This has the benefit of fixing the last issue, but at the expense of making the code human readable/writable. I’ll release a real fix eventually, but this will have to do for now until that point or Chronicler 2.0.

I really wish I could do more, but this term is perhaps the most intensive yet as we have to finish up our team projects and present them to not only the university but prospective companies that are coming to visit.


Thank you very much. :slight_smile: