[TOOL] Any room for another CS editor?

Hi all, I’m pretty much a newbie with regard to ChoiceScript but not to IF. I was drawn back to COG because of the new contest, but I’ve been thinking about creating a new IDE for IF. I was going to create my own language, but the thought occurred to me that perhaps building something for ChoiceScript games might be a better idea. However, I know there are already several tools for building these games, so would this just be one more extra tool when others work just fine? Also, what are the gotchas about building a tool for ChoiceScript? Are there any issues with Choiceofgames.com? Is there some sort of permission needed or attribution needed?

Sorry for the newbie questions, but I think I could build something cool and interesting - and have it work on many platforms more or less easily. But if there’s not much of a need, perhaps I should build something different.

My goal is to build this and have it work well enough to enable myself to create an awesome game for the new contest :slight_smile:

Thanks for the enthusiasm my friend, but I already beat you to the punch. :wink:

Chronicler is a flowchart designer for CS that generates the code for you, and I’ve been working on it for two years to get it to its current state, so I would imagine that it would be difficult to complete another editor in time for the contest. I’m not discouraging you from trying though, healthy competition is always a good thing!

Alternatively, I’m looking for developers willing to help make Chronicler better.


As for legal issues, CoG has lightly encouraged my efforts, and I’ve kept the program itself open-source. It’s also developed with Qt which is a cross-platform C++ library.

1 Like

I don’t know anything about making one of these, but I like the sound of cool and interesting. I’d hate for you to feel discouraged from the jump. What I think: if you’ve looked at the other editors (I figure you did) and feel like there’s something you could add as far as features or functionality or etc, go for it.

1 Like

If your heart is set on something, do it. You’ll work better making what you want to make, not what others want you to. It sounds to me a little like you just want to build something, anything.
Unless you have your mind set on a really good idea that you really feel fills a gap in the scene, I’d go back to the drawing board. Perhaps, as suggested by @BenSeawalker you could also contribute your skills to helping improve current solutions, rather than rolling your own.

It’s up to you, but as Ben pointed out, it’s not likely to be a small undertaking. The only other thing I would say is that good ideas and good writing make a good game, not good tools. Sure, they can help simplify and generally improve the process, but an awesome idea for a game has to stand on its own two feet, regardless of how it was made!

6 Likes

Sounds like I’ve found my answers. I believe I’ll work on a game using existing tools and if I decide to create something new, it’ll be wholly different from any pre-existing framework. Thanks for the feedback folks!

4 Likes

I like the idea, and I’m looking at doing something similar. As others have said, however, it’s not an easy undertaking and you really want to make sure you’re doing it for the right reasons or you’re going to find yourself in development hell.

My personal reasons for looking at it are more from wanting to understanding the underlying code and developing something that is purpose-built to fit my style of writing. For the former, I am looking at writing library code in languages that I am familiar with to just parse Choicescript into a generic framework that can be used by something else. This makes things like translation between different IF languages plausible in a generic way. For the latter, the way I write tends to be more “code like”, which is not a natural fit for Choicescript proper. An IDE that understands that and can translate in the background to CS would be ideal for me, but probably not a good fit for a lot of other writers.

Just some thoughts.

Something you could add is the click and drag system I told you. I know it will probably be a pain, but from the point of view of a newbie, with ChoiceScript Im totally broken with the amount of code a book can hold, and the errors that may appear from it. And with your tool, althought a bit clearer, on my first attempt I managed to write a page, and thats it, couldnt find a way to put the choices or the “next” button. To make it even more embarrasing, I tried importing a test book to take a look how a complete book would look, and maybe reverse-engineering it to find how to make my book work. Well, all I managed was to save and then open again my “book” again and again. I felt totally derp xD

1 Like

@Josetrayamar I’m not entirely certain what you mean by a “click and drag system.” Also, Chronicler automatically writes the code to produce the next button, namely a *finish statement after any bubbles that don’t have outputs to other bubbles. All you have to do is add a new scene and it will be guaranteed accessible. If you wanted custom text on the next button just add an action bubble at the end with the code *finish [custom text here] without the brackets and link up your end bubbles to it.

Have you checked out the tutorials? There’s links to them on the forum main page and in Chronicler itself on the homepage next to the news and updates. Two of them are video tutorials I made, they’re not the best (slightly outdated), but they’ll get you started. I also wrote a manual as a reference for every feature of the UI.

1 Like

Of course I did not check the tutorials, if I did, then I would be a normal person xD

I should probably just go to your place and chloroform you to mine, then have you teach me until I get it, but yeah, tutorials look faster :joy:

By click and drag I mean, the same program you have there, but just working directly on the final result. For example, to see if I can make myself clear: You go and open Choice of the Dragon online. Then you would select a piece of the text you dont like and write it again, directly, without a flowchart but directly as you would see the book. Then that would be saved as choicescript.

Kinda like the way you would make a form in Microsoft Word

@Josetrayamar Ah, I see. Then it would have a flowchart view as well for seeing the layout of your game. That’s kind of interesting actually, and I can picture how it would look. Instead of bubbles it would be modules that you could drag onto slots on the page. I’ll consider adding it as a feature of Chronicler 2.0. Just gotta get 1.0 out first haha

In fact, a system like that could be easily modified to work with other IF engines such as Twine.

I feel like it could be more user friendly that way. Plus, the change to the system you have now or the click and drag, it could be changed using tabs, for example I could use the flowchart to check how the story flows and possible broken paths, while I would write in the other.

And now that I remember, you want to translate the program? I can help if you want it translated to spanish, but I dont see the point, since all books are in english, so you actually must know english to write them xD

2 Likes

@Josetrayamar, what you’re basically proposing is a WYSIWYG editor, which is actually a really neat idea that I think should definitely be explored more.

On a side note, a project that I’ve been wanting to explore for improving ChoiceScript development is what I’m tentatively calling “ChoiceScript Script extender”, which basically would be a text parser that allows you to add new commands to ChoiceScript without modifying the original code at all, which would function by finding the new commands and replacing them with pure ChoiceScript instead. The main ideas I have for it so far is just a few commands to make working with arrays simpler. For example, instead of this:

*create array_0
*create array_1
*create array_2
...
*create array_97
*create array_98
*create array_99

… You could instead do something like this:

*array_create array 100 value1 value2 value3 etc...

… And the extender would just swap them out.