[Tool] Chronicler - ChoiceScript Visual Code Editor

@kaellok Thanks for your feedback. I was unaware of that crash bug while simultaneously editing and deleting rows. It makes sense though, I’ll look at it as soon as I can.


There is indeed an autosave feature. In fact, you can see its notifications on the bar at the bottom.
The file->settings view lets you configure how many backups it makes before it starts overwriting them, and how often in minutes it makes an autosave.
The autosaves themselves can be found in the “backups” folder which is created in the same directory in which you saved your .chronx project file.

I recommend that once you find the backup you needed that you use save-as to overwrite the actual project file, else you are just overwriting the backup file.

I intend to add the ability for Chronicler to detect backup projects and force you to use save-as with them in the future.


I recently posted two tutorials on YouTube explaining all the various features of Chronicler. It has been noted that the second longer one is a bit boring though haha. Links can be found in the main post.

Just playing around with an idea here. It is possible to embed another program as a widget in Qt. My thought is that I could embed Notepad++ with ChoiceScript syntax highlighting as the sidebar editor for story and code bubbles.

What do you guys think? Is this something that would be desirable?

I assume this would only work on Windows?
I don’t know though, probably not. I think I’d prefer to just have the option to link and open a file externally in notepad++, from within Chronicler. If that makes sense? Same way a link opens a browser.

3 Likes

Makes sense. I also looked at Qt’s tutorials for creating a code editor, and found that you can add your own syntax highlighting, line numbers, and anything else necessary for ease of development. I think I’ll go that route as it still allows me to have the autocompletion of variables and any other features I might add in the future.

1 Like

This [Alpha Testing System] (http://choicescriptdev.wikia.com/wiki/Practical_Scripting_Techniques#Local_Alpha_Testing_System) article is absolutely brilliant.

I plan on implementing the debug game option this way. The modified code will only show up in debug mode, when building your game in normal mode it will be clean.

I have yet to implement the Start Here bubbles yet, but I promise to get started on it within the next month or so.

4 Likes

Glad to see you still at this, keep up the good work. :blush:

1 Like

@SiROSTRiKE and I will definitely be glad when this is finished.

I regret not majoring in programming since I might have learned choicescript faster if I had.

Keep up the good work.

2 Likes

Thank you for having this program out there! It’s made me able to go right into writing my novel and has enabled me to understand the code behind choicescript easier. I was waiting a few months for CSIDE which I understand is in development by another one of the authors here but he is waiting to release it still. This has filled the void I needed after cursing at the screen and figuring out how to manage a ton of text files in a proper order. I love it and thank you!

I’m having the same bad label problem that another user illustrated above thread with the screen shot. I’m new to this so I’m not sure if it is me or if I ran into a bug. I’m trying to return to a selection screen if someone wants to choose a profession. Keep getting bad label when trying to return. Oh well. I’ll figure it out or ask elsewhere here.

Your program rocks!!

1 Like

@Tool Well, reading the following post, the error occurs when there is a *goto to a label that doesn’t exist. I feel this is a problem with my automatic label generation. The fix (for right now) is for you to simply add your own labels to any bubbles with more than one connection leading into them.


I plan on rewriting a lot of Chronicler’s subsystems such as how bubbles function and breaking everything up to follow the model/view architecture rather than have both the drawing and the data defined in one place.
I also plan on doing a complete rewrite of the CS import/export features. I’m ashamed to admit that they are actually worse in many ways than the old version of Chronicler haha.
Once I’ve improved the stability and fixed the numerous crashes people have mentioned, I’ll move on to implementing new features. (I think I’ll go ahead and add the CS debugging before I do that though)

Thanks for your interest, and do check out CSIDE when it’s released, it looks awesome.

  • BenSeawalker
2 Likes

Thank you for such a prompt and full reply! Yes, I watched the full two hour YouTube video about the CSIDE release. I’m still going to check it out! However, your visual representation plays to my strengths. I can arrange the story abstractly and through ordered screen files but that is far more difficult for me to manage.

Yes, I spent two hours yesterday working backwards from that list of common problems. I felt I made progress in understanding how the code works but was still unable to solve my problem.

I’m trying to have my character choose a profession.

I’ve accomplished having all the skills/stats/text for specific classes set when selected but my problem is returning to the profession selection label

*choice
#You are a construction worker
*goto conwork1
#Choose again
( first I tried just *goto profession1)

Then I decided to try out if statements after getting pronouns and text to appear where I wanted when a variable appeared. I was jumping for joy when I got this to work. So then I tried:
So then I created return to label and scene variable.
*create return_to_scene
*create return_to_label

Assisgned them"" values

Did the set command
*set profession = “construction”
*set profession = “choose”

choice
#You are a construction worker
*goto conwork1
#Choose again
*if profession = “choose”
*goto profession1
elseif professoom = construction
*goto conwork1

My spacing is off and I’m typing this out on my phone. I know it’s not correct code but I’m trying to illustrate what I’m attempting to do.

Am I on the right track? I just want the option of going backwards and selecting another class if the person wants.

@Tool I’m not 100% certain what all you are trying to achieve, but this might help.

*label choose_profession
*choice
    #Construction Worker
        *comment assign variables for Worker stats here
        *goto are_you_sure
    #Architect
        *comment assign variables for Architect stats here
        *goto are_you_sure

*label are_you_sure
You are a ${profession_name}.
Are you sure this is what you want?
*choice
    #Yes
        *goto continue_story
    #Choose again
        *goto choose_profession

EDIT: Example Project

Screenshot:

1 Like

I’m just trying to go back to the choose profession label if someone wants to choose another profession instead of their first choice. My original attempt resembled what you posted above but I kept getting a bad label error so I thought I had to do if then statements. A chronicler version of the example would be fantastic.
Then when I get home from work I can tackle it right away. Thank you again for your program and the assistance thus far. It’s made me feel very competent, very quickly.

That should help. I’ll work on the project and then post a screen shot of the code if the function does it work as intended. I may have been making things more difficult for myself.

Thank you!! That solved the problem. My connection backwards was wrong!

1 Like

Well folks, today is apparently the anniversary of when I signed up for the CoG forums.
I did so to publish the very first version of “Tinker” the precursor to Chronicler.

It has been an amazing journey these past two years working with an awesome community, so give yourselves a congratulatory pat on the back, you earned it! :slight_smile:

Final exams end on Thursday after which I plan on dedicating at least a full week to Chronicler development.

4 Likes

Geez… Has it seriously been two years already since you released Tinker? What the flood happened? Did fall into a coma no one told me about?

Seriously though, Chronicler is awesome, and keep up the excellent work!

2 Likes

Good luck on your finals! Mine are on Thursday and Friday this week as well. I’ve been making steady progress and chronicler has been a big part of that!

I have run into another problem though and any visual illustration of how to return to a label after a scene jump in chronicler would be really useful.

I’m able to goto_scene correctly but I’ve not been able to return to a specific label in the start up. I keep getting a bad label error but I’ve correctly labeled them.

Any help or clues would be greatly appreciated.

Ah, that’s because Chronicler doesn’t generate labels unless there is more than one connection to the bubble with the label. I didn’t even consider the goto_scene directive. I’ll make that a top priority fix this week.

1 Like

Version 0.9.13.6 is up.

I managed to (hopefully) fix the crashes that occurred when saving after deleting bubbles and copy/pasting.
I also made it so it the ChoiceScript compiler generates a label if said bubble is referenced in a *goto, *gosub, *goto_scene, or *gosub_scene. Furthermore, it now offers code completion when using either of the “_scene” directives with labels from the specified scene.

Next up is implementing the CS debug testing.

4 Likes

That’s badass! I was encountering that the other day and was gonna bring it up. Now, I don’t even have to since you read my mind.