What's the Best Tool for This Job?

Hey folks,

I’m writing the story now for a game I hope to have in a playable state within the next few months. The storyline is almost finished, and once I have a beta reader look over the text, I’m going to have to start coding it into something, so I figure now is a good time to figure out what the easiest tool would be.

The game is a resource management puzzle about living with OCD. Basically, the storyline follows a character who is trying to juggle his/her normal life stress (college, roommate tensions, family trouble) with his/her anxiety disorder. This is what I want to be able to achieve on a mechanical level:

– The ability to track two stats (anxiety and energy). Actions you take could raise or lower either of these stats. If you hit max-anxiety or min-energy, the game ends and you have to start over (either from the beginning or from an earlier choice, not sure what I want to do yet.)

– The ability to remember events from one section to the next. For example, you call a friend and that friend may or may not answer. If she doesn’t answer, you will experience more anxiety the second time you try to call her.

– And related to that, the ability to create random events, so that when you take certain actions, you would experience different outcomes - sometimes related to your stats, sometimes totally random - such that no two play-throughs will be 100% identical even if you make all the same choices.

– The ability to customize your UI a bit to create an “interface screw”…definitely sound effects in key places, probably visual distortions of some kind as well.

I am a newbie to coding. I’ve made one simple game in Ren’py and one simple game in Twine but am only really vaguely familiar with either of them and certainly not wedded to either platform. I’m guessing I could probably achieve what I want from any program, but I’d ideally like to choose something that would make my life as easy as possible in terms of learning curve. I’m not averse to learning how to code, I just want to be swimming with the current, yanno?

So, anyway – if anybody has a suggestion for the best tool for achieving those effects, please let me know :slight_smile:

If it weren’t for the “interface screw”, I’d recommend ChoiceScript, which sounds like a pretty natural match for your concept.

As it is - Twine sounds like your best bet to me. You can also achieve sound effects and visual distortions with Inform 7, but it takes a lot more work, and you’re definitely delving outside the box. They’re much more standard in Twine, and stat tracking is not very difficult.

Thank you!

I had looked into ChoiceScript and will most definitely try crafting some games for them in the future, but I think you’re right. Twine probably offers the most freedom. Now I just have to figure out how to do the coding bits :slight_smile:

You might also take a look at Squiffy: github.com/textadventures/squiffy

If OP goes the Twine route, this is the type of gamestory I have some experience with. A few recommendations:

Use code like this:
<<display “CheckVars”">><<if $endgame neq 1>>Continue with the story<><<display “EndGame”>><>

It modularises your checks into a single place to track them and saves a ton of headaches. If you narrative feeds forward (like a normal Twine) then code like this will still save time. But it really comes into its own if you write the game as an eventloop. JIC you’re interested in a birds-eye view of how to structure and eventloop gamestory in Twine:

Oh, Stormrose, you are a wonderful person. Thank you so much for this link!

I’ve been writing out the story first (with notes to myself about how it all connects) and trying not to worry too much about how to code it all because it seems very overwhelming and I don’t want to discourage myself before I finish. But this doesn’t seem too terribly difficult.