How do you organise your WIP

Uh… organization?


I started with that philosophy. I painted myself into corners. For me at least, bad organisation creates problems which can only be solved by railroading the player. I am trying to make my WIP as sand boxy as possible. That means lots of variables and lots of labels.

1 Like

My current work is 92 thousand words long. It keeps track of most choices performed by players, but the only times where “lack of organisation” pops up are during the labels. Sometimes I accidentally name another label the same name I already named the previous one. Other than that, it’s fine.

I have tried a few free writing programs, that has different kinds of plotting and organization help build in, and I have used openoffice and libreoffice’s excel and power point equals, but I still haven’t found something that works perfectly for me… :slightly_frowning_face:

The labels are the devil in the details for me. I have a ludicrous number of them.

1 Like

I defined a format for all of my labels, so they can be recalled easily by remembering the particular events the label holds.

My label format goes like this

*label [content type][label number]_[a keyword that represents the event]
  • Content type: Usually, my label contains 3 kinds of… contents: choice body (C), simple passage (T), and subroutine (S)
  • Label number: Just a number to help me find a label chronologically (c1 is earlier than t2, and so on). Of course, you can create your own numbering rule.
  • Keyword: c3_book is a label that represents a choice body when the MC reads the book.

This is an example from my WIP

*label c3_book
	#Continue reading it.
		Well then, let's continue the read, shall we?
		[n/]Titled "The Great Calamity".
		You open it and flip through the first few pages, back to where you just left it off.
		*page_break The Great Calamity
	#Actually, enough reading. Let's go to sleep instead.
		It's already late night and the candle is barely bright enough to light up your room.
		So, you
		*goto t4_sleep
	*disable_reuse #Skim through the pages and see if I can find anything interesting.
		You pinch the edge of the book and begin skimming its pages. Due to its size, it doesn't take long for you to reach the final page. Other than that, there's no particularly interesting thing you can find, except…
		Except for this weird scribble at the very-last page of the book. It's hard to tell what did it said as the scribble is barely readable.
		*goto c3_book

Ah, I came here expecting the topic to be more related to how one organizes their notes and outline – something about which I think I have some helpful advice – but alas, it’s about keeping your actual code organized. That’s something I’m still somewhat struggling with myself.

With my WIP Seven Heirs, I used very few labels in the first chapter as the chapter was rather linear. I used *fake_choice a lot as it now functions the same as *choice without needing a *goto; thus, not much need for labels. I recently went through and recoded parts of the first chapter to be more practical, and I did use labels for that. It was easy to keep up with, though. I don’t use underscores in my label names, but each word is capitalized (i.e. “GodReactChoice” or “MeetFather”) and describe what the label contains.

With chapter two of Seven Heirs, however, there are a lot of branches – more than is reasonable, probably, but go big or go home – and that is when keeping up with labels and naming them well becomes important. I tend to name them how I name my files: “LearnMusic1Harp” and “LearnMusic2Harpsichord.” “LearnMusic” is self-explanatory. The number denotes whether learning music was the player’s first choice or not. “Harp” and “Harpsichord” are which instrument the player learns. I just try to be as descriptive as possible with my label names. I use CSIDE to write, but when I can’t find a label, I open Notepad++, search for the label or part of it, and either make the edits I need to in Notepad++ or remember the line number and head back to CSIDE. A bit tedious but effective.

It also helps when your scenes are shorter and descriptively named. Like, that helps so much. I don’t do it that way, but I’m hardly a good role model.

Really, you just have to find what works for you. Trial and error, and all that.

Hm, isn’t CS-IDE already have their own search function?

1 Like

I thought so, and maybe they do, but I haven’t been able to find it. I use their web app more than half the time, however, and it takes a little longer for features to be added to it.

No. I mean, Ctrl + F?
Oh, the web app. Idk tho, is it not there?

I really ought to pay better attention to things. I use Ctrl + F to search in Notepad++. Why it never occurred to me to try that with CSIDE or use it in the browser, who knows. It works in the browser – not as well as it does in the actual app, but it works.

Embarrassing I didn’t realize this. I majored in Computer Science when I was in school. I code websites. I know how to use programs. I swear. :joy:


And that’s why kids, brain fart is dangerous :ok_hand:t4:

1 Like

Same. And sub-labels. And I like to give them really descriptive and humorous names, in order to better remember wth I was thinking when I organized and wrote them, and also because I am awful about writing dumb things to make myself laugh, even (or especially) when I amt he only one who will see it, though I’m sure that much is obvious to those who have read my game or, heaven forbid, glanced at the code. :sweat_smile:


I have done something similar. But at the 80k word mark my brain is
exploding. I don’t have too many branches but there are multiple exits and
entries into scenes. It’s gotten to be too much for rote memory or a naming
system. I have to go a bit Fox Mulder and commandeer a Cork board somewhere
with cards up.

1 Like

These should work identically. Mind PMing me the details about what was different? If you’re unsure about common hotkey commands these should be documented under the help tab. The web should also be reasonably up to date. There are admittedly some missing features (the automated tests for e.g.), due purely to technical limitations (In this case it would simply be far too slow to be useful).

As for organisation, you could try splitting up your files by purpose as well (or instead) of chronology. I tend to have “_template_xxx” files, to provide all my layout, function files for any nasty logic and then simply make *gosub_scene calls from my content scenes.

Well I have a 3 subject 180 page notebook where I’m keeping track of literally everything I need to know or remember. First part is dedicated to the characters, their appearance and traits. Second part is dedicated to the plot outline and a very rough draft of each chapter while the last part is dedicated to the codes that I need to remember like the variables. I heard somewhere on this forum that it would be helpful if I had a separate record of what I wrote so far and it’s been helping me out. Of course I have to make sure I have the appropriate scene pulled up in CSIDE to get to work but other than that I’m good to go after I’m finished researching. (It’s been two weeks and I’m not even finished yet, you guys. Ugh.)

I like the idea of private injokes in the labels. I am going to steal that. It sounds like lots of fun.

1 Like

So far with mine (I haven’t gotten confusingly far into it) I try to leave comments by sections of variables in startup to clarify what each one means and is used for, with some more information in a side page of the variable file (I made a “choice” to see developer screen)

For labels I try to break up labels into actual separate scenes if possible, and be clear and descriptive in the name of the scene so it’s easier to find/remember

You might want to create a mini-plot-map to keep track of your entries and exits. I personally use when I have something that needs to be written down immediately before it vanished from my head.

It’s really easy to use, and fast to save-load. Also links to your Google Account (and saves your files to your cloud drive).

1 Like

I usually make huge barriers between each line of code using *comment and a bunch of dashes so I can determine where stuff ends and begins.

1 Like