Okay! Here’s what I’ve learned using ChoiceScript for a little over a year now.
Notepad++
I’ve tried CSide, but I found it too lacking in customization and not optimized for my visual impairment. I switched to Notepad++ for the following reasons:
- Macros, or recorded keystrokes that simplify typing repetitive words.
- Vivid colors to help me visually distinguish code.
- Ability to add code and keyword colors.
- Notepad++ records all used words, so I’ll type in
label_label_nameto easily find all labels I’ve used in a file. Ortemp_temp_nameto find all temporary variables.
Here’s what a game looks like in Notepad++ for me. Keep in mind I’ve changed the font for a more legible mono font, and I use bizarre colors because of photosensitivity.
Using Comments
I use *comment all over the place. I’ve tagged all used comments with different keywords to help me find them at a glance and to know which ones to remove for a public build.
I use *comment to add in table of contents, quick jump to most commonly used labels, and visually distinct borders. All while creating the game; these will be deleted on submission.
Variable Names
Having coded prior, I hated when my teachers said keep variable names simple. I got frustrated shrinking my thoughts into a couple words. My variable names are long and fully indicative of whatever I pull them for. To help organize them, all variables have a distinct naming theme.
Booleans are usually written so that it reads well in an *if statement, such as has_pc_opened_door or pc_investigated_the_morgue.
Variables use name_pts or name_score to indicate to me that I’ve used numbers to track them.
For strings, I use name_st or name_description.
I know it’s not standard, but it helps my brain immensely and removes confusion.
Normalizing Stat Adjustment
Kinda niche, but I create systems of when each variable gets updated within a row. Or which variable gets priority when updated. That way, code readers get a consistent reading experience, I know where to look immediately, and I can leave and return to my code after a while and know what I’ve done.
I’m a very linear person, I guess.
Making Code Readable
This is also pretty niche, but I’ve grown used to coding with numbers more so than words. A lot of my earlier games used number variables, which made it harder for readers to understand what was happening.
I’d code *create pc_hair 4, *set ro_mood 5, or *if (room_status >= 4) and would never use strings unless I wanted the code to be printed for the player. Numbers just made more sense to me.
To help with this, I intentionally throw in strings alongside with numbers or make variables tracked as strings so players can have a sense of what’s going on. It… makes it a bit harder for me, though. Haha.
Empty Spaces, If Statements, And Multireplace
Mostly unique to having implicit_control_flow set to true, you can use these options to create a more dynamic reading experience. In as few words a possible, HTML breaks down lines and spaces, so you can combine lines of code or paragraphs.
In this example, you can make a choice response feel more natural as it blends into a paragraph without having to rewrite extra words:
Using a well-placed enter, if statement, or multireplace can make it feel more immersive when the player’s choices are reflected in the game. You can even use them in choices, too!
There’s a bit more I want to say, but does this make sense? ![]()
m
I apologize. Authors come from wide ranges of coding backgrounds and technical expertise. I really look up to you and your published works (and your insights).



