[Tool] ChoiceScript Development Environment

Well it’s that time of year again!
The time of year where I code crazy ChoiceScript related things… ^^

This year it’s what began as a much needed update to my Online Choicescript Tester and through a number of factors, talks with various people (Dan, Jason - Forum Members), random comments around the forum (people who’ve been using the tester, thank you!), my own curiosity and more - it became the (online) ChoiceScript Integrated Development Environment.

That’s probably a bit of an overly grandiose title, agreed, but it’s about the most accurate and sensible one I could come up with - as this has become a little bit more than a copy and paste code tester.

The new tool has been built entirely from scratch and is less for just ‘testing code snippets’ but more for ‘making choicescript games in your browser’.

Some Key Features

  • Pretty-ness
  • In-Browser (side-by-side) Code Writing and Testing
  • Line Numbers!
  • Highlights and Focuses on Line Errors
  • Tab Support
  • Syntax Highlighting
  • Auto Indentation
  • Line Wrapping
  • Real-Time Variable Tracking & Amending
  • Multi Scene Support
  • Local Saving/Loading
  • Single File Game Exportation

Having said all that, it’s not perfect, it’s actually far from it - I’ve been working on this (or variants of) since September and it’s just now in what I’d call a stable, usable state - so expect some bugs.

There’s a lot more that could be done, should be done and (hopefully) will be done.
Not least is potentially converting it to a full website where you can register an account, store and share code via links (useful for showing examples in the forums), embed snippets on websites and restrict/control editing access, similar to jsfiddle or codepen, if anyone is familiar with those.

Interactive choicescript tutorials are also in the realm of possibility, a simpler version of CodeAcademy’s system, perhaps?

I guess the sky’s the limit really, that or my level of (in)sanity.

At any rate, I hope this proves useful, enjoyable, inspiring and all that!

Please let me know what you think, good or bad and well… Happy scripting folks! ;D

Hosted on:


It looks pretty good! I’ll play with it for a while and tell you if I find any bug.

Hnnggg - it’s got a pretty interface and everything. Time to go play around with it.

CJW has been busting his hump for many months to make this. He really came through with a winning tool for the cs community.
Now you can test simple code quickly. Or jump from page to page to test. Or build the whole thing. Thanks CJW

This looks pretty awesome, but I’m having a small problem both when copying in existing code and writing from scratch.

Not sure if I’m doing something wrong, but the first time I tried to run three different pieces of code (two different startup.txts from my own games, and one small block of text I just wrote to test it), I got this error: “Uncaught TypeError: Cannot call method setStartingStatsClone of undefined”.

Now however it’s working fine, with all of the pieces of code I was testing before (no changes made to them).

CJW gives the best holiday gifts! :smiley:

That’s one sleek interface, and the adjustable tab settings are already much appreciated. I’ll have to get to a proper computer to test it out, but looks promising.

Thanks for the hard work!

WoW Mara happy works nice in android , it could be really must needed to no pc people like me with this no tons of apps are needed. So from non Pc people I give you thanks keep being so awesome…!

Oh wow. This is just amazing. It looks fantastic and so much better than the other one, which I also loved.


You’re a genius. Your save system and your online tester have invaluable now you’ve gone and taken both to the next level.

@CJW wow! This is amazing! Well done :slight_smile:

this is just incredible, it looks good it is good it is well amazing :slight_smile:

I think you may just have been unlucky enough to be using it whilst I was fixing a bug I induced whilst moving it to dropbox - but if you stumble across that error again, please let me know! :slight_smile:

I’m very, very, very surprised and extremely happy that it works OK for you.
I tried it on my own Android phone and it wasn’t behaving very well at all :confused:

Thank you all for the kind words, I’m really glad you all like it… Please, please do get back to me with any kind of feedback - bugs, suggestions, criticisms - anything!

I feel like this could still be improved in so many ways, and, on that note:

At the request of Mr. Anonymous I’ve spent the day implementing LineWrapping.

This is off by default but can be turned on in the settings menu.

Cool it works for androids but depending on the OS version.

Froyo – version 2.2 - Unstable
Gingerbread – version 2.3.3 - 2.3.7 – Unstable
Honeycomb – version - 3.2 – Stable
Ice Cream Sandwich – version 4.0.3 - 4.0.4 – Unstable for 4.0.3 and Stable for 4.0.4 but do not add the 4.0.4 version update as it will render it Unstable.
Jelly Bean – version 4.1.x - 4.2.x - 4.3 – Unstable for 4.1.x an error in androids recognition (I don’t know what exactly is the error) – Stable for 4.2.x and 4.3.

Hope this helps with the android users so they are familiar with the OS of their phones. Its easy to upgrade and downgrade androids memory but i strongly advise not upgrading or downgrading if your unfamiliar with the android as you’ll kill the phone. :smiley:

Thanks for the statistics!
Strange that the OS matters all that much though, it should be more dependent on the browser - I don’t currently have much faith in any tablet/mobile browsers - they really seem to fall face first whenever you start throwing a half-decent amount of Javascript and/or css3 animations at them.

Also works in nintendo 3ds except dont save or load. But yeah i supose im the only mad person to code in 3ds and yes you can, if you are as insisting like me.


when you have the var tab open you can change the variables is that supposed to affect the open game?

Eeyup! It’s quite possibly my most favourite feature :slight_smile:

Just type the new value in the box and hit enter - it works wondefully with strings, I’ve actually yet to try it with integers or booleans - so let me know how that goes (I’ll also get on doing that myself, I can’t believe I didn’t think to check some before! :/).

Oh, obviously you’ll need to load/reload a page (not scene) for it to take effect.

@MaraJade Sorry about the saving, but the 3DS likely doesn’t have a localStorage supporting web browser (they’re not designed for that sort of thing). I’m not sure about calling you mad though, admiringly resourceful perhaps? ^^

i use my gmail count to save code in 3ds. Also i could play almost all demos games betas in 3ds. Nintendo just infravalore his console lol

@CJW LineWrapping makes it so much easier, thanks!

@MaraJade Your persistence is amazing, you are my idol.

I’m actually rewriting the save code, I’ve decided it really needs the ability to save multiple projects - so I’m building slots into it.
I’ll look at falling back to some sort of cookie save for non supporting browsers - the issue is that as I recall, cookies are limited to 4Kb in size, which is next to nothing.

Glad you like it! Though that was actually a suggestion, not my own idea - credit where it’s due.
But if you have any of your own, I’d love to hear them!