Polls about COG, HG, and IF games

How many Variables do you create?

  • 100
  • 200
  • 300
  • 400
  • 500
  • <1000
  • >1000
0 voters

For me personally, I usually start at a minimum of 500, then add more as needed. I’m just a little curious as I’ve noticed a pretty large difference between authors when it comes to their variables.

But more than that, I’ve seen huge differences in how those variables are used. With some authors doing some black magic and using barely any, to do a crazy amount of things. Some authors have massive works, and not nearly as many variables as you would expect, while others have small works that have a variable for anything.

500 seems massive. I don’t plan a number of variables, just add them when I need them, so I’m not sure what my total will be, but it’s around 300 right now, I think. (Assuming temp variables count)

4 Likes

Really? That’s interesting to me. I’ll say temps count, and in that case, I have a little less than 1,000. 900 or so created ones, and 100 or so temps across two scenes.

This is so fundamentally at odds with how I develop that I have no idea how to even answer it. I make variables as I write, as things occur to me to track. The idea of sitting down at the start and going “I’m going to plot out five hundred variables” is very strange, that’s just not how I conceive of the process at all.

13 Likes

It’s more like… How do I word this, “A base level of reactivity”?

I know, for a fact, that I will end up with 500 or more variables no matter what I’m making, so I start with 500, and if that is not enough I make more. If that new one is going to be used more than once, I make it a *create (VarName) at the top with the rest. If it’s only going to be used once, it get’s a quick *temp (Gzt2b8).

If I don’t use at least 500 variables, I consider that what I’m doing wasn’t worth doing and scrap it. It meant whatever I was doing, didn’t even have 500 variables worth of interactivity, which means to me, I didn’t write something fun enough to play.

1 Like

I think this is a bad way to think about reactivity, or at least one that creates perverse incentives. The idea that more variables = more reactive is how you end up with tons of choices that don’t do anything imo. One variable with three states that gets checked repeatedly throughout the game will get you a lot more mileage than making twenty variables preemptively and then writing to fill them like a quota.

This is a great way to burn yourself out in fractal complexity. Five hundred variables is a lot. To match the scope you’re talking about hundreds and hundreds of thousands of words, it’s alright to take smaller bites.

10 Likes

I do agree, I do, but this works for me extremely well. I’d rather have more options than less, it allows you to have say 7 different variables effect one scene (The course of actions that are happening, not the file, though that too.) so you can have as many outcomes as you can think of, covered by as many *ifs as you can think of, because you have the code to support it.

If var12, var431, temp6 are all true, you can have an outcome for if any one of them is false, and in any combination. Then, your stats, (vars1-10) can each have an acting affect upon the scene you got, based on what scene you did get because one of var12, var431, or temp6, was a false.

The player should always feel like what they did matters. And the most brute and absolute way to do that, is make what they did matter.

1 Like

While I don’t set a minimum baseline of 500 variables, I did select 500 or so variables in the poll (including *temp) because I can get up to that point depending on how complex the game is. Many of my smaller games barely hit 80 variables.

Most of the 500 variables are set global variables as it relates to permanent MC customization. Afterwards, I make global variables to track unique character (RO) interactions and progress across multiple files. Next, many are just clues and investigation variables, as I like writing murder mysteries. Finally, I include temporary variables to see if a player is sitting in a scene, very angry, standing, et cetera so that I can adjust what ever is occurring in the scene for continuity. I don’t ever start with a pre-determined variable number, I make as much as I need and delete if I can’t handle anymore information.


I’m not following what you mean by this. In an average scene in a complex game, I might have:

*if (worried >= 4)
	You shoot upright in your bed, your heart hammering.
*else
	You spring up, palms facing her.
She hardly flinches at your sudden movement.
*if (worried >= 4) or ((friendliness >= 65) or (compliance > friendliness))
	"I am so sorry! Am I late? I didn't mean to sleep in!"
*elseif (friendliness <= authority)
	"Oh, shoot, I can't believe I overslept. I didn't mean to, really!"
*else
	"What the — what? Did I just oversleep?! Oh no!"

Is this what you meant?


What do you mean by perverse incentives? I don’t understand if you mean there’s a lack of interactivity because there’s too much in a file, because it’s not fully remembered by the game, or because you worry an author might forget all their variables? Is this what you mean by meaningless?

It’s very kind of you to consider writer burnout with complexity. I also have to caution making 500 baseline variables and, instead, make as many as you need and delete if it’s too much.

1 Like

I shudder to think I should put 500 variables in a fifteen-page jam game!

I mean that, if you measure “reactivity” by “number of variables” and think that “more reactive = more fun = better product” it leads to making variables an variation for its own sake, without any real consideration of what might be best for the story you’re trying to tell. That’s not to say that highly variable games aren’t good, you should just be thinking about where you’re going before you start giving yourself a massive checklist of vars to pay off.

8 Likes

Are you actually calling your variables things like var12 and var431? Because that sounds like a recipe for disaster. It would be very easy to accidentally write var413 instead, either by forgetting which number you assigned, or just by pure typo, and that won’t necessarily cause a game-breaking error, meaning it will be very hard to catch.
It’s generally recommended to use descriptive variable names (e.g. stole_cake or steve_backstory) so it’s very easy to remember which variable is which, and if you do typo them, there probably won’t be another real variable with that name, so the error will be game-breaking and very easy to find and fix.
You don’t need to create 500 variables ahead of time; you can just create them one-by-one as you need them.

8 Likes

100% this. Instead of having to remind yourself of what a random generic variable refers to, e.g.

*set var314 6
  *commen6 var314 is how many tarts I have

just have *set tarts 6.

If you write a long and detailed enough game, you’ll accumulate as many variables as the game needs, by writing the situations within which they have meaning. Better to hit the 500 or 1,000 mark that way.

11 Likes

Oh heavens no, if someone can actually write variables that are just numbered, and use them perfectly, all the power to them. I however, absolutely can not. My variables are firmly named exactly what I need them to be, so they are only used exactly where they would be.

For example:

*create AD0 0
*create ChaCode ""
*create CPoints 0
*create INT 0
*create REF 0
*create COOL 0
*create TECH 0
*create LUCK 0
*create ATT 0
*create MA 0
*create BT 0
*create EMP 0
*create Run 0
*create Leap 0
*create Throw 0
*create Lift 0
*create Carry 0
*create Rocker false
*create Charismatic_Leadership 0
*create Solo false
*create Combat_Sense 0
*create Netrunner false
*create Interface 0
*create Techie false
*create Scrounge 0
*create Media false
*create Credibility 0
*create Cop false
*create Authority 0
*create Corporate false
*create Resources 0
*create Fixer false
*create Streetdeal 0
*create Nomad false
*create Family_Status 0
*create Role1 0
*create Role2 0
*create Role3 0
*create Age 0
*create Sex ""
*create GivenName ""
*create FamilyName ""
*create Handle ""
*create RSPistol 0
*create RSRifle 0
*create RSMelee_Weapons 0
*create RSDriving 0
*create RSAthletics 0
*create RSMartial_Arts 0
*create RSBrawling 0
*create RSAircraft_Pilot 0
*create RSMotorcycle 0
*create RSRotorwing_Pilot 0
*create RSAV_4_Pilot 0
*create RSDance 0
*create ISAwareness_Notice 0
*create ISSoftware_Design 0
*create ISGeneral_Knowledge 0
*create ISSpecific_Knowledge1 0
*create ISSpecific_Knowledge1Name ""

Temps get less important names:

*temp GCCSeen false
*temp MCCSeen false
*temp ChaCode true
*temp Welcome true
*temp HTz815A 15
3 Likes

I have a variable called *create pon_promises_to_find_you_a_trainer_for_your_cool_sword false, no confusion about what I’m supposed to be using that for lmao

14 Likes

Okay, that’s good, but now I’m just wondering how you can know exactly what you need those 500 variables to be when you start writing… Or is it that you start with the variables and then write the story around them?

1 Like

A little bit of both? I start out with the idea, than think of what the idea needs, then flesh it out a bit more, think of what the fleshed out part needs, flesh out some more, think some more, repeat. Then, I take a branch, and say, "“What if this part became the whole game for while before it joined back into the main branch?” That then leads to what is needed to support that branch to be a fun experience for the person who got it.

It’s like Havenstone suggested, I start by:

And I don’t stop doing that, until I have a least 500 worth to create compelling directions of which to go. Like I said with my, poll, I start with 500, and go from there. My current project, has a little over 1300 variables in the startup.

But trust me, I used 'em! You can play 100 times and still feel like you are playing a different game!

What an interesting approach to game development. It sounds almost bottom-up development in a way?

I can’t wrap my head about such a thing! I tend to design overall game elements and then program the necessary variables to make each element function. As for the amount of variables my most complex game has, it’s well over 1000. My medium-sized games range 300-500.

I’ll admit that my smaller games, while having 80 or less variables, still have fun replay value with unique outcomes. But unique outcomes is a bit vague, isn’t it?

4 Likes

Yeah, planning a set number of variables ahead of time just sounds wildly backwards to me.

I plan character pronoun variables, skills, and stats, and then I write, only adding variables when I find it necessary. You can easily get into exponential complexity if you aren’t careful and annoy your readers who may be confused how to achieve certain goals and not understand why they were successful or unsuccessful if half a dozen variables and formulas are involved.

Remember the gold standard of engineering is to have as few moving parts as possible and still achieve your goal. That applies to design of systems as well.

“In that direction lies madness”.

Making everything a player does matter isn’t possible while maintaining a good story and theme. Reacting to what they do with an acknowledgment or callback, sure. Actually making branches and variables for everything? No. That’s just a recipe for an abandoned WIP when you realize exponential math exists for writing and multiplies quickly to impossible workloads.

4 Likes

Yup, this is what I do. I often use the first few variables as guides for where I know I want my writing to go and change them early on if I end up changing the story to focus on a different angle.

This is a little absurd to me. I’m not sure I even have 500 variables in my game thats over 200k words long. I space my lines for clarity and add comments so I don’t even know the exact amount.

But plenty of shorter games can be very fun without 200+ variables. I feel you may be being too harsh on yourself if you think the game is not worth it based on variables.

5 Likes