48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
# hank
|
|
Portable narrative scripting language based on Ink.
|
|
|
|
[](https://travis-ci.com/NQNStudios/hank)
|
|
|
|
Hank is a more portable answer to Inkle's open-source [Ink](http://github.com/inkle/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|
|
|
|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](https://github.com/HaxeFoundation/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
|