nips/63.md
2024-11-25 15:57:56 -05:00

1.5 KiB

NIP-63

Build Your Own Adventure

draft optional

This NIP introduces kind:296 and kind:297 as text-based notes designed to create interactive stories. These notes include options for navigating to subsequent notes, allowing readers to continue exploring the story. Kind:296 serves as the root event for the story, while kind:297 represents individual scenes within the narrative.

The idea is to emulate "choose your own adventure" books, where each reader's journey through the story is unique.

Story events can include an optional title tag and multiple option tags that point to the next possible scenes.

Clients SHOULD render the options in a way that allows users to select and seamlessly navigate to the corresponding posts.

Example for kind:296 (Root Scene)

{
  "kind": 296,
  "content": "<the beginning of the story>",
  "tags": [
    ["title", "<short title for this part of the story>"],

    ["option", "<description>", "<event_id>", "<relay_hint>"],
    ["option", "<description>", "<event_id>", "<relay_hint>"],
    // ...
  ]
}

Example for kind:297 (Scene)

{
  "kind": 297,
  "content": "<continuation of the story>",
  "tags": [
    ["title", "<short title for this part of the story>"],

    ["option", "<description>", "<event_id>", "<relay_hint>"],
    ["option", "<description>", "<event_id>", "<relay_hint>"],
    // ...
  ]
}

The story concludes when no option tags are present.

The .content field SHOULD follow the same formatting rules as kind:1.