[Tool] Chronicler - ChoiceScript Visual Code Editor

I found the files in Wine’s local settings/application data/Chronicler folder of all places. That’s not the folder I told it to save to!

I had given up any hope of ever writing an IF game until I saw this. I’ll go start writing up story ideas now. :slight_smile: Thank you so much for making this.

1 Like

@Mirabella Aww shucks… :blush:
It’s little comments like that that make it all worth it. (:

Go ahead and write your ideas down, but I suggest you wait till I release the 1.3.0 update on Friday or Saturday before adding them to Chronicler.

(ALWAYS KEEP BACKUPS OF YOUR PROJECTS!!! CHRONICLER IS STILL IN BETA!)

@Flurrywinde11 That is… odd…
When I tested it in Ubuntu 14.04.1 with the latest version of Wine (from the app store, not terminal) it saves exactly where I tell it to. Maybe uninstall Wine and reinstall it from the app store?

Here’s what I finished on 1.3.0 today:

  • Window resizing
  • Color picker for text bubbles
  • Ability to duplicate bubbles
  • More hotkeys. (as suggested by @Flurrywinde11)
  • Autosave once per minute (+ detection if Chronicler crashed)
  • Rudimentary undo/redo system (needs a little more work)
  • New file saving and loading system. (no more having to individually save each scene!)
  • Automatically loads the last open project when starting up
  • A couple of bugs that caused Chronicler to crash

I’ll be busy all day tomorrow, but I’ll release it as soon as I improve the undo/redo system.

1 Like

Version 1.3.0 available!

See main post for instructions on new abilities.

Edit: I would like to run some stress tests, so if you would kindly post your system specs (just the processor is fine) and what your lowest FPS and Zoom level (located in the window header) are in the updated Dragon Intro example. It should average out to around 240 FPS, if it dips below 225 for an extended period of time during normal use, let me know.

Dual 1.6 Ghz processors for me, and I got an fps of 10-25. LOL. Zoom level 1.

Still saving in same place, but no crashes. Maximize and resize worked!

@Flurrywinde11 I’m assuming that’s due to Wine. Afraid there’s not much I can do about it at the moment though. (Since I’m officially a starving college student lolz)
I want to make this as accessible to as many users as possible, but that takes time and money, not just time. haha

I got an average 225-235 with zoom: .25 on my old core 2 duo laptop from 2008.

Have you tried installing Windows in VirtualBox or VMWare? There’s a good chance it’ll run smoothly in a direct windows environment rather than emulated with Wine.
These are the official Microsoft .iso’s.
Windows 7 Home Premium 32Bit: http://msft.digitalrivercontent.net/win/X17-58996.iso
Windows 7 Home Premium 64Bit: http://msft.digitalrivercontent.net/win/X17-58997.iso
Installation Guide:
http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_install/cannot-find-digital-river-download-site/66a8439b-0d16-4b70-92f7-1c8486a46ebf

(also, has this low framerate been since 1.3 or in previous versions as well?)
Also, is it even possible to type into the text boxes while running that slowly? I’m sure the animations look horrendous. XD

No worries. It’s fine with me if that’s where the files go, but it sure is odd.

I installed VMWare once, but it was unusably slow on my ancient machine.

What is this digitalriver place? It’s not Microsoft and yet Microsoft officially says the .iso’s are legit. Weird!

The low framerate was in 1.2.8 as well. Hovered around 13, but typing into the text boxes is fine, no lag at all. The animations are slow, though. Glad you didn’t mean it to be that way!

Good to see the colour picker in there, I think that makes a world of difference.
I didn’t quite understand your Mac related post though, is it possible for us to run it (or not), before you get the license?

@Flurrywinde11
DigitalRiver is a licensed distributor of Microsoft products. I thought it was a little odd the first time I stumbled across it as well.
Glad the typing is okay, I’ve got a way to make the animations smooth regardless of framerate. I’ll probably release that in the next update.
I ended up inventing my own way of parsing CS code. That’s probably the one thing I love most about programing: endless ways to solve a problem!
Regardless, I was inspired by some of your methods, so thank you very much. I added your name to the credits in the main post.
When it’s done I’ll comment the code better and include it separately in the “source” download. Maybe it’ll help you out with your parser. (:


@CJW
Thanks (:
Sadly, no. I have to purchase a license first. Which is totally fine. I’ll get around to it when Chronicler is officially completed. For right now, you can just use Wine.
I actually managed to run OSX in vmware the other day. So it’s possible that I can just use that for building the project, rather than a physical machine. I have no way of testing it at the moment tho. *shrugs

edit: I just realized the version I have on Steam includes the Mac module. (weird)
The only problem is that it doesn’t use the new compiler, meaning it will run significantly slower…
Furthermore, you have to be on the same LAN for GM to recognize the Mac machine. Maybe Hamachi will work?



- UPDATE -
I finished my own version of a CS parser!

I tested it out on some (purposefully) terrible CS code as well as the Choice of the Dragon source ( https://www.choiceofgames.com/dragon/scenes/startup.txt ). and it loaded all the appropriate data just fine. I don’t mind admitting that I am quite proud of this achievement. (:

The only thing left is to turn the imported data into the appropriate bubbles and arrange and connect them in an orderly fashion.

So, expect the ability to import already existing CS projects in the next update. (probably)

For those interested in how it works:
I eventually decided the best way to parse the code was to simply break up the process into smaller steps.

Iterate over each line of CS and replace it with a “dictionary” object containing the “type” (e.g. “text”, “choice”, etc…), the indent level and the raw CS.

Iterate over this new list of dictionaries and further refine them. (e.g. If there are two or more “text” lines in a row, combine them into a single “bubble” type.)
When it comes to a “choice” object, it recursively breaks all the data contained in each choice block into their proper components and stores them in a “data” section for that choice.

Sort the list into a format better suited for Chronicler. Such as shifting “bubble” objects down the nearest choice object. (when necessary)

For the next steps, I believe it would be best to create the actual bubbles and assign them the proper data, then worry about arranging and connecting them.

2 Likes

I’m in no rush, but I would have given it a quick whirl and posted some more feedback for you had it been available natively. Not to worry though.

Are the ‘action’ bubbles still text set, i.e. you type in the commands and parameters yourself?
Again I feel like saying a GUI system should be 100% GUI (add programmer extras by all means, but you should be able to avoid them).
It’s no good if people can write 90% of their game without coding if they still need to know how to code for the other 10%, if that makes sense?

Ideally I think you’d select an action (and sub action where necessary, e.g. set -> subtract) from a list and then enter constants or select from a populated list of variables (so you can’t refer to one that doesn’t exist).

Something to aim for would be a program where someone wouldn’t have to know a shred of CS to make a fully functional CS game.
Now that would truly be something (and I don’t think you’re too far from it).

Also, any word on a settings page (I didn’t see any mention yet)?

1 Like

Oh yes, that is what I hope to see too (I can code, I just really don’t like it, and yeah, it trips me up in Choice Script). :blush:

@CJW & @JTAL
Yes, actions are currently still “type it in” only. I have it on my list of features to add, but honestly it was set to a lower priority until I went for another UI revamp in v1.4.0. Clearly there is a demand for it though, so I’ll try and get it in by v1.3.5.

EDIT: I’ve thought about a settings menu, but since the UI overhaul, I’m not entirely certain what kinds of options to even put in a menu like that. Maybe a light vs dark color scheme? Font Size? Custom CS actions for the code suggestions box?
Idk that was all I could really come up with.

My idea for how to achieve this is thus: add a button on the left side of actions and conditions. when clicked upon, it opens a popup menu displaying a collection of all the actions available.
Conditions will have 3 tabs or sections. One for each part.

This will in no way force you to use the GUI or vice versa.

Because of this, I’ve decided to do away with “programmer mode” entirely. In favor of a “synchronous dual mode”.

I believe that a code suggestions box ala Visual Studio (or any decent code editor) will be most useful as well.
Pops up when you begin typing and pressing TAB will autofill the selection in for you.
like so:

I’m also thinking of implementing variable refactoring. (e.g. if you rename a variable in the variables screen, it searches through your whole game and replaces any mentions of it with the new name. This will include in-text references such as ${var_name})

Anyway, those are the plans. I’ll hold off on the CS import in favor of working on the GUI. Give me about a week. I just got my books in and have to study for entrance exams.



When I woke up this morning, I was struck with an idea: What if Chronicler was a suite of tools rather than just one? The first thing that popped into my mind after that was a Character Background Generator/Editor. A large text box for any relevant background info, as well as a section for listing traits, abilities, etc.

If I do turn it into a generator, I’m going to need someone(s) to volunteer to write up a series of character backgrounds ranging from tragic to tranquil. These can then be modified by different stats or traits that the user can pick from drop down menus. I could write these myself, but they wouldn’t be very good I’m afraid. My fiction writing is a little rusty…
Any submissions will, of course, receive the appropriate credit. (:

Does anybody have any thoughts on this? Would it be useful?
Is there any other story authoring tools you use, or would like to see in Chronicler?

1 Like

Thank you so much for doing this, just don’t burn out, you hear. :relaxed:


Character Background Generator/Editor? As an aid for Chronicler, to help keep track of things? Is that what you mean?

No other ideas at the moment, but if anything crops up I will take out the weed-whacker, er, let you know. :grin:

@JTAL
No problem. (:

Here’s a background generator. I want mine to be a bit better, although I do like this particular story it generated:

She’s scornful, dauntless and skillful. But this is all just a facade, a mechanism to deal with her disturbing past.

She was born and grew up in an average family in a developing town, she lived without worry until she was about 5 years old, but at that point life changed.

She destroyed someone’s life by accident during a rebellion and was becoming an outcast. While persued by strangers she had to survive in a crazy world. But with her wits and perseverance, she managed to survive everything and conquer all fears and doubts. This has turned her into the woman she is today.

With a new chance at life, she now works on meeting new, kind people. By doing so, she hopes to be released of the haunting memories and finally find happiness she has never had.

So yes, I want a screen, (or maybe a separate program?) that allows you to create and keep track of all the characters in your game. Besides a backstory section, there will also be sections for physical and mental traits. (and maybe a place to upload a character image?)

http://writers-den.pantomimepony.co.uk/writers-character-profile.php
this one is rather amusing as well. XD

This character is a wolf in sheep’s clothing. They have a winning smile. They were educated by an offer on the back of a cereal box. They were adopted. Their parents were tree huggers. After they left to seek their fortune they looked for meaning in a bottle. Now they live on a boat.

1 Like

Ah, I see. A character ‘generator’ could be a good kick start for (my) imagination. :grinning:

As long as it is fully editable, of course – I don’t know about others, but these sites can sometimes help shake up my imagination and spur new ideas (even totally unrelated to what is produced there). :grin:

1 Like

Hey folks: So, I’ve been thinking that it would be better to unlink choices from text bubbles and make them into a separate “choice bubble”. Would this be useful in any way?

State your opinion, or simply like this post if you want it implemented.

I like the sound of it. Makes it clearer, if you will, and no doubt easier to overview as well. I am a visual person (or so tests say), so it would benefit me personally at least, so I say, go for it. :grin:

I definitely think this is better. Personally, I found mousing over the choice tabs and having them expand was a little awkward, plus if they were in their own bubbles, you could identify and inspect them at a glance, instead of one at a time with mouse-over. You should be able to visually walk through your story without interacting with any of the bubbles, aside from scrolling of course. The more you can see at a glance, the better.

The people have spoken. So may it be.

lolz

@stainedofmind Agreed, expect it in the next update.

This’ll be better for importing CS projects when I get around to finishing that as well.

So, I was thinking of stacking choices vertically, like you would see them in-game. That would mean the links would have to be on the side of the bubble instead of the bottom. I’m uncertain as to whether that would lead to sort of a disconnect with the rest of the interface tho? Guess I’ll just implement it and see.

Perhaps implement ‘choice bubble links’ coming out the side as a toggled option, at least in the background for testing purposes until you can decide if it is feasible or not. Offhand, I’m not certain which way would be better, or if having choice bubbles link to the sides would break up the flow or not. In the end, if they don’t flow well out the side, you can still arrange the bubbles (by default) vertically, and simply calculate how much room a ‘link’ would need as well.