Side Project | Part 1. Taking A Look At ChoiceScript And CSIDE

in Game Development3 months ago


Being 14 months into my main project I have been in the mood for a side project giving my brain a bit of a break and exploring some other things. Like what I assume most game developers struggle with I have an endless amount of things I want to do and games to make. Most of the time I keep those other game ideas locked away in a box. I don’t know who gave me the key to open the box, but, I pulled one idea out.

Over the weekend I was doing a various amount of research on an array of topics and one of them briefly mentioned narrative game tools. More specify something called Choice of Games among others. I have wanted to take one of the old unfished fanfictions I’ve written about in the past and turn it into a text-based multi-choice game for fun.

I also did not want a side project that would be insanely involved as my main project. While I want to learn some new things and do something different at the same time. I did not want to spend too much time or energy doing so. This seemed like the perfect fit for what I was looking for and it was like the universe dropped it into my lap.

Choice of Games is a company and platform that hosts multiple-choice-based text games written in their program called ChoiceScript. While the standards are quite high and they are more focused on experienced writers for both Choice of Games and the user-generated games under another program on their site I thought I would look into it anyways.

Not to mention what I want to work out would be considered to fall under something they are looking to host. They still make available for free ChoiceScript to make your own game. This is more than fine for me since I’m not looking to meet the 60k word requirement and other things to apply to host the game through them.

ChoiceScript for the most part appears to be quite simple and straightforward. They have a couple of pages worth of examples and code their programmer has for making a game. That is about it.

I also found it interesting they recommend using something like notepad. It’s clear from their documentation and how it’s all set up this is more for writers wanting to tell a story in multiple-choice format.

Seeing as that is the recommended format I first gave it a try in notepad. They give you a basic working example that loads into a localhost webpage for you to play around with and test. Once you are ready to go you just start modifying the already provide notepad files.

scene list.png

Some of it was just filling out basic information like the title of the game and who it was made by. The bulk of their programming has you use asterisks and the number sign. The most important and annoying thing to deal with in notepad is the indentation that it relays.

Each chapter in ChoiceScript based text game is its own notepad file. So the hardest part of getting started is just learning the flow in how to get everything within a single chapter to work right. Doing that in notepad was a bit frustrating.

ChoiceScript page.png

More times than not I would have a couple of choice options and some story to go along with them. I’d go run the web application to see how I was faring and it would kick back an error regarding indentation. Even when everything looked perfect if there was some space anywhere unaccounted for it was throwing you an indentation error and a line. Counting lines in notepad no thanks.

While it seemed cool it felt like I was missing something. I dug through the couple more pages of documentation in more detail than the first pass I did. In doing so I discovered there was a member made code editor that provides a bit more of a friendlier coding environment called ChoiceScript IDE CSIDE.

Interestingly enough a screenshot of CSIDE was what sparked my interest in ChoiceScript at the start of it all when I first heard about ChoiceScript. I thought that was the program and not a community created code editor instead. In either case, I was glad to finally find a more suitable environment to work within.

editor settings in CSIDE.png

There are some nice features CSIDE comes with. Such as an option to enable “smart” indentation. While I butt heads with what it wants to indentation sometimes as it does not always seem that “smart.” It at least gets it right when I need it and resolves how picky ChoiceScript is about indentations.
CSIDE working on my story.png

It also allows you to have a side-by-side work and test environment. This comes quite in handy as I’m still trying to learn exactly what I can get away with and how to do what I want it to do. Hopefully, soon I won’t be running so many manual tests as I build confidence in moving forward and can go with auto testing features after getting a lot of things done.

As far as the fanfiction story itself. It was never intended to be a multiple-choice story. So there is still a bit of addition to the storyline and some major revisions that will need to be made into this format.

I’m also quite new in having to think about things in terms of a branching story unfolding for the reader. Thankfully this is one not of those brutal multiple-choice text games where the wrong answer on every single question results in the player having to start over from the beginning. The universe that this is taking place in does not follow the standard rules of death. Which is just added fun on my part.

I also have some other things to still look into regarding ChoiceScript. There is a website made by one of their community members that allows you to upload ChoiceScript games for free. While there are a lot of games on Choice of Games the company that created ChoiceScript they have higher standards and are publishing the works as a for-profit where up to 25% of the royals flow back to the creator. Which what I’m working on at least for now would not qualify to do so.

Final Thoughts

life support is failing.png

This was quite an unexpected turn of events over a weekend. ChoiceScript was nothing more than a single slideshow in a presentation I was watching on what seemed to be totally unrelated to such a topic. It however intrigued me enough in wanting to start a small side project that I jumped on it.

I still have quite a lot of work to get done on this project. I’m not even finished with the first chapter of around six I’m thinking. Once I get up to the learning curve for this and stop making some basic mistakes I should be able to get a lot done in a short time.

I may or may not consider uploading the finished project once I’m done. With it being a fanfiction of a game I played and my personal experience I do need to be a little careful. If I can put it up for free somewhere which it sounds like I might I’ll at least check that out as an option.

There are also some other popular narrative game tools out there that I might look into as well once I’m done with this project. Narrative text games can be quite a fun space that is more about telling a story than other elements of making a game.

Other Posts:


Screenshots were taken and content was written by @Enjar. Screenshots are from notepad, ChoiceScript, and CSIDE.


You almost 😅 convinced me to do the same. I remember the times I had huge amounts of time playing with excel making turn based games.

This look pretty dope for sake of simplicity.

Will try to pay attention if you release something. Otherwise feel free to tag me for a trial or testing.

It’s been fun so far with what I’ve tried out.

You can keep it quite simple or add some complex into with a stats page and text input boxes. There is just enough to let you got a bit overboard but not to much.

Wait a minute! Isn't the side shuffle supposed to be easy?

This is easy in comparison to the monster.

Yikes!!! You work too hard, oh, wait! This is playing at working. Carry on!

Shared on Twitter.

Congratulations @enjar! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You received more than 100000 upvotes.
Your next target is to reach 110000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out the last post from @hivebuzz:

Feedback from the March 1st Hive Power Up Day