datasworn icon indicating copy to clipboard operation
datasworn copied to clipboard

Create an entity template schema, for describing generation tasks like NPCs and Settlements

Open rsek opened this issue 1 year ago • 1 comments

FVTT has its own system for this. So does the obsidian plugin, and IIRC Crew Link and Stargazer do, too.

features might include:

  • specify the customary order for rolls
  • specify whether a roll is part of the "first look" at the entity
  • allow picking from one of multiple OracleRollable options for the next roll
  • pull in tags on OracleTableRows (similar to old Dataforged's oracle attributes), and use them to select the next roll (for entities that have a subtype)
  • provide a label for the attribute.
  • fold in the current roll_template property -- either incorporating it, or replacing it entirely
  • should be relatively painless to author a new template
  • templates should be checked against available tags, URLs, etc during post-build validation of JSON
  • allow references to other templates. e.g. "Faction" template pulling in the "Faction Name" template (which is its own entity)

Oracle rolls might be positioned as their own kind of Attribute<T>, alongside Attribute<Int> for stats, condition meters, and so on. Then, player characters and incidental vehicles might be described with the same system, and these properties could be assembled as desired to describe many kinds of 3rd party content.

Example Entity Types

  • Starforged
    • NPC
    • Creature
    • Settlement
    • Starship
    • Derelict
    • Precursor Vault
    • Planet
    • Space Sighting ("near" and "far")
    • Faction

rsek avatar May 25 '24 00:05 rsek

Consider: moves, as a hint for "for this step, make this move, then..."? Opens up some interesting possibilities, but it functionally turns the entity schema into a description of a multi-step "macro" operating in the Datasworn rules set -- that's some serious scope creep.

Might be best left for another library based on datasworn; worth keeping in mind and leaving conceptual "space" for when designing the schema.

rsek avatar Jun 11 '24 20:06 rsek