Nat Quayle Nelson 435aec7a3b
Some checks failed
/ test (push) Failing after 44s
hank-vscode show error on story parse
2025-11-11 15:29:40 -06:00
2024-04-13 15:31:14 -06:00
2025-10-26 08:27:36 -05:00
2025-10-30 21:42:19 -05:00
2019-05-15 14:09:13 -06:00
2025-10-30 19:11:17 -05:00
2025-10-29 16:24:17 -05:00
2024-04-13 15:23:39 -06:00
2025-10-31 15:06:22 -05:00
2019-06-26 18:59:51 -06:00
2018-12-17 10:13:01 -07:00
2024-04-13 15:38:49 -06:00
2025-10-30 18:43:12 -05:00

hank

Portable narrative scripting language based on Ink.

.github/workflows/test.yml

Hank is a more portable answer to Inkle's open-source Ink engine. It is currently just a proof of concept, but you may use it at your own risk.

Supported targets:

  • JavaScript
  • C++
  • Neko

Comparison with Ink and Inkjs

Feature Ink Inkjs Hank
Well-maintained/Production-ready Yes Mostly yes Maybe someday--probably never
Recommended external engines Unity HaxeFlixel (2D only)
Ease of use Comes with the Inky editor, gives syntax hints. Thriving, helpful community. Easily embeds in web-pages. Partly supported by Inkle. Stricter syntax, no official editor. Only understood by one other person (for now)
Flexible scripting Powerful but bulky embedded scripting system I'm not sure Uses hscript module to allow full Haxe expressions inline without scope bloat
Open-source purism Tightly coupled with Unity Compatible with the Javascript webdev ecosystem Death/bankruptcy before closed-source dependencies
Automatic story testing None None Write expected transcripts to easily test your story's output given sets of choices
Playthrough transcript exporting None None Output a transcript to a file while playing your story. Generated transcripts are compatible with automatic testing.
Toolchain completeness Inky & Unity plugin use the official compiler to recompile automatically while you edit Relies on running the official C# compiler before each time compiling your webgame Parses and runs entirely at runtime without external compiler
Publishing for Desktop app Supported through Unity Theoretically possible with Electron Coming soon with HaxeFlixel
Publishing for Mobile app Supported through Unity Not sure if possible Coming soon with HaxeFlixel
Publishing for HTML5 Supported through Unity Supported out of the box Coming soon with HaxeFlixel
Publishing for AAA Consoles Supported through Unity Likely impossible Coming soon with HaxeFlixel

As of now, you are better off using Ink or Inkjs for serious gamedev. Hank is good if you're interested in hacking away at a new/leaner system as a side project.

Dependencies

haxelib install utest
haxelib install hscript

Build/Install

TODO

Debug Hank stories

TODO

Description
Portable narrative scripting language based on Ink.
Readme MIT 901 KiB
Languages
GDScript 58.1%
Haxe 41.8%
Shell 0.1%