[Tool] Chronicler - ChoiceScript Visual Code Editor

Chronicler is a visual code editor for ChoiceScript. It allows you to design your novel in a flowchart layout, and have the CS code generated for you!

Incorporating all the advice from good forum users such as yourself, I am developing Chronicler into what I hope will become one of the most popular tools for both beginner and veteran novelists. Where you can focus on writing your story rather than scrolling through long sections of code.


Chronicler Online Announced!
All further efforts on Chronicler will be directed at the new program. Official release is slated for early next year.
More detailed information here and here.


DOWNLOADS

This version is no longer maintained, it is recommended that you please wait patiently for the new web version.

Before attempting to import an existing project into Chronicler, be sure to make a backup first!

Windows Linux Mac


Mac
Unfortunately, the Mac version does not work on all OSX systems.
I am not certain which systems it does run on, and I donā€™t own a Mac to test it myself.
I cannot offer any technical support for OSX at this time.
However, simply remain patient for the new web version of Chronicler that I hope to unveil sometime this year.


Linux systems
If necessary: sudo apt-get install qtbase5-dev should provide the needed libs.
Chronicler-Next and Chronicler_Updater must both be marked as executable similar to the screenshot below.


UPDATE 4/4/2018 The best way to contact me is through a post on this thread or a private message. Iā€™ve moved on to a more professional email address and donā€™t check my benseawalker one as often. However I do get notifications from this forum when I have the tab open. Thanks for your understanding.

Bug reports or Feature requests may be submitted here.
NOTE: name and email fields are optional, and may be left blank. It is highly recommended that you include your email or CoG forum username so I can contact you if needed.

Be sure to include your operating system, version of Chronicler, steps to reproduce the problem, and as much information as possible so I can resolve the situation quickly.

Bad report: ā€œIt crashes.pls helpā€
Good report: ā€œWindows build as of August 17 2016: Right clicking the background in ā€œScene Viewā€ (ie: where thereā€™s no bubbles) while using ā€œselection toolā€ causes immediate crash with a pop up ā€œChronicler-Next has stopped workingā€. Using windows 10 pro.ā€


Play Testing

Download the ChoiceScript source from here and extract it.

Please be aware that the above link is an older version of ChoiceScript which is known to work with Chronicler. It is highly recommended that you occasionally test your game manually with the latest version which may be found on GitHub

From within Chronicler go to File->Settings and set the ChoiceScript directory to the extracted folder.

After which, you can use the play button on the toolbar to run your game.

As regards to the choicescript_stats page, in the Project tab simply create a scene named ā€œchoicescript_statsā€ with a code bubble in it.


Tutorials

Chronicler Manual

  1. Chronicler Setup
  2. Creating A Project

Written instructions here


Examples

Dragon.chronx



Source code

Github repository

This is the Test branch, and is the same as the posted executables. Beta features are pushed to the Dev branch.
Installation instructions in this post
If youā€™d like to help contribute, send me a private message and Iā€™ll get you setup with our team tools.






Chronicler is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.



Penny for my thoughts?

Bitcoin: 1HehTHv4q5NSXzQCJiEbeQxhjnasEHZwmb
If you donate with BTC, please send me a private message containing the date and amount.

Thanks!

DONATIONS:

@bawpie ................................................................. $10.00
@rinari ................................................................. $5.00
@anonymous .............................................................. $5.00 
@Classified ............................................................. $20.00 

                                                                   Total: $40.00

79 Likes

This is looking good. Iā€™ve not actually downloaded it yet but I will when I decide to get back to writing something.

Youā€™ve done a really good job from the looks of it.

Itā€™s a pity that the HTML5 module is so expensive.

Iā€™d love to hear from someone whoā€™s tried the tool out to hear how it works.

Itā€™s definitely a vast improvement, though I still feel like the interface (everything from appearance/colours to menu positions and behaviour etc) would benefit from some fine-tweaking.
Also a manual or help page wouldnā€™t go amiss (unless I missed this?), I found it rather hard to work out how everything fit together.

Now a question, do you make everything through Game-Makerā€™s GUI or do you write some of the script yourself?
If itā€™s the latter, why restrict yourself to using game-maker? The idea for this app is really good, but I donā€™t personally hold much hope in Game Maker Studio* for applications - if you can code, code - donā€™t be held back by its restrictions (paying for various distribution licenses being one of them!).

*If you were making a game itā€™d a different story of course.

1 Like

@CJW Thanks for the pointers like always. (:

I dislike the color scheme as well, but I couldnā€™t find a balance that seemed to gaudy or to drab. Although I just remembered Adobe Kooler (I think thatā€™s what it was called).

There is some explaining in the ReadMe as well as the example project included in the .zip. For me the interface makes sense, but if someone is confused by it, then I didnā€™t do my job properlyā€¦

Bubbles = story/choices
Actions = perform a choicescript action -> *input_text player_name
conditions = compare variables/values with true and false outputs
Open the example project, and if it still seems confusing, could you explain what is exactly?

You mean the drag-n-drop GUI? The only thing I use that for is to drag the script action in.
The reason I chose game maker is because Iā€™m comfortable with it. Iā€™ve used it for years, and itā€™s kind of my goto program for development. But you make a fair point. I just picked up HTML/Javascrip/PHP/CSS So Iā€™ve been considering building a web version of thisā€¦ from scratchā€¦ againā€¦ Iā€™m also fairly proficient in Visual Basic and good old Java. I certainly could turn this into a web applet making it compatible with pretty much everything, right?
What would your suggestion be?

I really want this to be like your tool, on the web. People can simply click on it and get started without having to download a program from somebody who may or may not be trustworthy.

2 Likes

I honestly think a standard grey/white with black text and borders would be nice, and Iā€™m not a huge fan of the rounded edges on buttons etc (but thatā€™s probably very much down to personal preference!).

Itā€™s often simple things that annoy me, for example I note that you canā€™t right-click and delete a scene unless itā€™s the currently selected one. I imagine this might actually be intentional (to prevent accidents), but I found it surprisingly frustrating myself.
It would also be nice to be able to rearrange the scenes in the scene list, so we can put the active ones up top etc.

Again I do really like the premise, personally I like coding - but a lot of people donā€™t, particuarly choicescripters - so this program definitely begins to fill a void.
However having said that, you still require* people to code at points (for example defining variables), and that to me is a bit of a deal-breaker.

*allowing code is fine, I like that people can be explicit when they need to be, but I think it would be nice if you could produce a good game without so much as seeing a single line of CS.

I donā€™t want to sound like Iā€™m ā€œgettingā€ at you here, pointing out all negatives, it is a really good start and is slowly but surely getting even better.
Iā€™ve been quite impressed with how you seem to be able to take and apply constructive criticism, it seems to be a surprisingly rare quality in programmers.


If you like Game Maker and think it suits your needs, by all means stick with it, Iā€™m not an expert on the program and if nothing else it does seem to be helping you produce it quickly.
Though that does bring me to a little bit of advice, if I may: Time and Patience.

Good software requires a lot of both.


For example: Iā€™ve been working on a massive overhaul for the IDE for what canā€™t be far off a year now (I posted the original web version up on Nov 2013) - and itā€™s still nowhere near finished yet (probably never will be, as far as Iā€™m concerned).
The overhaul is actually doing the opposite to what you want and is moving to Desktop (though eventually I hope to backport to the web).

But my point is, youā€™ve produced what youā€™ve produced in what, a couple of weeks? A month?

Considering that, itā€™s really quite impressive, but youā€™ve a long way to go - if youā€™re serious about this that is.
Just remember that your users will get out whatever you put in, so donā€™t feel like you need to finish and release it tomorrow or next week.
I donā€™t think Choicescript is going anywhere anytime soon!

@CJW HOW DARE YOU QUESTION ME!?

jk jk. XD
I must admit that I donā€™t normally take criticism very well (it usually makes me really depressed). But in this case Iā€™m making something for more than just myself. Besides that, your points are actually helpful, like reminding me about making scenes rearrange-able. And yes, itā€™s been about 3 weeks. Most of that time was spent at work and I did a couple hours coding in the evenings and most of the day during my days off. So, I really havenā€™t spent as much time as I should. I set deadlines for myself so that I can actually get stuff done. Otherwise it sits on my backburner for months until I lose interest. All that to say that I donā€™t feel like youā€™re ā€œattackingā€ me. haha

Iā€™m hesitant to make a totally CS programming-free version. If anything, Iā€™d like people to dip their fingers into the world of programming. It always made me feel empowered to write a bit of code, no matter how simple.
But now that youā€™ve got me thinking about it, I could re-design the variables screen to have a dropdown list or circular carousel menu of variable types, that way you just choose one, then write the name and value. Same with the action bubbles and the ā€œleft textboxā€ on choices.

Time and Patience is good advice, I wanted to get the basic version out asap, then start forging it into something the community could use through their suggestions.

A black and white version with rectangular objects instead of roundrects wouldnā€™t take to long to make. Iā€™ll add it under the downloads list for anybody else who wants it. I didnā€™t even think about people with certain forms of color-blindness so I imagine that would be useful.

Updates will be rather sporadic for the next couple of months, so one thing I would like to implement (not promising tho) is an auto updater so people donā€™t have to keep coming back to this forum to download the latest versions.

^thanks for that (:

As for Game Maker, Iā€™ll use it to continue the desktop version, but I think I will spend a bit of time developing an HTML version. As an aside, what programs/languages are you using for your desktop version?

1 Like

Fair enough haha, and thatā€™s good to know!

I couldnā€™t agree more, and thatā€™s exactly why Iā€™ve refrained from putting anything of the sort into the IDE - but if youā€™re making a GUI system, I think it needs to be a GUI system.

Would it (eventually) be possible to allow for a settings page in which you can select your own colours/schemes from a default list within the application, among other things?


Iā€™m glad my advice is of some help at any rate!
The IDE is actually written in JS and always has been (it just makes the most sense, since thatā€™s what CS is wrote in).

There are quite a large and growing number of frameworks/applications and the package managers that allow you to turn web-apps into (emulated) native apps, such as Chrome, Tide, node-webkit and many more.

Iā€™m currently using the latter, but have used all three throughout development (and found there are many pros and cons to each).

@CJW I fixed those issues with the Scenes you mentioned, and created a launcher app to get the latest versions of Chronicler so you no longer have to return to the forum for new downloads.

As for a settings menu: Iā€™m hoping to have that out by the end of the week.

ITā€™S HERE !!!

https://www.dropbox.com/s/mr9pm0j0ux9d5rw/Chronicler_Launcher.zip?dl=1

The much anticipated (haha) UI update!
^see screenshots above^

As @CJW mentioned, ā€œthe interface could use some fine-tweaking.ā€ I took the advice to heart and did a complete overhaul of everything. And, finally, after countless hours this week, I believe itā€™s ready for public consumption.

The ā€œFileā€ menu is now at the top of the screen. Hover the mouse over it to open.

  • The icons in the center are for the project ā€œModes.ā€
    1. Programmer mode functions almost exactly like the previous version.
    2. GUI mode is the new mode designed to remove the need to type even a single line of ChoiceScript.
      (NOTE: these currently only affect the variables screen)

The Game menu is still on the left side of the screen.

  • The item in the center is your Variables menu.
  • Click and drag on the radial items to bring in their respective bubble.

The Scenes menu has changed the most.

  • Scenes are now in a rotating carousel menu.
  • Click on a scene to switch to it, or alternatively, when the cursor changes to an arrow: click and hold to cycle quickly through the scenes.
  • Double click on a scene to change its text.
  • To reorder a scene: select it, then click and hold on it until a new menu appears. Then, simply move the mouse up and down to adjust itā€™s position. (see screenshot 4)

The color scheme has changed to a darker and softer color palette.

Added a new way to scroll the camera around: the Arrow Keys.

Among the obvious visual changes, I fixed a major performance flaw and cleaned up a couple of minor memory leaks.

Finally: UPDATE TO VERSION 1.3 OF THE LAUNCHER!
1.3 has a much improved UI that the news and changelog view is now based on.
1.3 has progress bars for downloading the latest versions.
1.3 has the ability to update itself

Iā€™m hoping that this update will garner a lot more interest from the community, which has been somewhat underwhelming of lateā€¦ Iā€™m assuming thatā€™s because school has started up again. So I decided to finish this update before the weekend. Give it a whirl! It looks much better in action!

Also, Thank you very much to those of you who took the time to come back and leave a like. It really means a lot. (:

As mentioned above: Please leave any suggestions or bug reports in the comments below!
If this program isnā€™t what youā€™re looking for, let me know why so I can improve it!

UP NEXT:

  • Settings menu
  • Interactive tutorial
  • Completion of GUI mode

Regards
BenSeawalker

8 Likes

Looking sharp. Iā€™ll have another play with it at some point over the weekend.
Iā€™ve also got a macbook, if you want me to try it on that side of the fence?

@CJW That would be awesome! Download the source and follow this guide: https://www.youtube.com/watch?v=nOaXIf3KtDw
or this one if you prefer text
http://help.yoyogames.com/entries/42365238-Develop-And-Distribute-To-Mac-OS-X

Mac OSX doesnā€™t have the YYC, which means the program may take a slight performance hit.

Urg, I just realized that Mac is an extra module you have to purchase. I thought it came standardā€¦
Itā€™s $99 at the moment, but I know it goes on sale occasionally. I should have bought it last year.
Regardless, $99 would be a good investment if we could get this to work. Though, Iā€™m not exactly sure how to get the license over to you if I did indeed purchase it.

Iā€™ll be going to university in a couple of months. From there Iā€™m sure I can find someone with a mac or use one of the ones on campus.

On a side note though, I started on a javascript/HTML version. So, give it probably 6 months to a year and Iā€™ll have an in-browser version up and running. Assuming the community would prefer that

Does this run under Wine in ubuntu? I just tried it, and it said the cabinet wasnā€™t valid.

@Flurrywinde11

I must confess that my knowledge of Linux is a little outdated. Nearly 4 years actuallyā€¦

Try this: Dropbox - File Deleted
This is a direct link to Chronicler, (not the launcher) built using the standard windows compiler rather than the new YYC one.
No guarantees itā€™ll work, but I hope it does. :confused:

Iā€™m assuming you extracted it first (though that should make no difference currently)
It might be the way file names are handled in the launcher. Windows uses ā€œā€ while Linux uses ā€œ/ā€, but I doubt itā€¦

Also, what version of Wine/Ubuntu are you running?

I have to go back home to dig out my old laptop with Linux on it before I can do any testing myself.
I thought about just installing it on my current pc, but I need both of them running at the same time to be able to port it properly.

Thanks for your interest. (:

I get the same error with the old version. A box pops up entitled TestPlatformer saying the cabinet cannot be extracted. I click Ok and another box pops up, also entitled TestPlatformer that says, ā€œExtracting file failed. It is most likely caused by low memory or corrupted cabinet file.ā€

Wine version 1.4. Ubuntu version 12.04.

Iā€™ve modified Wine to run as a special user who has limited access, but other things install and run just fine.

@Flurrywinde11 Ah, thereā€™s a later version of Wine available now.

(These 2 steps may be unnecessary)
Uninstall all currently existing Wineā€™s. (they can conflict with each other)
Install the latest version of Wine.

The problem is with ā€œcabinet.dllā€ that comes with Wine. Itā€™s got a couple of bugs still.

Hereā€™s a copy of the 64 and 32 bit versions I found on my pc.

Youā€™ll have to overwrite the old .dll or redirect Wine to use the new .dlls
The last post on this forum may be helpful in that regard.
http://ghisler.ch/board/viewtopic.php?t=34830

The only other thing I can think of is that it might be throwing errors because itā€™s not a ā€œtrustedā€ program.

Edit: Use this link to run the program. Dropbox - File Deleted
I just realized the launcher uses a couple of windows only functions. :confused:

@Flurrywinde11

Working Linux version is up!

extract it - open with Wine. DONE

parts of the UI are a little wonky (mainly the file open and close boxes) but itā€™s all still functional. (as far as I could tell from brief testing)

Edit: sorry for the 1.2.7 mixup. I fixed a minor bug and forgot to update the Linux version. Itā€™s working now.

It works! Now I just have to figure out how to use it.

Imported discussion from other thread:

Yeah, writing a parser isnā€™t a trivial task. I took a class on it once, and iirc, first you break the code into tokens. Then, on a second pass, you apply the language grammar to those tokens. Lots of chances for bugs. If you figure out the code, let me know. Hereā€™re my notes on it so far:

Idea: run quicktest.html to produce graphviz code of the game.

Found where output is created in editor/embeddable-autotester.js, line 427: log (scene.testPath.join(ā€˜ā€™));

Parse the scene.testPath array to find:

[0]: scene name
[1]: ā€œ,ā€
[2]: line number of text
[3]: ā€œ#ā€
[4]: Choice number
[5]: " ("
[6]: line number of choice body
[7]: ā€œ)ā€
[8]: ā€œ,ā€

Repeat elements 2-8 until whole branch output.


Started to make embeddable-autotesterkk.js which outputs graphviz code instead of quicktest debugging info, but the above array doesnā€™t have anything to use as labels for the nodes. Need to find a way to get those.


web/scene.js, line 127: where body text gets printed
line 399: parse labels in file, put in array Scene.labels, index is label name, value is line number
Scene.prototype.parseOptions: big option block parser function, line 998 to 1215.
Scene.prototype.renderOptions: stats are shown here if debugMode true. line 1281.
Darn, autotester doesnā€™t call these. I was hoping I could put graphviz construction code in these functions.
For now, use autotester to make the graphviz nodes. That seems do-able.
Later, perhaps look at randomtest.html, as it may keep track of variables. Maybe it can be made to parse each node, not just a random one?


[quote]As for tracking stats, youā€™re thinking of CJWā€™s variables feature, correct?
I hadnā€™t thought of it, but a built-in CS tester would be be rather nice.
[/quote]

No, CJWā€™s shows what the stats are while youā€™re playing the game. What Iā€™d like is for the tree structure of the game be able to show what different values the stats have down different story branches.

@Flurrywinde11 Thanks for the hints, I looked for quite awhile at the different js, but couldnā€™t find anything particularly useful.

So, you want to be able to choose a variable(s) and then Chronicler will follow the paths of the game, highlighting the paths where those stats matter, and displaying their values next to all the relevant text bubbles?
Thatā€™s certainly doable. Iā€™ll add it to my features list.
For right now itā€™s not to difficult (depending on the length of your adventure) to simply follow the routes visually and tally up all the ā€œ*set [var]ā€ actions.

Iā€™ve tried to make Chronicler as easy as possible to use.
Hereā€™s the rundown on the basics since I havenā€™t updated the readme in awhile.

^ Moved to Main Post ^

Edit: New example project, ā€œDragon Introā€, added in the launcher .zip file

Chrome stoped the download and said the program was malicious. Should I be concerned, and if not, how do I download it.

New version looks great! ā€¦ And I have a new computer now, so I can actually run this with no problems :stuck_out_tongue: My only issue (for now) is that you should add keyboard support for zooming. My touch pad doesnā€™t have scroll capability at the moment, so I am unable to zoom at all.

@FSketchy, unfortunately with new programs, such as ones created with Gamemaker Studio, they are flagged as false positives by Chrome and Antivirus programs. It isnā€™t actually a malicious program, itā€™s just too new, and Chrome is notoriously heavy handed about this kind of thing. Your best bet to download it would be to just use another browser.