Ever since I encountered Overlap2D many years ago, I've had thoughts of engine-agnostic game development spinning in the back of my head. Overlap2D was a 2D level editor that exported game data that could be loaded into game frameworks like libGDX, HaxeFlixel, phaser.js and more. What's alluring about this is the idea that your game data is not tied to a specific game engine. In theory, this flexibility can allow you to develop your game sooner and worry about deployment later. If the need to switch game engines arises, perhaps due to licensing changes or platform support, you're safer with engine-agnostic game development strategies.
What does this have to do with Inkle's Ink? Well, Ink is a form of engine-agnostic game data creation. At heart, Ink is a narrative scripting language but because it was conceived as middleware, it can be used by many game development stacks. The primary integration is Unity which supports many platforms on its own but Ink scripts can also be run in the browser, Defold, Godot, Unreal and more. You can write Ink once, test it using Inky or Inklecate and deploy it using your desired framework. I can personally attest to running the same Ink script in the browser with ink.js and in the Defold, Godot and Unity game engines.
At first glance, Ink looks like it's just a narrative design tool, something you would use to build multi-linear stories like the ones found in Choose-Your-Own-Adventure books. But because of its advanced scripting features, Ink can be used for game design as well! With support for functions, variables, sets, loops and more, it's possible to simulate various games purely in Ink.
It has been said that games are all about interesting choices and what is Ink but a framework for setting up decision trees. If you're interested in learning more about Ink, I've written some articles here. Some of these include:
- Making a World Map in Ink: learn how to make a navigable world
- Prototyping a Card Swiping Game in Ink: if you want to make a game like Reigns, check this one out!
- Testing Strategies using Inky Web Export: stress test your game's numbers using automated choices.
To conclude, Ink can be a powerful toolset for game design. Thanks for reading and stay tuned for more!