[Tool] Chronicler - ChoiceScript Visual Code Editor

@BenSeawalker It’s probably the forum settings. I know they’re set so posts can’t be edited after a certain length of time. I’m not sure how long that is though, or why.

If you tell me what you want changed I can do it for you though.

@FairyGodfeather
That’s rather annoying. haha
It appears to be about 1 month.

In any case, I simply wanted to delete the section at the bottom stating that Temp Variables are broken, as they are now working. As well as Programmer vs. GUI mode: under File Menu

It’s not a big deal, but thanks for the offer.

Do I need to be considered a “long time user” for forum edit privileges? I was planning on using the topic post as the main hub for info and updates. I don’t want to have to request admins to do the editing for me. Perhaps I can add a new post each month and you can link to it in the topic post?

Alternatively, I could simply host my own website. However, with the way our internet acts, I couldn’t guarantee that it would be up all the time.

I don’t know. @Reaperoa knows most about how the forum software works.

The forum trust levels aren’t so much long term user as they are read a bunch of posts, log on almost every day, like a lost of posts, view a lot of topics. I don’t know if that trust level lets you edit posts for longer though. It’s far more time consuming to achieve, and then maintain than just asking for a post to be edited.

Is that the two changes you wanted? If I did it wrong I can redo it.

Yea, there’s a cap on how long users can edit posts. I thought it was 3 months, but it looks like 2. Post in January, last of your edits in March, right? Might be us not using the standard, IDK, I’d have to look for where that information is. What I do know is that there’s a limited way to selectively alter that.

I can change your post so that it’s consider a ‘wiki post’, and it should stay editable forever, but the downside of that is it editable by everyone (well, everyone with a basic account, which takes about 10 minutes to get). On the other hand, we can just put in an warning to people to not edit the post (can even do it without it showing up in the post by putting it in <Angled Brackets> which parse like HTML, 'cause apparently that got changed on me). The amount of genuine a-holes (pardon my french) that would vandalize a post is pretty tiny here, and all revisions are saved so we can just go back to a backup. Just @me if that’s cool by you.

As for FYI on user trust level (just in case you wanted it): You can check out the actual Discourse Meta, but the short is
TL1 (The Basic Badge): Are you not a spambot? No? Good.
TL2 (The Members Badge) Do you show more than a passing interest in the community? Yes? Good.
TL3 (The Regular Badge) Are you reading everything to the point where you’re aware enough of everything going on for us to give you limited modding privileges? (This is the badge @FairyGodfeather is talking about, and is the only one you can lose after gaining without a Mod/Admin directly intervening.) Unfortunately, the privileges don’t include unlimited self editing, otherwise I’d give you the badge myself. The closest it comes is allowing you to change the name of (all) threads (and categorize them). Not exactly helpful here.

1 Like

@Reaperoa
Awesome, thanks for the info. (:

I feel that changing it to a “wiki post” would indeed be for the best. I’ll keep backups on my pc, so I can simply overwrite any trolls. Which I doubt there will be many, and I check this forum nearly everyday.

@FairyGodfeather
Yes, that’s perfect. (:

Can you edit it now?

Also if someone does go trolling it let us know.

I am very much in love with this program. Thank you for creating it.

If I ever make a game with this I will have to remember to send you a courtesy fee as proper thanks.

@FairyGodfeather Yes, I can edit it now. Thanks much! (:

@From_Beginnings Haha, thanks. :blush:
Just simply credit will do, and perhaps a complimentary copy of your game, if you wish. (:

It still needs quite a bit of work in some areas. Which leads to the upcoming features list:


UI

  • "Colored Import"
  • Imports CS projects with randomized (or selectable?) colors for sections, so that it is easier to manage immediately after import.
  • An update of the CS Stats Screen editor.
  • I wish it to look exactly like it would if you were viewing it in-game.
  • Improved Connections between bubbles.
  • Perhaps a way to prevent overlapping?
  • Difficult to do without a major performance hit…
  • A rewrite of the entire drawing algorithm.
  • will take a lot of work, and some systems may not be able to run it, so must implement it in a toggleable way.
  • → performance increase of over 500 fps.

System

  • Rewrite of the CS Generation code.
  • A method to produce CS that looks almost like a human might have written it.
  • Complete overhaul of Variables.
  • A lot of effort went into making variables switch between GUI and Programmer modes. However, since the removal of Programmer mode, this has become an unnecessary and complex burden on both the system, and myself.
  • → performance increase when saving / loading projects and switching scenes.
  • Complete overhaul and cleanup of the entire program
  • Probably best to get this out of the way sooner rather than later…
  • (Further explanation on post 97)

User Suggestions

  • Options Menu
  • "Variable Following"
  • A way of highlighting all bubbles affected by a certain Variable or Stat.
  • Plus a display of it’s maximum and minimum value at each stage of your game.
  • GUI way of inserting functions
  • A popup menu displaying a complete list of available CS functions.
  • (I feel this is somewhat unnecessary after the implementation of “code completion”)
  • Splitscreen view of project, and generated CS code
  • A more comprehensive and visual way for novices to learn CS programming through Chronicler.
  • Though, only really viable after the CS code generation update…
  • More hotkeys for navigation
  • Allows the user to use the keyboard rather than switching back and forth between the mouse for more rapid development.

I’m sure there’s more, so feel free to suggest them. I accidentally deleted my .txt list I had going, and this was all written from memory…



In other news, University classes start on Monday. Until I know what the workload is like, I’m putting Chronicler development on hold. Not that I will do nothing with it, just that it will become more of a hobby than the full time “job” I’ve had the last couple of months. Updates will most likely be sporadic and few until June, when summer break starts. I will thank you now for your patience. haha

The good news is that I will be meeting new people who are also interested in Software Development careers, and I am hopeful that I can bring a few of us together to form a dev team. Meaning much swifter Chronicler development, as well as beginning work on new programs / games!

Regards
-BenSeawalker

The act of saving the project seems to break it. When I just open an example project and save it as is then re-open it I get this error and the project is forever corrupted:


#################################################################################


############################################################################################
ERROR in
action number 1
of Create Event
for object obj_ctrl:

File is not opened for reading.
############################################################################################

@Kabe_Miller Are you running the Windows or Linux version?

I’m also assuming you extracted the examples first? The “File is not opened for reading” usually means the file doesn’t exist, is in a .zip, or has read/write protection turned on.

Does Chronicler itself crash immediately upon load? If so: goto “appdata\local\Chronicler” and delete “settings.ini”
tutorial on how to get to appdata: https://www.ableton.com/en/articles/access-hidden-folders/

(This is a bug I forgot about and will try to fix this evening…)


I personally haven’t experienced any corruption errors during save/load, so I recommend checking the above mentioned suggestions, then get back to me. I don’t have internet where I’m staying at the moment, but I do while I’m on campus, so I probably won’t be able to reply until tomorrow afternoon.

@Kabe_Miller Is it working now?

I looked at the code, and it does indeed check whether or not the file exists before attempting to open it. The only thing I can think of is that the file is “locked” and therefore unreadable (This would very likely be caused by Antivirus software). Or, you are running the Linux version. Which, sadly, has known compatibility issues… (as well as being a little outdated)

Could you perhaps relate the steps you took exactly, so that I can attempt to replicate the problem?

Today, Chronicler has officially received 100 downloads!

Furthermore, I am pleased to announce that Chronicler was used by someone (other than myself) at least once per day since February 28th! (Not counting offline uses)

Just wanted to say thanks for all the support, testing, and constructive criticism! The ChoiceScript community is awesome, and is the main reason I stay motivated to continue working on Chronicler. (:

As a status update, I haven’t had a chance to work on Chronicler for the past couple of weeks. Full time university work is insanely time consuming compared to College level…
I’m currently taking mid-level C++ classes, and am really enjoying it. As such, I am seriously considering rewriting Chronicler in C++ rather than continuing to use GameMaker. The awesome thing about C++ is it’s portable and can be built on Windows/Mac/Linux/iOS (but not Android, sadly).

This will be a massive undertaking, but I feel it will result in a more stable product.

Does the community think this is a good use of time? Or should I continue doing what I’m doing adding new features?

6 Likes


I opened up Chronicler, then imported my game NOT made in chronicler. This was the error I got right after clicking the file I wanted to import. if I click ‘abort’ then the game crashes. If I click ‘ignore’ then the screen pops up again. If I click ‘clear’ then the objection goes away,but not the ‘Code Error’ prompt and when I click ‘abort’ it crashes.

Is this error due to my game having bad code, or maybe due to my not doing something that’s normally optional?
Thanks.
By the way, I have used chronicle a bit and while I haven’t used it extensively, it seems pretty handy. It’s definitely useful to be able to view the strings attaching every bit of your story rather than having to scroll through lines and lines of code.

hmmmm…

Well, I have no way of replicating the error without seeing the imported code that caused it.

Would it be possible to PM me a stripped down copy of the project? (just replace all story text with “SAMPLE TEXT” or something. The important part would be how the logic was handled.

Does the error pop up right away, or does it take several moments? (That will help narrow it down)

In your game code: move all *IF 's and *SELECTABLE_IF 's down to the same line as the #CHOICE they’re related to. That might solve it.
That was one element of the parsing I had particular trouble with, as the indentation for those statements could vary greatly.

A big problem with GM:S is that I can’t implement my own error handling for problems like this. Normally I could just catch the error and show a much more helpful error message without having to shut down the program…

Thanks!

Odd… I just came to report the identical issue. I too coded outside of Chronicler (Notepad. I don’t know why I do that to myself.)

And I think I have a possible solution. All you must do is to simply put “*finish” at the end of the startup.txt.

But because I’m me, I came across another issue: out of memory. I’m assuming that this can’t be fixed though…

@Gevaudan
That’s interesting. I’m 99% certain I don’t have any extra special code to handle “finish” (it just treats it as an action bubble), but it does give me a place to start debugging.

As for the out of memory error, I suggest you remove scenes in “Scene_list” until it imports. (You’ll have to recreate those scenes manually though…). The way it currently works means that it only uses that much memory during the import. (I’ll look into a workaround for that.)

btw, could you post your system specs, specifically how much ram you have.

Thanks for using Chronicler, and sorry for the issues you’ve been having. (:

Edit: for outside coding, I recommend @CJW’s IDE or Notepad++. (I believe there is a syntax highlighting module for CS available for N++)

Version 1.4.2 available!

  • Fixed “Data structure with index does not exist” error.
  • Scenes can now be imported individually.

@GreenRover and @Gevaudan

I was able to track down that error you’ve been experiencing.
I’m not entirely certain why it happens, but I have treated the symptoms. Will look into it further when I have more time.

1 Like

@BenSeawalker

Just to clarify: the examples and the other files embedded in the folder work (and very well!)

Haha I imagine that mine doesn’t work because it’s a little experiment I’m performing to maximize variables… and it only served to turn the code into a tangled mesh of cause and effect. And the fact that I’m still fairly new to ChoiceScript doesn’t ameliorate the experience.

@Gevaudan
That should be more than enough memory. I was thinking you were still in the dark ages with 526MB like my mother’s PC. XD

Does the error it produces say something about “stack overflow” ?

If so, then it is an incredibly annoying limitation imposed by GM:Studio. I use recursion to parse the code, and GM:S crashes if its run more than 35 times (on my pc, it does vary). Users have complained about it since Studio was released, (since previous versions of GM had no problems) but still either no answer or extremely vague allusions from YOYO.

Anyway, for you, the fix would be to simply use more “goto” statements rather than nesting so many "if"s and "choice"s.
(what is the deepest indentation level in your CS code?)

Good luck with your projects! Hopefully being able to import scenes individually will clear up some of the issues. (:

Version 1.4.3 Available!

Fixed a crash when loading older projects. Also fixed incorrect loading of variables.

Fixed Variable Refactoring:
Now, the refactoring only takes place when you close the variables screen. As many of you probably noticed, if you named a variable “n”, then attempted to change its name, all the n’s in your bubbles would be changed as well… This is no longer the case.

Finally, I added a rudimentary edition of the new CS compiler. The CS code it produces is in a more human-readable format. However it does still have issues, so I have not integrated it fully into Chronicler yet.

To use the new compiler: Press “Save As”, you will be asked if you want to use the new compiler. Choosing yes will set the new compiler flag and Chronicler will use it for the remainder of the SESSION. If you wish to continue using the new compiler after closing Chronicler, you must use “Save As” again.

One of the main issues is that Chronicler has a difficult time following your project chronologically. I considered just checking the vertical position of each bubble, however, that doesn’t work for code that doubles back to a previous section… Currently, it uses the order that the bubbles were created in. But this does not work if you created a new bubble, and inserted it into the middle of your timeline, rather than adding it onto the end.

I will keep looking into it.

Don’t be afraid to point out bugs, flaws, or improvements that can be made! I’m just a single person and can’t think of, or see, everything! (:

2 Likes