Advice Needed from a Complete Beginner

Hi, I have recently discovered the amazing creation that is Choicescript through the game app, Affairs of a Court.

I am very interested in writing my own game. I am not a good writer or an especially eloquent one. But I would really like to take the chance to see if I can create something through this medium.

I would appreciate the help in getting started. I have read a couple of basic tutorials but the contents were quite confusing to me. Should I focus on fleshing out my story first in a word processor before going to the technical stuff?

Any advice and encouragement for this total newbie would be very much appreciated.

Thank you! :slight_smile:

My advice is to start with the story, and practice the code with some ridiculously simple story like the example code you can download. Once you know enough code and have enough story, you can combine them.

If you’re going to be writing the story first, I suggest writing it in interchangeable scenes, bookmarking good transition points and writing out choices in the word processor. Once you understand the coding, you can hop around to these story bits based on what choices the player makes.

Remember that a game does not necessarily have to have lots of complex code and choices to be interesting. If you want to know more about ChoiceScript coding, you can read the wiki at

First off, stay away from words processors, they’ll mess up the formatting of your code. You can use notepad, or the generally preferred notepad++ which you can download here

As for getting started, I’d say focus on your general plot and back story first, but do some practicing with ChoiceScript as well. Write a simple short story, no more than 5000 words say. The wikia page @Crotale pointed out is a good place to start.

Personally, I’ve found that the very act of writing a story in choicescript influences how the story plays out. Only when I start doing *choices, and creating new paths from those choices, do some of the subsequent storylines actually start to form in my mind. Then something else might occur to me so I go back and insert some other tidbit, or add a new branch, or whatever. I wouldn’t spend too much mental energy trying to separate your “writing” from your “coding” because it’s all one big process.

I would also encourage you to look at some of the feedback, especially the critical or negative feedback, that writers get. You’ll get a good feel for what people look for in these games and, thus, what kinds of stories work well in this format. I’m not suggesting you simply write what you think others will want to read; rather, there’s a bit of an art to writing choice games that hold the reader’s attention and make sense from the reader’s perspective, if you get what I mean.


@Claire1805 Welcome aboard! You can do it!

What was it that was confusing to you? Just everything?

I actually found the best way to learn choicescript was by working with it. By reading games written in it, especially Choice of the Dragon since it’s one of the least complicated of the games

What I’d suggest is you just need three commands to start with.

*label *choice and *goto

You can make a choicescript game using just those three.

Then just write your game (in a text editor not in a word processor). Keep it simple.

*label *choice and *goto just work like those old Choose Your Own Adventure games. But rather than

Page 1

If you want to dance with the prince go to page 4
If you want to kick him in the face go to page 7

Page 4

The Prince stomps on your feet and you can no longer dance! The End!

Page 7

You kick the Prince in the face and the guards try to arrest you.

If you run away from the guards goto page 100
If you kick them in the face goto page 65
If you ask a guard to dance goto page 18

You just use them like this

*label prince
Do you want to dance with the prince

    #Yes, I want to dance with the prince
        *goto dance_prince
    #No! I'll  kick him in the face
        *goto kick_prince

*label dance_prince
The Prince stomps on your feet and you can no longer dance! The End!

*label kick_prince

You kick the Prince in the face and the guards try to arrest you.

    #If you run away from the guards 
        *goto runaway
    #If you kick them in the face 
        *goto kick_guard
    #If you ask a guard to dance
        *goto dance_guard

Then you just label up the next sections.

Does that make sense? That’s very, very basic. You can also do it like

*label prince
Do you want to dance with the prince

    #Yes, I want to dance with the prince
        The Prince stomps on your feet and you can no longer dance! The End!
    #No! I'll  kick him in the face
        *goto kick_prince

*label kick_prince

You kick the Prince in the face and the guards try to arrest you.

    #If you run away from the guards 
        You run away as fast as you can from the guards.
        *goto runaway
    #If you kick them in the face 
        You knew your dancing lessons would come in handy. You leap into the air and do a mighty spin-kick kicking all the guards in the face.
        *goto kick_guard
    #If you ask a guard to dance
        You politely ask a guard to dance, while the Prince's nose gushes blood all over the marble ballroom floor.
        *goto dance_guard

Incidentally, some of my favourite games aren’t written by the most eloquent of writers. It takes a different skill-set to write a good choice game than it does to write a good novel. You might find you have a talent for this.

@Fantom I’m removing the link to the exe file and replacing it with a link to the page you can use to download. I think it’s best to discourage people from just downloading exe files blind since they can contain viruses etc.

Thank you for your advice, Crotale. I have begun writing out my story these last few days, but find myself having a hard time with it.

The tip on writing my story in interchangeable scenes is very helpful. I don’t have to start linearly from Point A. Creating multiple story lines from every choice seems to be a very tedious process.

I think I am being too ambitious with my first story, considering the setting that I have chosen.

My suggestion is check out other peoples coding with this.

Check out the help section of the forum a lot.

Never use a word processor.

Listen to people’s feedback.

Use Notepad++. It’s by far one of the best notepads to code on and it’s free.

And lastly, more complex does not mean better. If you can use simpler coding to achieve a goal, do it.

Thank you, Foxalyptic! Oops, I have been using a word processor to write my story. I just downloaded the Notepad++, so will start using it for a change.

No problem! The word processor does some weird things to the code.

Hi FairyGodfeather,

Thank you for the welcome and encouragement. I really appreciate it being a new writer. I have the Choice of the Dragon game app in my phone, so it is a good place for me to observe how the code for the story is written.

There is a lot that is confusing but I am trying to work through things a little. I have a difficult time understanding the usage of stats and variables (temporary and permanent). And the ‘create’ command. And how to write stories in a non-linear fashion. I am now working on a story that will contain a lot of branching lines and alternate paths.

The choices matter more than the points collected, so is it possible to ditch the stat method? I don’t know how I can use stats for a romantic genre game. And is it possible to make an earlier choice affect future outcome like a delayed effect? Eg.You choose to learn singing when you are young, but it isn’t until you are in your twenties you join a singing competition.

I will try out the basic commands. Thank you for taking the time to explain things for me! I am trying to make sure that I stick with my story to the end. Finishing my game within the next 2-3 months is my goal.

Many thanks :smile:

Yup! Those are hidden stats! :smiley: Make something like

*create learnsing false

and set it to true when the person learns to sing.

About the ‘ditching stats’ I wouldn’t suggest it, stats are what make choice of games so much better than regular flip adventure books. I’m sorry if I missed it, but what is your romance game gonna be about? Where’s the setting?

Writing a non-linear story usually involves a lot of *goto and *gosub_scenes. Have you checked out the choice of wiki yet? I know it all looks pretty complex, but once it snaps it feels pretty easily (plus you got us!).

The different between temp and permanent (this is one that stumped me when I was first learning). You use a temp at the beginning of a scene (the scenes you add to the startup) when you ONLY NEED IT FOR THAT SCENE.
Permanent stats and variables are used when you need them over a long period (for instance the singing variable you want, as temps are wiped clean when the scene is finished).


Permanent: *create learnsing false
*create Johnny 50
*comment 50 being neutral, up = friends, down = disdain

blah blah blah blah writing writing


=====next scene====

*temp stubbedtoe false

blah blah blah blah 
    #Fall over.
        *set stubbedtoe true
         *goto bleh
    #Don't fall over.
         *goto blah

Stat ideas for a romance game? Well for one, your relationship with others, which will determine how much THEY like YOU. But the setting could help a lot with what stats should be in the game. Is it medieval? Fantasy? Can you be a male or a female?

Hope it helped :wink: I know I’m not always the most clear around here!

Oh wow, thanks for lending a helping hand to this newbie! Here’s the romance game that I am working on: A Tale in the Forbidden City (WIP) - #11 by fox_vixen

I am going for a more serious tone for the game with formal dialogues and traditional customs (Not your typical happily-ever-after). I want to approach the game non-linearly with an emphasis on the choices made. This is first and foremost a game, not a novel. The first decision can lead to the branching of an outcome, the second decision will in turn lead to another branch.

So, you can use permanent variable for delayed branching? And temporary variable for immediate effect? I am still not exactly sure what a variable is (I have read the wiki a few times) except that it stores date.

I guess I am just slow :smile: I am happy to see that this is a very friendly forum with lots of people willing to lend a kind assistance.

So far, I have written 3,000 words worth of scenes (not in chronological order ). Maybe if I do reach the 15,000 mark, I will try creating a demo so the members here can help.

I want to create a game where every choice will lead to a different outcome (a constant cycle) but certain decisions have more far-reaching effects. And if you have pick this decision earlier on, you will be able to access a unique scene much later on.

I am so afraid of experimenting around with ChoiceScript. I have downloaded it but have not tried it out

I still don’t understand the permanent variable part scene you have provided. What does up=friends down=disdain means? Again, excuse me for my dumbness…lol…

Thank you for the help, FW. I am grateful for all the advice and suggestion given to me!

Have you read Adam’s posts on the blog about vignettes?

Actually there’s an awful lot of old posts on the blog that are extremely useful. (I think they’re maybe under the tag.) Remember that they are old though.

Also forget about the lots of branches. More branches=more complications. Choice of Games uses the vignette model to help keep branching under control. What you’ll generally find is it’s easier to make either a long game with very little branching, or a short game with lots of branching.

Take Choice of Romance, for example. For all that it lets you romance three different people, the game only continues if you romance the Monarch. Choice of The Dragon may let you romance five different dragons, but they’re all interchangeable once you get beyond their little choice section.

As for stats go play Creatures Such as We if you haven’t already. It’s a romance based game set on the moon. Did you notice the lack of stats? Do you think it negatively impacts the game in any way that there’s not a stats button? Now the game does have a few variables going on behind the scenes but as a player you never get to see them.

Then ask yourself, do you actually need stats?

Well you’ve just mentioned some stats that you do need. Singing, for instance, could be a stat that your game has and keeps track of. You have a few ways to track singing. Firstly it can be either you can sing or you can’t sing.

Or you could have singing on a 1-100 percentage scale. With 1 being awful, and 100 being the best singer ever. Then every time the main character does something singing related, you add on a bonus to their singing stat, and every time they do something that could hurt their voice, you reduce it.

But let’s say singing on its own is boring, you could make singing an opposed stat with something else. So… Singing vs Dancing! (It doesn’t need to make sense) so then you have a sliding scale with SingDance 1 meaning you’re the best singer in the world and SingDance 100 being you’re the best dancer, and SingDance 50 meaning you’re equally good at both.

Or maybe the idea of just singing on its own is boring. So brainstorm what other skills want to have singing come under which would be appropriate for a romance game. Maybe singing is charming? Or maybe you’ve a general music stat to encompass all things musical. Or maybe singing is romantic, and for your romance game you decide that you’ll have a Romantic vs Pragmatic stat.

Don’t be afraid! Experimenting is how you learn. Experiment. Write things. If the code doesn’t work fiddle until it does. If it still doesn’t work ask here and someone will help.


Ah! Forgive me, I’m not always clear lool. Well, with a lot of variables I used *comment which just means you can make a note to yourself. I recall reading the forum post for that game, it looks interesting! I love serious romances. The up and down just means if the number goes up they like you more, but if it goes down they’re beginning to dislike you.

So, say you had Emperor 50. He never dislikes nor likes you. Now, let’s say you interact with him and you pick an option which makes him look down on you, you’d say

    #Emperor mad
        *set Emperor %-10
    #Emperor happy
        *set Emperor %+10

As for stats, well, I’d certainly say manners would be a good stat for a game set in China. Women had to know a lot about when to speak or do things. That and intelligence seems like it’s going to play a big part in things.

Exactly! :smiley: Use *temp when you need the variable for only one scene. I’ll use the emperor again!

*temp insult false

    #Emperor mad
        *set insult true
        *set emperor %-10
    #Emperor happy
        *set emperor %+10

Don’t be afraid! Defiantly mess around with the code, you’ll learn a lot. Plus, it’s when you get your hands in it that it really starts to make sense :grey_exclamation: Until then it’s like looking at complex math (at least for me :girl:)


If you’re going to type in code put

    <pre> CODE </pre>

around it and it’ll preserve the formatting. (Or use the handy </> button).

Oh! Apologies! I’ve rarely done actual code on the forum, I kept thinking the format was < code > </ code > because that just seemed to make sense! I’ll edit it.