The Creeping Branch – Writing with Ink and Unity

Ink is a hybrid platform for writing branching stories. It’s not really a scripting language, but it does allow you to control text combination and flow in a very programatic way. It’s not really a word processor either, but it does allow you to view your whole story and all its branching possibilities in one nice long view, like you were editing a chapter. It makes for a really powerful tool and certainly one I’m going to use as I get this game off the ground.

I’m working on a demo area that’s going to explore all the elements I want to include in the game. I feel rough on so many fronts. Here’s my current plan of attack:

Technical: Still learning C# and Unity, so it’s tutorial city there. Also little sketches of gameplay, or hacking into other code to see what makes it tick.

Mechanical: Planning out puzzles and how things will work together, without knowing how to create them just yet.

Narrative: Getting this first demo section fleshed out as a story. What’s beautiful about ink is how you can branch and branch and branch and still bring reader back to little common threads between all the branching. This will allow for some fun diversions based on class and choices. Plus, it tracks state, which means a NPC could:

a. Live and you meet them all throughout the game

or

b. Die early and they end up not being a part of the story at all

The real challenge being — how much choice do you give the reader? While it’s tempting to go the route of some of the old text adventures and just let them type whatever they want, it’s not really an ideal choice. There will always be lines of reasoning, or cases where the obvious solution to the player is not the obvious solution to the writer. So the player ends up trying all manner of commands or progressions that don’t work and just gets frustrated in the end. Is it better to provide finite choice? I think for the demo yes, the story can weave certain directions, down crazy paths, but still be challenging. You get a ¬†sense of trying to solve the story as a whole, not just parts of it.

By Jove!

Ok, it dawned on me that I can frame out most of the game as a text adventure. Even the combat can be handled as text to a point! I can always add click controls later, but I want simplicity. This would allow to explore stylistic ideas and mechanics quicker and just to call back to the days when video games started. And to even, at times, spice it up with classic cutscenes (pun intended) like this:

Tonight’s plan is to push my way through a little more of the tutorials and then to try a short text adventure battle mechanic.

C# Note – Assigning Variables

Variables must be assigned before you can access them.

ie.

string favoritePlanet;
Debug.Log (favoritePlanet);

¬†favoritePlanet = “Earth”;

will produce a compiler error because you’re trying to access an unassigned variable. So…
string favoritePlanet;
favoritePlanet = “Earth”;
 Debug.Log (favoritePlanet);
Will return “Earth” without error, because it’s been assigned before it was called.
I’m assuming this is a common aspect of all programming languages, since trying to access something that doesn’t exist is likely to spit out an error.

Heaven or Hell, Let’s Rock

Heaven or Hell

o

World that doesn’t give a damn for Another Wor(l)d Press Be or Not to Be Log. You’ll never read this thing to be read anyway. If a blog feeds in a forest and noone browses it, does it make anything?

Sense it doesn’t.

In case it does, welcome, does not, welcome too.