what is a choice script game? (somewhat vent)

Hello, So I was trying to develop an inventory function in my game that would display any items the PC (Player character ) has picked up, However after trying for hours I haven’t found a solid yet simple solution, which made me realized I don’t think I quite understand the limitations when it comes to using the choice script and my vision for the game.

I have tried to casually look if there is any forum that discusses this but I haven’t found anything which I would deem helpful to me personally, this is probably more of a “vent”, like trying to understand what is a choice script truly is

Thus I would like to ask some questions to have a better clarification on what I feel confused about , please do note, I am merely a novice when it comes to this choice script language, so my questions might already have an answer and I didn’t know due to not searching Enough

First, should I be focused on building a simple game with some features like say stats and focus more on the choices that lead to different outcomes or a game where it feels like a game with a lot of game related features? I don’t think I quite understand the demographic that is centered around this amazing community, like are they more readers or gamers? Would they prefer a blend of both?

Second, Can I add music or some sort of music to the game? If not then why? I feel like certain moments with musical affects would make it more impactful to read or is that disastrous to reading?

Third, what limitations you have personally faced and you think, other authors shouldn’t focus too much on?

Like for me example, I have placed limitations when building a comprehensive inventory function with a lot of slots ( each slot storing an item), I wanted PC to be able to read the item’s description like a normal game whenever they click on the item in their inventory, I have tried to display the items but I haven’t found a solution, this is likely because of a beginner but I also don’t know if veteran authors have found a solution for such a thing

Fourth, What sort of mindset should an author have while writing Thier game?

My mindset initially was to make an rpg, like those games like dragon quest, final final fantasy or even Undertale but in text form, but I think I had too broad of a term when it comes to that, thus I initially had plans for features that might just make the game too repetitive to play using texts, I don’t know if people would be interested in managing a business inside an entirely text game afterall.

Also I don’t currently process any means of digital transactions due to still being a minor and personal issues, so I can’t purchase the novel- text games based on this choice script to do more “market research”, If you have any recommendations or threads please do share, that would help me understand

Fifth, what should I do to make a choice script game that people would enjoy?

I might think I have good ideas but I wouldn’t know if I don’t know my audience, my readers, I feel a sense of lost, I have read some forums here, which were helpful, like say fairygod feather’s masterlink forum for beginners, but I still feel lost more so because I think I don’t have a definite aim on what I want to achieve with my game, I already have a story I want to build, but I am uncertain about the game aspects of it,

I am lost on how to make it blend together, like alone shrouded in darkness but that’s probably because I tried to write this game all alone without much help except the basic explanation on how certain things work, I have read multiple times on some forum how the community is pretty Active and helpful which I think I neglected to utilized that so far and ask for help when I needed to, thus even though I have made progress with my game, I feel like I am walking in the dark night all alone, without knowing what direction to go to and what to expect

Sixth, what would I gain from a choice script game if I decided to publish it?

Sorry, if I sound like a person who is more interest oriented, but due to personal reasons and future dreams, I have to think such a way, while I do enjoy writing and reading, I also hope to earn something from it, even if it’s some bucks, yes I am also interested in earning money from this but that’s mostly due to me initially treating this project as a way to gather the starting funds for my future projects before I turn into an adult this year, but I am uncertain now, I have read a forum where it went into how much one could earn from making a choice script game and they said to treat it as a hobby or side project due to how low it could be, but I don’t mind that, even 250$ would be enough for me, as long as I can afford a PC before I start learning other aspects like programming for my future projects.

But I am uncertain on how much I would earn from this endeavor, I am uncertain if I want to even make a choice script game now, I love writing but the extra gaming process feels like a burden to me as an author, especially since I am only using an Android phone to make this game

Anyways sorry for this seemingly long vent like question thread, I am mostly posting this here because I am confused and lost on what I want to do, initially in the beginning treating this project as the key to funding my other projects, hopefully someone would be kind enough to guide me but I don’t know if this would be removed due to how it’s written, but hopefully not


As well as having a look through the various tutorials (I messaged you with a selection of links a little while back) I think you may benefit from playing the published free Choice of Games games which will give you an idea of the scope and structure of these games. Here’s a list of the ones that are currently available for free:

Revenue from these games varies a huge amount but you may be running before you can walk - focus on figuring out what you want to make before worrying about how much money you might get from it.


Something you’ll learn writing a game in ChoiceScript is how to write a game within parameters. My (freelance) design work is in tabletop so that’s what I can speak to. I’ve written for different systems. Each system has its own requirements. Something I’ve learned to do is to first get an understanding of the core mechanic of each system and figure out what the systems can do rather than what they can’t. This is a very valuable skill.

There’s nothing wrong with saying “I want to make THING” and then asking “How can this system/tool help me make THING?” But, the hazard of that approach is that sometimes the answer is “It can’t” or at least not to the way you’re imagining.

But to give my very amateur opinion on your questions…

One: Instead of asking “what do the people want?” pick an audience you know well (aka people you actually know). This audience can even just be yourself. Write for that audience. You can make it less niche in the editing phase if you need to. Writing to ‘demographics’ leads to very generic work, in my experience, and is less fun to create overall (unless the ‘demographics’ and your personal tastes overlap heavily).

Two: I don’t think ChoiceScript allows music? Someone more familiar should chime in.

Third: This is deficit thinking. You’re focusing on what the system can’t do rather than what it can. Instead, what are the features of ChoiceScript that get your mind running with ideas?

Four: This varies, but I point back to my answer to One. Pick an audience you know well and can interact with. What would they enjoy?

Five: See One again. It may seem narrow, but if you write something real people you know enjoy, often people you don’t know will also enjoy it.

Six: Experience.


The free games have been mentioned already, so I would also read as many demos as you can from published games. Most of them will try to give you an idea of their game’s scope and expanse.

There are also hundreds of WiP threads with demos that you can both play and look at their code to learn how the author did something.

Take advantage of all the “free” demos out there, and you might even want to give the authors feedback and engage with them in a discussion about their games… this is a great way to learn.


It can be, yeah. It is also my understanding that music and screen readers don’t mix well.



and while it’s great to think about earning money from your game, focus on creating a quality experience for your future readers first. If you make a game that resonates with players, monetization becomes a secondary concern. :person_shrugging:


Wow that’s a lotta questions. I recommend using the search function as a lot of your questions have already been discussed elsewhere and then come back and ask specific questions if still needing more clarity :slight_smile:

As for your inventory question. There’s quite a few ways of going about this. If you just need a list, you can make one similar to what I’ve shown below and put it in the stat menu. The *if statements hide anything the player doesn’t still have in their inventory (just make sure to change the state from “yes” to something else like “no” or “lost” etc to hide it again.) But it’s not the only way.

If you want to say “arm” a weapon out of what is availabile, you can use another variable for example: `

What weapon do you want have ready in your hand?
    *selectable_if (bow = "yes") #My bow
      You select the bow.
      *set armedweapon "bow" 
      *goto next

    *selectable_if (sword = "yes") #My sword
      You select the sword.
      *set armedweapon "sword"
      *goto next

*label next

You enter the dark forest ${armedweapon} at the ready in case of trouble.

When you’re learning choicescript I highly recommend building a shorter simpler game to start with. Will it be a best seller? No. But you’ll learn a lot and be more likely to finish it and get less frustrated than struggling with something that’s 300k long and tracking a tonne of variables. You don’t even have to release it through HG if you don’t want to. If you want to have a look, I have a number of mini games that are generally too short for HG that I’ve put on itch. (Although remember you can’t sell or ask for donations for games on itch without a contract with COG to do so which probably isn’t worth it for small games written for fun.) https://jaciaa.itch.io/

There is more info in other posts and the linked wiki also. CS is not designed well for sound effects. If you want that to be a major part of your game I recommend learning twine instead.

Very broad question with too many answers to count. If you have a specific issue, posting the problem on the boards will usually bring someone to help.

That’s a question only you can answer. You have to decide if you want to write something you will be happy with, or something that will be popular if the two don’t match up. Popular CSGs usually have several “needs” that have to be included to hit the popular generas, styles and tropes. Recommend doing a search on the forum as many topics on this. Also bear in mind writing a super long, fantasy game full of romantic options, using a branch and return format and a blank slate MC won’t guarantee popularity, so personally I think particularly as a first game you need to write something you will be happy with in order not to get really discouraged.

Just a reminder if you want to publish with HG you’ll likely need your parents on board.

Otherwise many games on itch.io are free.
Delight games app I think still has a free version.
IfComp archives has years worth of games in various platforms from choicescript to parser.
Search “free” on the HG/COG/HC omnibus
The majority of WIP games on this forum.

This list although a few more free games have been released since it was made.

See point 4

Through HG? A potential audience and the possibility of some revenue. $250 is not an overly high goal. Many games will earn that although nothing is certain as it depends on how well the game is received and if it’s released as ad supported or paid. Personally as a first game I wouldn’t make monetization your primary priority. If you enjoy making it, then any income from it becomes a bonus. It is extremely hard to make a full time living out of writing CSGs and only a couple of authors seem to be managing it (and they’re the top level popular ones with large followings on site like patreon), if you need the money foremost, it’s more reliable and you’re likely to earn more getting a part time job instead (age allowing.)


Just realised I missed this. You definitely can use a system that does this but you’ll need to build the code for it from scratch. It’s do-able but far tricker than a straight inventory like I listed above. You need to decide exactly what you need for it. Choicescript is not really set up for that sort of easy hover/click to get a bubble up or reveal a description. Again twine or another system may be better. You really need to know exactly what you want as you can build a lot of things in choicescript, it’s just whether you’re working to its strengths, or trying to find a way to work around them to make it do something it’s not really innately designed for (which requires more coding knowledge and I’d be wary of trying to do too much of this when just learning as you may end up with a mess of bugs to pick though instead.)

Descriptions: If they’re not too long, you can do what I have in the above example. Otherwise you can add a choice at the bottom of the page with *if statements hiding anything the player does not have in their posession for example like:

   #Learn more about the items you carry. 
      *label checkitem

      Which item do you want to inspect

         *if (sword = "yes") #The sword.
            The broadsword has seen many battles and is a pitted and notched in places but is still sharp and useable.
            (Provides +2 damage when used against enemies.)
            *goto checkitem

         *if (necklace = "yes") #The golden necklace.
            The chain of the necklace appears to be made of pure gold. An intricate charm carved with a spiral pattern is threaded onto the chain and could only have been made by a master craftsman. It gives off an aura of magical protection.
            (Provides protection against fire based magical attacks when worn.)
            *goto checkitem

         #Return to the main stats menu
            *goto stats

Slots can be made in a myriad of ways. If you want to only let the player carry one thing of each class (ie one weapon, one armour, one helmet etc) you can have a variable for that.

In the startup menu
*create weapon “none”
*create sword “no”
*create bow “no”
*create spear “no”

In the game lets say you have no weapon, then if the player comes across a random sword they can easily pick it up. If they already have a weapon they’ll need to drop it first.

You find sword by the side of the trail. It has been abandoned and you can take it with you if you choose. 

   *if (weapon = "none") #Pick up the sword
      You pick up the sword.
      *set weapon "sword"
      *set sword "yes"
      *goto walkon

   *if (weapon != "none") I discard the ${weapon} I carry, and pick up the sword.
        You discard the ${weapon} and take the sword with you.
         *if (weapon = "bow")
            *set bow "no"
         *if (weapon = "spear")
            *set spear "no"
         *set weapon "sword"
         *set sword "yes"

         *note you may get away with not having to have variables for sword, bow and spear if you can only carry one item at a time and you'd just use the weapon variable.

         *goto walkon

    #Leave the sword be and continue on.
      You walk onwards. 
      *goto walkon

If you just have a maximum amount you can carry you may be better off having an “itemnumber” variable. Everytime someone picks up or drops an item, *set itemnumber +1 or -1

You can then stat check if they can pick up more. For example.

*if (itemnumber = 5)
You’d like to pick up the gem but are already overloaded.

This is where it gets a bit tricker. If I was going to do it, I’d probably build a gosub routine with all the possible items that the player might be carrying to allow them to drop something on the spot ie:

#Leave the gem alone.
*goto next

#Discard something you carry then pick up the gem
*gosub itemdiscardcode
*note write a gosub routine this directs to to remove an item from the inventory.
You discard an item you carry which allows you to take the gem with you.
*set gem “yes”
*set itemnumber +1
*goto next

You could do it via the stat menu but it adds a layer of potential bugginess as changes there don’t stick unless the player advances a page in the main game so I’d be reluctant to change something like an item pick up/drop via that as it could create game breaking bugs pretty easily. As you can see, the more layers you add to try and change a choicescript game from a personalised novel/CYOA book into an RPG, the harder it can get to code. Not impossible by any means, but I’d be careful of your expectations when learning how to build your first game.