-
Notifications
You must be signed in to change notification settings - Fork 1
Design
- 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.
- 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
- Coherence (arbitration of canonicity)
- 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.
A tool for developing systems and dictionaries
- Users make assertions
- User assertions are aggregated to derive probable relationships
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.
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
Observation by a world builder
Observation with unbound elements.
Example:
"what am I carrying": [ asker, asker.context, asker, contains, undefined ]
A non-canonical observation.
/* vim: syntax=markdown */