It’s been nearly a week now working on a side project to create a narrative text-based multi-choice game using Choicescript. I have one final chapter to work on along with creating an ending and a few other things. For the most part, I’ve kept it quite basic.
With this being my first attempt at a text-based narrative I did not want to have too many sweeping arcs. Something like this can get way out of hand and it’s easy to understand why people never finish these sorts of things.
While it is quite a linear progression system the more important parts for me are getting something out and playing around with something different from my normal main project. In the future, I might consider something a bit more complex while also checking out other types of narrative game tools out there. Choicescript is not the only option and it could be fun seeing what the other ones are like.
For the most part, I’ve found myself using six commands the most. I did not go out of my way to do anything fancy. Sometimes less is more and this is one of those cases. I did not want this to become a server month side project just something simple.
At the start for creating choices for the player to select I was using “choice.” However, that was not ways doing what I wanted and it’s a bit more restrictive. Instead and it sounds quite strange most of the choices are using a less restrictive command called “fake_choice.” While the choices are clearly not fake it appears after doing some research many just prefer using it and I am liking it more and more every time I use it.
Another important thing I’ve kept in mind in using is a “page_break” that triggers the next button for the player to move onto a new page. With this being a browser-based text narrative there are many benefits to doing so. The biggest being a great way to add a little suspense and not spoil things for the player right away.
There are also many instances where using a “page_break” was a cleaner way of having things display. The last thing I want to do here has a giant wall of text all at once when there are not many choices needing to be made by the player.
The more interesting command I’ve been using is the “hide_reuse” feature. It hides any choices the player has already made. This is great when you are using a pool of choices to be selected by the player one at a time. That way I can do something like have the player exploring a room and give them all options upfront. Only needing to send them back to the same set of options with any used ones are now removed.
The last two are simply used to move the player between different sections in a given chapter with “goto” and “label.” You can label different sections and depend on what the player selections from an option it will send them to that part of the story.
With things being a bit more linear I’ve kept up with keeping the player's death more like a video game where you simply respawn at an earlier moment back in the heat of things. It’s also easy to force the player along since “hide_reuse” will remove any bad options that might have killed them in the first place or they have already tried.
While doing that does make this quite the casual narrative game. I’m also not looking to spend a year and have an actual novel worth of content for someone to get through. It’s a bit of a lighter thing and therefore the role of death in it is also light.
I find it annoying when you are interacting with something that is multi-choice and anything you have already selected is not removed. Even more so if you have already died and have to go through a long series of choices again. I tend to not move the player that far back I want them back in the heat of the action.
I have also started to look into deployment options. While at first, I was looking into a free site that is dedicated to just Choicescript narratives. That site is only for those types of creations. After doing some digging it appears people can get them up on Itch. Though there might have been some kind of purge which I’m going to need to look into further.
Itch is a platform I see myself using in a few things in the future. As such if I can gain some experience now getting something uploaded there and set things up. That is going to be a preferred method for me.
I have not attempted to compile anything yet. Barring any major unforeseen issues which could be the case, I’m aiming for late Sunday night to start testing that out.
I have been heavily playtesting as I go as well. So I’m not expecting the automated testing tools that I’ve yet to try out to find many issues if any at all. I tend to catch them as I go. I’m also to the point now where I understand the commands in Choicescript that I use most often that I don’t encounter any issues unless I do something trivial like forgetting to do something.
This side project is now nearing 15,000 words. A lot of this is in thanks to reusing something I’ve done before that was not in this kind of format. While I have done a fair amount of rewriting and needing to add in options or changing outcomes. It has allowed me to springboard quite fast ahead without spending a month or longer on just the writing portion.
Hopefully by next week sometime I’ll make a small announcement if I’m able to get it up on one of the two sites I’m taking a look at. After that outside of any light bug fixes, I’m moving on to other things. There won’t be anything extra add as this will not be generating any kind of revue from people playing it.