User Definition [Draft]
Defining your existence
The core system defines a space, but no user is inherently present in or related to the space.
The optional systems define how a user relates to the space. To do so, we must first define what a user is. This document focuses on that definition.
User
A user is an entity that must own or have access to an interface, and may have an inventory.
Users include, but are not limited to, human beings or other intelligent entities. For example, a common user is a null user, which is usually hard-coded into the program and uses the system interface to trigger corresponding functions.
Interface
An interface is a set of events that can be triggered and calls corresponding functions known as interactions.
Camera
Each user may be associated with a camera. The camera can be moved in response to interface interactions and serves as the user’s primary visual viewport.
External interface
There are predefined sets of external interfaces commonly available on different platforms:
- Desktop:
- Mouse click (left or right) (at a place)
- Mouse drag (along a path)
- Keyboard input (with some characters)
- Mobile:
- Single tap and multi-tap (at places)
- long tap (at a place)
- Tap and drag (along a path)
- On-screen keyboard input (with some characters)
- System / Null users:
- System interface: may monitor user-defined events occurring in the space or inventory as interfaces.
- A null user is a system user that is implemented in a non-explicit way.
Avatar interface
The avatar interface has two layers: the control layer and the avatar layer.
The control layer is the external interface. When triggered, it calls an interaction function to control the avatar and perform a behavior.
The avatar’s behavior then acts as an interface in the avatar layer. Common behaviors include:
- Moving (towards a direction or along a path)
- Standing (at a location)
- Engaging (with an object, self, or another avatar, may with options)
Inventory
An inventory is a list of items associated with a user. It represents the set of artifacts currently held by the user.
An inventory may include special slots that are monitored by system users. These are sometimes referred to as equipment slots or state slots.
In implementation, inventory elements may correspond to items or tokens stored in a user's wallet, or to contextual contents such as a backpack.
Item
Items are typically Artifact objects,
but may be any object.
They can also be monitored by system users.