harrow

Harrow is a custom syntax, a parsing library, and a runtime for narrative-driven games - https://github.com/nayata/harrow
https://github.com/nayata/harrow

To install, run:

haxelib install harrow 1.3.0 

See using Haxelib in Haxelib documentation for more information.

README.md

Harrow

Harrow

Library and a runtime for narrative-driven games.

Example

[health = 80]
[energy = 100]
[potions = 2]


Neon lights flicker across the rain-slicked streets of New Eridu.
Holographic ads scream for your attention as hover-cars zip overhead.
Your comms crackle to life.

Operator: Proxy, this is Control. Hollow anomaly in Sector 7 slums.
Operator: Corrupted Ethereal drone gone rogue - it's assimilating tech and proxies alike.
Operator: Neutralize it before it breaches the outer wall. Gear up and move out.

- Check Inventory : Inventory
- Move to Factory : Factory


# Inventory

Health [health] | Energy [energy]
Potion [potions] (Restore 30 health)

Your plasma rifle hums softly, charging indicator glowing blue. Standard-issue, reliable.
Base Damage [damage]

[move Factory]


# Factory
Rusted gates creak open. Inside, machinery groans under red emergency lights.
A massive shadow lurches forward - the Corrupted Drone.

It screeches: "Intruder... assimilate!"

[move Battle]

How It Works

  1. Use harrow.Library to parse a story file into a harrow.Story object.
  2. Pass the Story to harrow.Runtime, which interprets and runs the content.
  3. Attach listeners to harrow.Runtime events like text, choices and actions to connect the narrative to UI or game systems.

Documentation

Contributors
nayata
Version
1.3.0
Published
8 weeks ago
License
MIT

All libraries are free

Every month, more than a thousand developers use Haxelib to find, share, and reuse code — and assemble it in powerful new ways. Enjoy Haxe; It is great!

Explore Haxe

Haxe Manual

Haxe Code Cookbook

Haxe API documentation

You can try Haxe in the browser! try.haxe.org

Join us on GitHub!

Haxe is being developed on GitHub. Feel free to contribute or report issues to our projects.

Haxe on GitHub