[Tool] Chronicler - ChoiceScript Visual Code Editor

Just checked something, only my second scene (after a *goto_scene) has that problem, everything before that point updates normally once I hit play

1 Like

@Loriela Interesting. I was just about to reply that Iā€™m not experiencing the problem on any of my test projects. Also, this shouldnā€™t matter, but what OS are you using?

I might actually know what the problem is, and am currently working to fix it. For some reason, disconnected bubbles donā€™t always get processed by the compiler. If the part that isnā€™t updating is a section of the scene that isnā€™t connected all the way up to the start bubble, then that might be the cause.

You say it does work the first time your start Chronicler though? If that is the case then the above mentioned issue is likely not the culprit.

If you donā€™t mind sharing your work, you can email me the .chronx project file to benseawalker@yahoo.com and I can take a look at it. Otherwise I canā€™t really offer much more tech support.

1 Like

I was able to reproduce the issue mentioned by @Loriela and it seems to be due to Qtā€™s builtin webview. My plan is to change it to open your game in your default web browser instead.

Version 0.10.1.3 is up.

I fixed the issue mentioned by @Loriela. Turns out it was simply an issue with the webview being overzealous with itā€™s caching. So, I disabled caching completely and it works. As a potentially positive side-effect, it seems like itā€™s also loading the stats screen correctly now!

I also fixed a bug in the updater wherein it would ask you to update even if files for your OS were not available yet.

4 Likes

Amazing work the past several months since Iā€™ve posted! Looking over the posts, I have a suggestion that relates to the problem as well as something that had bothered me as well.

Chronicler can already create a backup folder, but perhaps instead of a single backup folder, rename it to Chronx Projects and have the files and what is needed to make each launchable on its own instead of overwriting the original Choicescript folder.

This would forestall problems that have or may crop up with people who work on multiple projects.

@Moonie_Leitmotif Thatā€™s a good suggestion. Iā€™ll get on it as soon as this term is over in 3 weeks. Absolutely swamped with other obligations at the moment Iā€™m afraid. :confused:

Your nigh immediate answer and reason leave me with no choice but to go

Yaaaaaaaaaaaaaaaay

I trust in you, you have solid stuff and school comes first to be sure. Thank you~!

1 Like

Hey there!

First of all: GREAT job with the program. Just phenomenal. I love the visual aspect of it and that alone really helps design a proper game.

However, Iā€™m having issues with the choicescript_stats file. You state (at the beginning) to create a scene labeled choicescript_stats, which I did, but it still doesnā€™t work. So I go into the file and I look at what it shows and I see this:

"
*finish
*stat_chart
text idiocy
text intelligence

"
Yes, line 1 is empty, then *finish starts on line 2.

Iā€™m not super familiar with the CS code yet, but Iā€™m pretty sure the *finish isnā€™t needed and even when I change the text file itself, it simply reverts back every time.

What gives?

Thanks!

edit

When I say ā€œit doesnā€™t work,ā€ I mean that when I click ā€œshow stats,ā€ it shows nothing other than ā€œreturn to gameā€ button.

2nd edit

I figured it out!!

I didnā€™t link the green ā€œstart hereā€ bubble to the code bubble. Once I linked it, it worked! LOL :slight_smile: Dang that was driving me nuts. I seriously spent hours trying to figure out ā€˜wtfā€™.

Not sure why I didnā€™t think about it sooner. #facepalm

1 Like

Haha, glad you got it sorted. As soon as I get some free time I plan on rewriting the CS compiler/import. It badly needs work.

As you noticed, any bubble without an output automatically gets a *finish bubble. Also, all scene files get rewritten when you save your project, so any manual changes will be overwritten. Iā€™ve considered various ways to combat this, but canā€™t think of any really good/foolproof solutions. So for right now any changes must be made inside Chronicler itself.

1 Like

Ahh, so even though the green startup bubble doesnā€™t have text, if it has no output, it is granted a *finish? Interesting. :slight_smile:

Also - I cannot reproduce this and Iā€™m not entirely sure HOW it happened, but I was going back and forth between the program, browsing the web, and other things on the PC, only to come back to Chronicler and see that every link I had created had vanished.

It only happened once, though, so I donā€™t have any clue what might have caused it. :frowning:

Suggestion:

  • Allow conditional bubbles to have multiple if statements within it - or - a new bubble-type that can have separate if statements, doesnā€™t require a false link (because it will simply go to the next statement underneath it), but then is required to be completed with an *else.

I have a scene that I want to use for ALL of my gosubs (for organizational purposes). Currently, I have to create an *if True, then it links to that sub_scene, but if false, then it links to another if statement, which then does the same for the ā€˜nextā€™ sub_scene check. Each time I add a new subscene to it, I then have to unlink the ending *else *return, then relink it after the newer *if statement for another sub_scene ā€” if this makes any sense at all?

If there were a bubble that wasnā€™t a ā€œchoiceā€ bubble, but simply required multiple *ifs and ended with an *else, we could simply add a bunch of those ifs, link to those proper bubbles, and be done with it.

Thoughts?

Thanks for the response, btw!

@Necromateur Thatā€™s a good suggestion. I havenā€™t been happy with the way condition bubbles work. So making them like choice bubbles is a great idea! Iā€™ll add it to my todo list.

1 Like

@BenSeawalker

Hello, thank you so much for developing Chronicler, it makes coding so much easier and has really motivated me to keep working on my project. :slight_smile: I was just wonderingā€“is there a way to use the *disable_reuse command in a choice bubble, or is that something that will have to be coded in a code bubble? Just thought I would checkā€“thank you!

@rinari Indeed there is! It appears that I didnā€™t include it in the automatic code completion, but you should be able to simply type it in the textbox of the relevant choice. The sytax looks like this:

Where you must be sure to include the hashtag character before the choice text. This is something I need to add to the manual as I completely forgot it was a feature. I do apologize.

Iā€™m glad Chronicler has been able to help you! Thereā€™s some big changes planned that Iā€™m excited to announce, but I need need a bit more time to finalize them before sharing.

2 Likes

Ah, thank you! It was the hashtag that I was forgetting, doy! :sweat_smile: It works like a charm now, thank you so much! Excited to hear about the changes to Chronicler when youā€™re ready to unveil them, but for now I really do love it the way it is! :slight_smile:

1 Like

Alright folks, Iā€™ve came up with the first mockup design of the Chronicler 2.0 interface!
Obviously colors and shapes need some work, but let me know what other kinds of improvements could be made.
The icons next to the Story, Choice, etc. tools will be their respective icons in the current version (Illustrator just really didnā€™t like vectorizing them).

For the new design Iā€™m really trying to go for quick navigation, and an interface that resembles how your game will look while you are editing it.


As for additional features that are difficult to present visually or are missing from the mockup:

  • There will be links to parent nodes that connect to the current one.
  • Choices that arenā€™t yet connected will have a + icon to allow you to add a new node or link to an existing one.
    • Similarly, conditional statements will allow you to embed actions or link to new/existing nodes.
    • These icons can be clicked on to open them in the current tab, or shift+click to open in a new tab.
  • Easily customizable themes for the interface written in CSS.
  • A new CS compiler/interpreter will allow for on-the-fly interpretation of your game. This means that Chronicler will be able to simulate the routes taken to get to the currently selected node, and can provide you with the combinations of variables. (No more manual guessing in the ā€œdebug bubblesā€).
  • More and better keyboard shortcuts. (F5 to debug and Ctrl+F5 to start the game from the beginning for example)

  • Perhaps the most controversial change is that the flowchart view will no longer be editable (or at least not to the extent that it is currently). Instead it will be automatically generated based on the connections in the nodes. You will be able to scroll around and navigate using either the mouse or keyboard, and can quickly zoom in to edit bubbles and zoom back out to see the big picture.
    For keyboard navigation, it will be mainly based on the arrow keys. The down arrow will go to the first child, the left and right arrows will cycle through children, the up arrow will go back to the parent node. The Ctrl and Shift keys will be to zoom in and out, and the enter and/or tab keys will enter the highlighted node for editing. While editing a node, the esc key will take you back to the flowchart view.

How will this be accomplished? Well, I havenā€™t fully made up my mind yet, but Iā€™m leaning heavily towards Electron which is essentially a way to make web apps into native desktop apps. This will give me all the glorious powers of HTML5, CSS, and JavaScript, not to mention all the tools and libraries that come with those technologies. This will greatly speed up UI development which has been the most time consuming thing to do with Qt. Going the Electron route also means that I will no longer have to rely on others for generating the Mac builds, and automatic updating will be a builtin feature.

For the new CS interpreter, https://pegjs.org/ looks like a very promising scanner/parser generator for JavaScript.

Another issue with Qt is that the version of it I am running is now deprecated. Many things have been changed in the latest version, and it would take a significant amount of time to update my existing code to work with these changes. In fact, this issue has caused problems with the Mac version of Chronicler.


Let me know what you think about the new interface. Suggestions and criticism are most welcome!
-BenSeawalker

14 Likes

Iā€™m sorry to be a downer, (and Iā€™m not sure if itā€™s an issue with my computer) but the program seems to be full of bugs.

The label thing on the top of the bubble doesnā€™t seem to work, so I ended up using code bubbles for all my labels.

Random ā€˜gotoā€™ functions appeared, even though there was no link between the two bubbles and I hadnā€™t added a ā€˜gotoā€™ myself, leaving chunks of the story unread. Iā€™ve spent hours trying to figure out how to remove it within the program without heading straight to the code and removing it. Itā€™s incredibly frustrating. (and I still havenā€™t figured it out.) If I edit the code using notepad++ and then try to import the thing in, the game doesnā€™t even run.

Is my version outdated or something? Itā€™s 0.10.1.3.

I was really excited about this program. Iā€™m kind of disappointedā€¦

@orzazel Youā€™re not being a downer. :wink:
However I canā€™t provide much support without seeing your project file. I can take a stab at guessing though.

  1. The labels on top of bubbles are only generated if more than one connection leads into them.
    (Iā€™m aware that this causes issues with manual goto statements.)
  2. Iā€™m not certain what could cause the random gotoā€™sā€¦

Essentially the way Chronicler works currently is that it requires you to use the link tool for all connections. I know this can get frustrating when bubbles are particularly far apart. Also, every bubble in the scene must be connected leading all the way back up to the start bubble.

Just remember that Chronicler is still in Alpha state, and I am aware of several bugs. Some of the bugs are not necessarily bugs, but confusing design implementations from the users perspective. Fixing some things breaks othersā€¦ Iā€™m only a single person, but Iā€™m working as hard as I can when Iā€™m free from other obligations. :slight_smile:

Finally, ChoiceScript is a very obtuse language, and therefore difficult to parse. Hence why complex projects may not import correctly.


Having said all that, Iā€™ve started work on Chronicler 2.0 see this post where I get more into the details. I believe the new interface will take care of all the issues you mentioned as well as being far more user friendly and less buggy. Iā€™m also planning on writing an actual ChoiceScript compiler which will make CS export more reliable and should allow for even the most complex projects to be imported. Expect to hear more news regarding development within a month.


If you donā€™t mind sharing, go ahead and email your .chronx project file to benseawalker@yahoo.com and I can take a look at it.

I apologize for not being able to do more at the moment.
-BenSeawalker

2 Likes

I would suggest, if you think its ok, to make it inverse, f5 to start the game again and ctrl+f5 debug. You know, for that ā€œrefresh pageā€ reflex? xD

1 Like

@Josetrayamar Or perhaps I could add a settings page that lets the user customize all the shortcuts.

1 Like

Well, you should know what you can and cant do with your skills. I am definitely donating some money once I get paid xD

2 Likes