InkJam 2018 – Stone and Light

To kickstart September off I participated in a gamedev game jam. Specifically, InkJam18. The objective was simple: use the incredibly Ink narrative engine from the fine folks over at Inkle Studios to make a game in three days. My submission was my first time working with Ink + Unity integration…and also my first time taking part in a game jam of any description. So naturally, I want to tear my project apart to see what I did wrong, what I did right (if anything). Because what’s the point of having a gamedev blog otherwise?

The Game

Stone and Light isn’t terribly complex. Like I said, I had never worked with Ink + Unity in any major capacity before (and I only have a passing knowledge of Ink at all) so my main goal for the game jam was just to figure out how it all worked. There’s a couple of endings, as befits a branching narrative engine like Ink, and a tiny measure of exploration. You could probably play through the whole thing in 15 minutes or so. It’s all playable in the browser though, which is nice since you won’t have to download anything to play it. Overall, given my complete lack of experience with the engine and the limited time I had to work on it, I’m moderately happy with the whole thing. I actually finished and got the submission in on time, which is better than I usually do with projects of mine.

You should probably go play the game now, before continuing on, so you’ll know what I’m talking about.

What Went Right

Not a lot went right during this game jam, but enough did that I’m content to not utterly obliterate the game and pretend it never happened. We all deserve to pat ourselves on the back when we get things right after all.

Finishing the Game Jam

I don’t typically finish my projects. The complete lack of any kind of portfolio is a testament to that, but good God if you could see the sheer horde of abandoned files on my computer, you would weep for them. From a web browser game I spent the better part of a year developing, through to a drinking party game app, there’s a lot of unfinished works that I got too cowardly to unveil to the public eye. Thankfully, this isn’t one of them.

See, my biggest issue is always hating what I’ve created. Just when I’m in the final stages of cleaning everything up, I have the haunting realisation that its trash. So the world must never know. InkJam helped immensely. It didn’t matter if the result was an abomination, all that mattered was that it was finished. Crucially, that it was finished by a deadline I had no control over. So no more “oh well, I’ll just take one more week to make it nice” extending into “I’ll finish it eventually“. Out of everything to come out of this game jam, this is the point I’m happiest about. For my first proper foray into interactive fiction, I’m pretty freakin’ delighted to actually have it done.

Unity + Ink

ink game jam code snippetMy main reason for getting started at all was to force myself to learn Ink with regards to using it in Unity. I like the Unity engine, and I love the Ink interactive fiction engine, so I’ve been meaning to learn both together for some time. I’d done some brief tests of Ink using Inkle Studio’s “Inky” writer, which can export to an HTML web page format so I was sort of familiar with the Ink engine’s power.

But when you add Unity into the mix? It is glorious. It’s just a shame that I was so inexperienced with integrating Ink into Unity, because I could definitely have done a lot more than I did. There was several mechanics which were super easy to put in place, and I only had to cut them out because there wasn’t time to polish them up and get the balance right. The simplicity of the game (it being basic interactive fiction, with no other game mechanics) is my time scheduling failing, but I will definitely be working with Ink and Unity in the future.

I’m working on something with them right now, as it happens. But shhhh. Iz seekrit.

What Went Wrong

Graphics

Interactive fiction at its ugliestI’m not an artist. I’ve utterly failed to keep up with my Sketch-A-Day challenge, and my digital painting skills would reduce any art teacher to fits of hysteria. This is no secret. But even I could have done much better than the eyesores I produced for this game. I don’t even remember if the background of the text is supposed to represent paper or marble, and the stone background of the main menu and gameplay is, frankly, offensive to anybody who’s ever laid eyes on a stone in their life. Not nearly enough time was dedicated to developing the look of the game, and it suffered hugely for it.

I would have been better off just using a plain white background and simple text, striving for minimalism. By trying to create something fancy when I very much didn’t have time to? I just got an abomination that avoided the perks of either end of the spectrum.

 

Writing

This is absolutely not my best work in the writing department. A lot of that was overreaching. My original draft was much larger, planned to reach 6,000 words. Ordinarily, I could achieve that in 3 days without too much difficulty without editing. And when you throw in learning new skills, coding and art for a game? Absolutely no chance. I had to shave off all the worldbuilding, and the foreshadowing, such that the ending comes completely out of nowhere.

Further, I made a crucial mistake that I really should have known not to make. When writing interactive fiction, whether it’s the weird exploration thing I did here or a more standard CYOA type book, it’s way easier to write one full narrative before you write in any branches. Write a standard story from A to B to C, then start inserting branching points. If you do what I did during this game jam, you’ll get lost writing branches and factoring in player choices into your narrative – before you even have a complete narrative. You’ll wind up with no ending and no solid plotline. Just a bunch of random scenes.

I managed to fix this by cutting out huge chunks of my script on the final day and rushing through to the ending before the deadline. But, like I said, it comes out of nowhere as a result – with little (read: no) foreshadowing to give it any impact. It just kind of…happens.

Timing and Priorities

If you’ve had the first two major failings, you can see what I mean when I get to this point. Which means I can cheat and keep this section short.

My timekeeping sucks. Which is somewhat of an improvement. I used to have a serious problem with procrastination, but now I actually get down to work pretty quickly. My issue comes with failing to stop when I have to. And that’s not one of those cheap “what is your major weakness” type answers, I genuinely spend way too long on the less important things. I spent a long time deciding what my plot in the game was going to be before I even had the basic mechanics in place.

Couple that with spending four hours trying to get a fancy button menu transition and I had even less time to work on a time mechanic I wanted. It meant I had to shed half of the rooms in the original map of the Tomb. It cost my writing dearly, whereas I should have just been happy with a simpler transition and focused on the actual game writing. In interactive fiction the actual fiction is everything. People won’t notice your fancy fade-to-black transition if the core game (and writing, in this case) is appalling.

Fin

So yeah, that was my game jam result. Not exactly happy with it, but it was extremely enlightening. I already have plans to work on a full Ink game (without a ridiculously short, three-day deadline) once I’ve done some experimental practice projects, based simply on how ludicrously powerful Ink is. Writing is my greatest strength, I think, with game development and Ink is insanely useful for it. I definitely look forward to working with it in the future.

Go play Stone and Light if you haven’t already. I’ll probably take it down at the end of this year, either way so get in while you can. I’d love to know what you think. Even though I’ve isolated a few issues with it already you might notice something I missed.

Leave a Reply

Your email address will not be published. Required fields are marked *