[CSIDE] The ChoiceScript IDE (v1.3.3 Now Available — 05/09/2022)

Really just glad to help, and we hope it encourages many more people to try their hand at developing IF with ChoiceScript :slight_smile:


We’re so glad you like CSIDE! I’ve been really excited to share it with other authors, because it’s helped me so much with my own coding and storytelling. I went from just appreciating having all my scene files conveniently arranged, to falling in love with auto-indent (and let’s be honest, the dictionary and user dictionary).

And then I discovered the Console, which is a sort of mad tinker’s dream. The ability to jump to any label and twiddle with my variables while in the midst of play-test was like 100 days of Christmas all at once. :D


Just had an idea…

So what if @Lordirish set up a Patreon (or similar) so people who wanted to could donate in support of the work, and that money could be used in the prize pool for the next CSComp (assuming there will be more)?

There will be another I just may have to take more of a back seat next year due to College. But this is a awesome project that @CJW has worked on for a long time. We back him in what ever comes next.


I think there’s a lot of things to consider. One thing is for sure, and that’s that CSIDE is and will always be free (any future updates included). I’m not sure I’d even feel comfortable giving people “special treatment” via a patreon. That said, CSComp is a good cause, so it’s another watch this space response from me I’m afraid! Good questions though! :slightly_smiling_face: Just a little hard to answer at this early stage.


True, true. Not sure I could manage without it either now!

That said, I must admit I’m particularly fond of the Popout facility when running a test game (which opens a new instance of the game running in a separate window). It’s useful for stuff like comparing conditional narrative, but mostly I just love the ability to Popout and test one option, then close it and Popout again to test the next option, and so forth, before advancing the main game instance to the next major *choice, then repeat again to Popout-test each option. All without having to restart or use any sort of testing code… Sheer bliss! :smiley:


(Walks over to collection of hats…)
(Finds hat labeled “interviewer.”)
(Puts on hat.)
(Removes questions about fur babies – slightly irrelevant at this time.)

  1. So can you tell us what programming language CSIDE is written in?
  2. Who worked on the development of it?
  3. How many hours would you say went into the project?
  4. Any plans on making CSIDE open source (with appropriate licensing)?
  5. Did you make sure to send the code in for copyrighting at https://www.copyright.gov/ (or equivalent?)


  1. Mostly web technologies, HTML, CSS and JavaScript - much like ChoiceScript itself. The match made sense and allowed us to write once and port to near enough everywhere.

  2. The actual development has been done almost exclusively by myself. That said, there’s a good number of various open-source libraries that CSIDE depends upon, built by other (very talented!) people. Two very honourable mentions would be CodeMirror and NodeJS (via nwjs).

  3. I honestly couldn’t even guess. Lots, and then some (and that’s just my time). I’ve come to think of it as a second dissertation, or even a thesis, if that gives you an idea.

4 + 5. It’s easy to open source software at anytime, but it’s a lot harder to re-copyright something, so that’s why we’ve released it under copyright. Once the program finds its legs, and assuming interest grows, I’ll definitely take another look at licensing.


I and the other have spent many countless hours in testing CSIDE. Now take that and time it by 7, or more, and we may have a clue as to the hours he has put into the design and programming of the program.


Follow up questions!
So for those of us who may not know you very well, can you give us a little on:

  1. your programming background
  2. level of education
  3. where you attended University
  4. and what you do for a living?

All that counting gave me a headache and I think it’s a great deal of devotion and dedication that you guys have shown and i think any amount of thanks we would say would not be enough.


1, 2 and 3. Hobbyist web dev for five(ish) years, and I’ll be graduating with a BSc in Computer Science from Lancaster University (UK), in just over a month’s time :slight_smile:

.4. CSIDE… Haha, I will be starting full time work as a Software Engineer later this year.

Don’t forget about the app! I’m not all that interesting :wink:

And, just for fun, here’s a picture of a transition period (CS)IDE - It’s come A LONG way!


First, I appreciate what you’re doing here. Not having a true IDE has been a problem I’ve had with CS since the beginning. For testing in particular, I’m sure it will be invaluable.

###A few issues I ran into:

Initially running the file after installation, there was an error. I had to navigate to the strange path it was installed to in order to run the exe.

Another problem: I can’t test my WIP, because the program tries to run files in the same folder that are not actually defined in startup.txt or any of the scene files, and of course those aren’t syntactically compliant. Could you generate a list of scenes in the *scene_list as you run through the source files, and only test those and the scenes that they call, recursively?

###Less important issues:

I’m not sure if this is a typical Windows 10 design (I don’t particularly like that paradigm to begin with, but that’s beside the point): I find it disorienting to have only buttons at the top of the window, no menus. Especially having things like settings and keyboard shortcuts hidden in a button-tab on the right pane, rather than folded away in menus.

I hate how it takes a full second to change help pages. It’s hard enough to find what I’m looking for without artificial speedbumps added.

The left pane seems like a waste of space. Surely a row of named tabs along the top of the code editor is all you’d need for the scene list, possibly with a scroll bar?

I wish I could resize the panes arbitrarily. I usually want the code editor about 70% of the width when I’m writing, maybe a bit thinner when I’m testing. (The ↔ button seems the ideal place to add such dragable functionality.)

Adding a search field to the help pages seems vital. I also miss the ability to hit ctrl-f to search within the current help page.

I’ve mentioned aesthetics above, but the biggest problem I have with the IDE lies in the code display itself. I find the font used there obnoxious, and not being able to define my own color/font choices and syntax highlighting schemes is a dealbreaker for me. The light theme is the least bad to me, but the font weight is still too low.

Notepad++ may not be perfect, but its user-defined language syntax highlighting system nearly is. Until I can get your code editor looking like this…

…I don’t see myself using CSIDE for anything but testing.

Right, back up the app itself!
A current virus scan of cside_setup_x64_v101 on https://www.virustotal.com/ shows a detection rate of 2/60.
Here’s what was triggered:

Antivirus 	Result 	                                Update
Bkav 	        W64.HfsAutoA.1012 	                20170615
Rising 	        Malware.Heuristic!ET#98% (rdm+) 	20170615 
  1. Are these in fact false positives?
  2. Can you elaborate on the results detected?
  3. Does the app collect or transmit any information at all?
  4. Is there a Privacy Policy or Terms of Use that a general user needs to accept or should be made aware of before installation?

Honestly at this point I don’t think I need to bother asking any questions. I’m sure @Carlos.R will eventually cover everything! lol

Keep on keepin on, @Carlos.R, as dem questions!


My virus software always runs when I install a fresh copy of CSIDE, which over the years has been countless time, and never had a problem with the software.


lol that is a lot to comment on. Give us time to sort through this so we can give you good answers to all those concerns and or issues. However, I will say CSIDE is rock solid at what it does. No it is note Notepad, which I dearly loved for a very long time. But over time and learning the system I would never go back to Notepad ++ as it is now to painful to use. :slight_smile:


Thanks for the new tool.

Is there any way to do a split screen, to see more than one part of the same file at once, or to have more than one file on view at a time?


False positives. If you’re unsure, the app code is on Github: GitHub - ChoicescriptIDE/main - feel free to have a looksie! :slight_smile:
In addition, for the Desktop apps, we use https://nwjs.io/ as a ‘wrapping’ application. This is a highly regarded, and well supported piece of software, whose code is again 100% on Gitub (and based off of Chromium (Chrome)).
No need to worry, I assure you!

I’m really sorry to hear that. Could you let me know what operating system you’re running? It looks like Windows 7 or Vista, which unfortunately, we can’t officially support. The ChoiceScript IDE is installed to your local appdata folder for technical reasons; you can’t write to Program Files, so installing it to Program Files would make it difficult for us to allow you to easily update the application (which was a key goal of ours).

The scene_list request is a reasonable one, and I certainly think that’s a use-case we hadn’t anticipated. A suggestion I can make is to have two separate projects open; one for notes and one for your game?

Long story short, it’s a new application, developed by one person, and whilst we’re open to tweaking what we can to help as many people as we can, there’s always going to be compromises made, one way or another. I hope you’ll consider giving it another try in the future, thank you very much for your feedback! :slight_smile:

Glad you like it, but I’m afraid there is no split-screen functionality at present!


@TSSL What I’ve taken to doing is leaving either a text editor or a word processor (I usually use Open Office for it, actually) open beside CSIDE if I need to look at two scenes at once. Or three, or four, heh. It helps a lot that I can use ESC to quickly toggle in and out of Code-Editor-only view, as well.