Skip to content

Re-implementation of various StoryNexus features in Dendry

License

Notifications You must be signed in to change notification settings

aucchen/dendrynexus

Repository files navigation

DendryNexus

Build Status Dependencies Status Test Coverage

DendryNexus is an interactive fiction framework based on Dendry. It is a strict superset of dendry, and has all of its features, but in addition has support for the card-game paradigm used in the now-defunct StoryNexus. Unlike StoryNexus, DendryNexus works entirely in the browser and does not have a server component.

Right now, using DendryNexus is not recommended unless you have used dendry previously, are somewhat familiar with the StoryNexus paradign, and can debug js/html/css.

The best way to get started with dendry is to read smhwr's guide.

To install:

npm install -g .

To create a new project:

dendrynexus new

To create a playable html/js from a dendrynexus project:

dendrynexus make-html

DendryNexus Features

Hands

A scene with the property is-hand: true will be presented as a hand, showing the choices in this scene as decks, the cards in the hand, and the pinned cards.

All choices available in a "hand" scene should be either decks or pinned cards, and will be displayed as such.

Decks

Decks are implemented as individual dendry scenes that do not have any text, but do have the is-deck: true property, as well as a set of potential choices (most likely tag choices). In order to draw from a deck, DendryNexus will identify all of the available scenes from the deck-scene's potential choices, and randomly return one such scene. So it really isn't like drawing a card from a deck at all...

The card-image property is used to indicate the deck's image.

Cards

Cards are implemented as dendry scenes that have the is-card: true property. Pinned cards have the is-pinned-card: true property. Cards are otherwise just normal scenes, and can lead to a chain of other scenes that are not cards. Transitioning back to the hand scene has to be done manually at the end of a scene chain.

The card-image property is used to indicate the card image.

Stat checks

Using a stat check in a scene requires a few different properties to be in order:

  • check-quality: this is the name of a single numeric quality
  • broad-difficulty: or narrow-difficulty: See FL wiki
  • check-success-go-to: scene to go to on success
  • check-failure-go-to: scene to go to on failure

Selecting this scene will immediately transition to either the scene indicated by check-success-go-to or check-failure-go-to. The text in a stat check scene will be displayed before the results, on either success or failure.

Debugging

In the browser, the state is stored as dendryUI.dendryEngine.state. Qualities are at dendryUI.dendryEngine.state.qualities.

About

Re-implementation of various StoryNexus features in Dendry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published