Some checks failed
/ test (push) Failing after 44s
hank
Portable narrative scripting language based on Ink.
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
Languages
GDScript
58.1%
Haxe
41.8%
Shell
0.1%