Using Ink with Unity

posted in jhocking
Published June 27, 2020 Imported
Advertisement

Alright, I’m finally building something along the lines of the basic RPG / lightweight management sim I’ve mentioned before! I partnered up with indie author Michael Coorlim for this project. We actually started discussing a partnership back in February, but stuff happened. And by “stuff” I of course mean a global pandemic.

I’m pretty good at building mechanics and systems, if I do say-so myself, but I’m definitely out of my depth when staring down the barrel of all the design work and narrative content for an RPG. Well, on a game developer forum I saw Michael asking if anyone wants to work with him on a game, and after looking a bit into his background it seemed like a great fit. Although he has little experience with computer game development, he has a lot of experience with both tabletop RPGs and fiction writing. I mean, he’s even self-published a bunch of well-received steampunk novels!

At his suggestion, we’re gonna use Ink, a narrative scripting framework. I’ve never worked with it before, but it has a Unity integration plugin and works very well for game storytelling.

Ink is a fairly easy system to work out. I’ve already figured out how to load .ink files directly, even though their documentation only goes over loading JSON file generated in a precompilation step. The code for loading .ink directly is very simple:

// inkFileContents: linked TextAsset, or Resources.Load, or even StreamingAssets
var compiler = new Ink.Compiler(inkFileContents);
Ink.Runtime.Story story = compiler.Compile();
Debug.Log(story.Continue());

That’s so simple it made me a little suspicious, so I asked about it on their GitHub. Sounds like this approach is fine though.

Read more

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement