Skip to content
Robert de Forest edited this page Dec 13, 2025 · 2 revisions

Assumptions

  • Resources are not constrained
    • Ample memory, CPU, bandwidth
    • Minimal latency
  • Previous VR projects hampered by focus on
    • Simulation (accuracy)
    • Visuals
    • Audio

We're not modeling reality, we're modeling perception and narrative.

Components

  • Low-level
    • Authn/authz
    • Domains
      • Resource management
      • Policies
    • Persistence
    • Network connections (clients and other servers)
  • Referent and relationship semantics
    • Coherence (arbitration of canonicity)
      • Domains are the observers of canonical events
    • Event dispatch
    • Derived relationships
  • Proxy Objects
    • How Objects can appear to wander between domains
  • Platonic definitions
  • Referents
  • Relations
  • Standard contexts (the lowest is 'atomic' - "because we say so")
  • Agents (Referents which act on Relationships)
  • Grouping
  • Connections
  • Portals
  • Containment
  • Transformations
  • morph
  • dissociate
  • destruction/creation such as melting a coin
  • Events
  • Propagated observations

Similar to RPG systems

Definitions of abstract Referants and Relationships

  • location, wall, door, window, room, building
  • sight, smell, touch, sound, flavor
  • skills
  • actions
  • etc

A template for a fully realized World a user could interact with.

  • A map
  • NPCs

An instance of a System (or Settings).

Connects a user to some domains. MVP will have two: JavaScript in a browser and a classic telnet interface.

Sub-projects

A tool for developing systems and dictionaries

  • Users make assertions
  • User assertions are aggregated to derive probable relationships

Cross-Cutting Concerns

Maps between Referants and text for input and output. There will be a dictionary for each level of a user's interaction:

  • System
  • Setting
  • World
  • Avatar
  • User

Each level may have multiple dictionaries: system.dict.en, system.dict.fr, etc. The closer the dictionary is to the user, the greater precedence it has. The user's dictionary trumps all others.

Here be dragons!

Referant

Anything which can be referred to. It is the destination of every mapping, namespace or otherwise. It is an anchor point for discourse. It is a thing participants in a conversation can discuss, agree on the subject but not the nature. In the 'blind people describing an elephant', the people, the elephant, its trunk, legs, tail and what-not are all referants, but so too are their statements about the elephant as well as the aspects of their statements. A description such as "Course like a tree", in describing a leg, contains multiple referents whose meanings are each based in the contexts the speaker draws from. The referents (objects) in the phrase are 'course', 'like', and 'tree'. The particle 'a' is merely a grammatical necessity.

Referants are not called 'objects' because that word is overloaded and we need to reserve it for its meaning as a part of speach.

An Observation is a 5-tuple describing an assertion of some sort.

The elements of the 5-tuple are:

  • Observer: source of the observation
  • Context: Within what scope is the observation exists. Need more discussion here
  • Subject, Object = entities to be compared
  • relationship = The differential observed (what was special/worth noting)

Example: "I saw Mommy kissing Santa Claus..."

  • Observer: this.currentNarrator()
  • Context: this.captureContext({why: 'interpreting song'})
  • Subject: observer.meaningOf('mommy')
  • Object: observer.meaningOf('santa clause')
  • Relationship: observer.impliedMeaningOf('kissing', subject, object)

Computed observation

Declaration

Observation by a world builder

Query

Observation with unbound elements.

Example:

"what am I carrying": [ asker, asker.context, asker, contains, undefined ]

Hypothetical

A non-canonical observation.

/* vim: syntax=markdown */

Clone this wiki locally