The Sabre Narrative Planner

Sabre is a fast multi-agent forward-chaining state-space heuristic search planner used to generate stories. It is a single "puppetmaster" agent that leverages it omniscience to coordinate many characters to ensure they behave realistically according to their (possibly wrong) beliefs and intentions. Sabre ensures that some system-level author goal is achieved, but it only uses actions that every character believes can lead to achieving their individual goals.

Sabre is the successor to Glaive. It supports the same features, plus more, and is significantly more efficient in both memory and time.

The Sabre planner:


  • Pure Java 14 (no additional libraries required)
  • Rich action syntax, including full ADL support (negative preconditions, typed objects, equality, conditional effects, first-order quantifiers)
  • Numeric fluents and arithmetic
  • Trigger events, which must occur when they can, and which are often used for belief updates based on observations

Source Code and Download

Sabre is maintained and released on GitHub:

A colletion of example Sabre problems and their documentation are maintained in a separate project.

Sabre is released under the Creative Commons Attribution-NonCommercial 4.0 International License, which means you are free to use and remix it for non-commercial applications as long as you credit the original creators. Sabre can be licensed for commercial projects by contacting the University of Kentucky Office of Technology Commercialization at