Development Blog (semi)random.thoughts()

Alakajam Interactive Fiction entries

Interactive Fiction, Ink and Unity. Where to begin? And where to end?
Last weekend, I participated in Alakajam for the third time. And it occurred to me that (apart from being my first ranked entry), that I've been submitting Interactive Fiction entries each and every time. Maybe it's time to explore this some more?

First off, English is not my native language (that would be Dutch), which is a great handicap in this genre. Everybody is a better writer (and speaker) in their native language. For a game jam, I choose inclusion (everybody can play the game and make some sense of it) over finesse (and a potentially very small audience).

Ink


I really like the Ink language when it comes to writing interactive fiction. For me it has two main features:
1. It's mostly prose: you can write the story first and add interaction/choices later (if you want). The prose in the mean time remains readable in the source code;
2. It's powerful enough to include as much interactivity as you like: it supports variables, functions, control flow, RNG. Probably more, but this is what I have touched so far. You get to choose whether you want to stick mostly to conversation choices for your interactive elements or you want to add more gamey stuff, like inventories, stats, success/failures, combat.

See this screenshot to get an idea about how readable Ink remains, even with all the interactivity added:



When it comes to the Alakajam games, the types of interactivity they include are:
  • Falling in love for the last time: mostly conversation choices;
  • The Wizard's Duel (source): a turn based combat featuring a rock-paper-scissors like mechanic. Keeps track of your (and opponent's score). Uses randomization. This one is probably the most sophisticated from a "programming" point of view;
  • The Fencer (source): many choices, variables hold clues you found which determine options later in the game. Lot of control flow. Probably the most "adventure" type of game.

I feel like I've still only scratched the surface of what is possible in Ink.

Engine: Unity vs. InkJS


Falling in love for the last time uses Unity for presentation (audio and text rendering, see also). The other entries use Inky's (Ink editor) for HTML/Javascript export.
I like the latter better for pure IF. Especially the overhead is way smaller. There is no compilation (webgl experts from Unity are SLOOOOOWW). It's responsive (the games play just as well on mobile devices like tables and phones).

I did tweak the default Inky export template ever so slightly:
  • Added controls for displaying an "About" overlay and audio controls (for games with background music);
  • Tweaked the look of the template - just changed the CSS a bit here and there.

More Interactive Fiction?


Probably. I enjoy story based / narrative based games a lot. More than action and/or strategy games actually. However, for the next Alakajam I really want to do something different. Perhaps a web based multiplayer game. But that really requires an entire weekend available for the game jam. And as a father of three weekends off are pretty scarce.

We value your privacy. This site collects only information required to provide you this Service. For more information, read our privacy policy.