Holodeck

Introduction

Within YOM, Brands can create a presence in the Metaverse, by hosting Experiences (Metaspaces and Events taking place in those spaces) as well as offering Collectibles to Consumers. Access to these Experiences is provided by Passes and Tickets that are offered through the YOM Marketplace. Next to that, on the Marketplace, it is possible to offer Collectibles that can be used in the Metaspaces, including
  • Wearables
  • Avatars
  • Expressions
  • Mods
  • Placeables
  • Toys
The Marketplace also provides the gateway to the different Metaspaces that are available. By visiting the Metaspace or Event page, Consumers find a "matchbox" window rendering a pixel stream of the selected Metaspace. Of course, it is possible to maximize the window to enter a full-screen experience. It is also possible for Brands to host the Metaspace on their websites.
The initial view on the Metaspace is anonymous and common to all visitors, rendered by a Virtual camera. After a Consumer has logged in to their Profile, the Wallet information becomes available and if the Consumer owns a valid Pass, it becomes possible to enter the Metaspace using their own Avatar.
Within the Metaspace, it is possible to Chat with other Avatars using voice. It is also possible to zoom in on objects or other Avatars. Avatars that have not yet been customized will all look the same. All Collectibles that are in the Wallet of the Consumer will be equippable by their Avatar in the Metaspace, providing the possibility to customize appearance and abilities. This includes the Expressions and Placeables that can be used for expressive, gameplay, or decoration purposes. It is also possible to inspect other Avatars, to see which Collectibles the other person has equipped (this opens in the Marketplace). All Avatars have the same amount of item slots. For each slot, a single Collectible can be equipped.
Brands can organize Events in Metaspaces, where Artists can perform according to a Time Schedule. If Consumers have a valid Ticket, they can enter the Area where the Event is scheduled to take place.
Each Metaspace will have configurable Filtering, meaning it is possible to whitelist Brands and/or Collections that have items usable in that Metaspace. Alternatively, it is possible to blacklist items flagged with certain properties (ie. adult, branded).

User interface

The Holodeck provides a white-labeled User Interface that can be used in all Metaspaces. It can also be customized based on Brand wishes. The following main design pillars are taken into account:

Cross-platform compatibility

The UI must work on pc, Chromecast, tablet, and phone. It must be both readable and have decent controls on both platforms. Some UI elements may be different on a phone, but the overall layout must take all platforms into account; How readable the screen is and how well it controls. It should work with a mouse, keyboard (pc), Chromecast, and touch interfaces (phone/tablet). We want mass adoption and ease of entry, regardless of medium.
Minimalistic Interface
We want our Users to have a clear view of the Metaspace and Events. We don't want the UI to ruin that experience. To that purpose, the UI should be easy on the eyes, and not in the way of viewing the Metaspace. Any UI elements that can be hidden, should be hidden. We also don't want the screen cluttered with buttons. Only essential UI elements should be visible during normal gameplay. However, we have to be careful that we don't hide important UI elements (see below).
Easy Access
Functions that the user will use often, will be accessible directly. These functions won't be hidden in submenus.
Ease of use
It should be easy for new users to understand how to use the UI, (preferably) without explanations, tutorials, etc. This should be regardless of skill level, from a pro gamer to a casual user who is just visiting a Metaspace for the first time.
Follow standardized controls
Most standardized UI elements should work the way users would expect them to work. There is no need to reinvent the wheel.
Unification of UI elements
Merging groups of buttons that have related functionality together and have as few as possible separate windows. We don't want users to have to search for things or to be constantly taken out of an experience by windows that obstruct their view of a Metaspace. Functionality should be where you expect it to be.
Quick Marketplace Access
The User should always be able to quickly navigate to related Marketplace pages. Preferably with a single click.
Flexible
We should be able to easily add more buttons and functionality later on, without being 'stuck' in our rigid UI design. Interface elements should allow for more elements to be added later.
Readability
On all platforms, any text should be clearly readable, but the user should also be able to clearly see and be able to identify icons and items. For example, a T-shirt in your inventory should not be a tiny picture on your phone. We also want to take color blindness into account with our color choices.

Inventory system

The inventory screen is where the user finds all their items and can use them. The inventory should work for PC, Tablet, and Phone users, and should work with a mouse, keyboard, and touch interfaces.
View all items
The user should have a clear overview of their entire inventory.
Select Item
The user should be able to select an item, which should open up other options.
Inspect Item
After selecting an item, the user should be able to find information about the item, and if it belongs to a collection. (We may want direct access to the Marketplace here too)
Equip / Unequip / Use Item
The user should be able to equip and unequip wearables.
Search Items / Item Sorting
The user should be able to quickly find a specific item among a large list of items. The user should also be able to quickly find a new item that they have just acquired.
Find by association and importance
The user should be able to easily find other items in a collection, or currently equipped items.
Readability
The user should be able to see what an item is, before using it. Even on smaller screens.
Open / Close Inventory
The user should be able to easily open the inventory screen, or hide it completely from view.
Attire Preview
The User should be able to preview a wearable on their avatar, before wearing it.

Environment mechanics

To define what mechanics are needed for a functional Metaspace, we first have to think about the use case for the Consumer. We also have to think about the Brands that will be creating these experiences and the different scales of experiences that they might want to host. For example, a brand like Coca-Cola might want to create a Christmas Metaspace, with a Christmas Event where they hand out (airdrop) Coca Cola Items (wearables). But a big pop artist might want to host a virtual pop concert Event inside a Metaspace, where the concert is run pretty much like a live stage show.
The demands of these two types of Experiences are very different and they also require different amounts of people to run. And of course, they require different mechanics. Ideally, we would want to facilitate any kind of experience, regardless of scale or complexity. Metaspaces do not need to simulate real-life spaces. Anything is possible in a Metaspace. So while a Metaspace can be a concert hall or a museum, it can also be an interactive art experience.

Usecase for the consumer

As a Consumer, I want to visit a Metaspace in order to attend an Event (for example), of one of my favorite Artists. I'll need to buy a Ticket for the event first, which will then grant me access to the Metaspace, wherein I am represented by my virtual Avatar. I appear with my avatar in a designated starting area of the Metaspace.
Inside the Metaspace, I want to be able to interact with other attendees, and I want to be able to show off my wearable Items. I also want to be able to change what my Avatar is wearing at any point. I need to be able to freely move around, interact with things, and be able to attend the event when it starts.
When I attend an event, I expect the event to validate my Ticket, and automatically grant me access to the event area. During the event, I want to be able to see and hear the performing artist. I also want to be able to easily find my friends and Talk with them during the event. I also want to interact with the performing Artist and their Staff. I also want to be able to express myself and engage with the event itself.
After the event, I may still want to hang out with my friends and get some goodies (airdrops!). I want to be able to look at the items in my Inventory and show them off to my friends. Some of these goodies I may want to trade later on the Marketplace.

First Contact Metaspace mechanics

Mechanics that we want for the Q1 version of the Metaspace. They are the most important mechanics for building a basic Metaspace for single player with Pixel stream.
Pixel stream via virtual camera
An animated camera feed from one or more virtual cameras in a Metaspace, that provides a pixel stream to a web page. The Metaspace must be able to identify which camera(s) to use for the Pixel stream. The camera could be stationary or "moving" (ie panning, rotating, zooming, changing position or combination of these).

Core Reactor mechanics

Mechanics that we want for the Q2 version of the Metaspace; a multiplayer Metaspace with inventory, avatars and voice chat.
Spawn volumes
Zones in which users enter the Metaspace. When a user enters the Metaspace, their virtual avatar is dropped into the world in one of maybe several spawn areas. For this mechanic it is important that users are spread out as they spawn in the Metaspace. Spawn areas could later be designated to only allow users of a certain type to spawn. For example, we'll probably want to spawn event Staff in a separate area from the regular Consumers.
Detect User Join Metaspace Event
We need to be able to detect when a User actually joins a Metaspace and fire logic accordingly, such as switching the camera to the player's view, amongst other things.
Interactive Objects
Objects that Users can Use; access of which may be restricted by Usertype. For example, a spotlight that a Staff member can move around, or a pickup station where an event attendee can pick up a piece of exclusive merchandise. Or a fireworks launcher that can be fired by any kind of user. Or something as simple as the doors to an event hall, which only the event staff can open and close. A chair that a user can sit on. Some interactable objects could also be hidden, based on usertype.
Toys
A special type of Item that Users can spawn from their Inventory, which then become an Interactive Object that other Users can interact with. For example, a basket of water balloons that a user can drop into a Metaspace, allowing everyone to have a water balloon fight. Toys will despawn automatically after a time, and have an internal cooldown that limits how often they can be deployed from the inventory.

Multiplayer

TODO

Events

In order to define what mechanics are needed for an event inside a Metaspace, we have to think about the use case for our two main user types: the Consumer and an event Staff member. What do we want them to be able to do during an Event?

Use case for the consumer

As a consumer, I want to visit a Metaspace in order to attend an Event, of one of my favorite artists. I'll need to buy a Ticket for the event first, which will then grant me access to the Metaspace, wherein I am represented by my virtual Avatar. I appear with my avatar in a designated starting area of the Metaspace.
Inside the Metaspace I want to be able to interact with other attendees, and I want to be able to show off my wearable Items. I also want to be able to change what my Avatar is wearing at any point. I need to be able to freely move around, interact with things, and be able to attend the Event, when it starts.
When I attend an Event, I expect the event to see that I have a valid Ticket, and automatically grant me access to the event area. During the event, I want to be able to see the performing artist. I also want to be able to easily find my friends and talk with them during the event. I also want to interact with the performing Artist and their Staff. I also want to be able to express myself and engage with the event itself.
After the event, I may still want to hang out with my friends and get some goodies. I want to be able to look at the items in my Inventory and show them off to my friends. Some of these goodies I may want to trade later on the Marketplace.

Use case for the staff

As a Staff member, I want to have as much control as possible over an Event. I want to be able to have areas of the event that are exclusive to staff, such as a Stage where an Artist performs. I want to be able to distribute roles and responsibilities among the staff, be able to keep everything on track, and be able to interact with the audience. I want to have control over everything that performers, stage technicians, camera operators and security would have control over during an actual live event, in addition to the things needed to run a virtual event. So this includes lights, sound, props, items as well as be able to remove users from the event, or mute them if needed. I also want to be able to quickly access any area of the Metaspace at any time, and be able to broadcast the event via virtual cameras. I want to be able to hide myself from the audience if I so choose, and prevent the audience from having access to areas that are exclusive to staff. I also need to be able to communicate with other staff members and be able to give them stage instructions.

Primary Event mechanics

Core Event Mechanics that are (probably) required for running any type of event inside a Metaspace.
Admin options
Staff need to be able to kick, block and mute specific users during an event from inside the Metaspace.
Event area volumes
Zones that define where an event takes place. Staff and the Event Manager can control the state of this, to block entry until an event starts, or to forcibly move an audience out of the event area and to another area. An event area may also mute sounds from inside the event volume to anyone outside the volume. If you are not inside, you don't hear any of the music from inside. Possibly it also hides text chat from inside the event area, if you are not taking part in the event. This would also allow for the hosting of simultaneous events within the same Metaspace. Staff members may want to have control over these properties.
Ticket check volumes
For Events: Zones that only allow Users with valid Tickets to enter. The zone should check if the user has a valid Ticket in their Inventory and block them if they don't. Additionally we may want to prompt the user with a message to inform them that they need a ticket and where to get one. This could then point them to the Marketplace.
User blocking volumes
Zones that restrict access to specific users. We probably want to be able to block specific user groups, based on their role. A blocking volume that blocks Consumers, can be used to keep an audience off the Stage during a performance by an Artist. A certain area of the stage could also be exclusive to just the performing Artist, and not to any of his supporting Staff. Perhaps some of these access privileges could be defined in more detail outside the Metaspace via user sub-groups, or based on NFT's.
Transformation volumes
Zones that modify the Users. How they move and how fast, while they are inside of them. Such as a zone that makes you swim, fly or levitate. Or a zone that allows users to run really fast. Or snowboard. These types of zones could also transform users and change their appearance temporarily, by changing their avatar entirely or giving their avatar a special effect.

Secondary Event mechanics

Additional Event mechanics that we need to think about, some of which my be vital to running an event inside a Metaspace. All of these require some discussion.
Interaction volumes
Zones that respond to what users are doing inside of them, and fire events accordingly. For example, we could have a moshpit, which trigger logic if enough users jump. Interaction zones can be enabled and disabled during an Event by the Staff or the Event Manager. Interaction zones should be able to filter by the various things a user will be able to do and trigger logic accordingly.
Remote controlled objects
Objects inside the Metaspace that event Staff can use from outside the Metaspace. For example, a stage-light controlled by a light technician on a real world light panel. DMX functionality.
Virtual display screens
Screens inside the Metaspace, upon which visuals can be projected. Display screens could be linked to virtual cameras, to show what the camera is filming on the screen. Possibly these could also be used to show live streaming video?
Trade options
An option to directly send another user an Item. An Artist may want to click on a member of the audience and hand them a special hoody during the Event. Or a Consumer might want to give a friend a T-shirt, while attending an event.
Fast Travel Option
Fast travel allows a user to quickly move from one area of a Metaspace to another. This may be especially useful in very large Metaspaces for event attendees and staff alike.
Quick access to event functionality
Staff members may need to be able to access certain objects in the Metaspace via the UI. Such as having a button to start/end the Event, a button to open/close the doors, a button to start admitting guests, etc. Alternatively this could be done from outside the Metaspace with the Event Manager.
Broadcast System
Staff may need a way to make public announcements to people attending an Event. Such as an announcement that the event is about to start, or a reminder for them to pickup their exclusive goodies. We also need to be able to inform users when they don't have a valid Ticket.
Avatar visibility settings / Ghost
Staff members may want to be able to hide their Avatar from view for whatever reason, so that event attendees cannot see them, and they aren't visible on virtual cameras. This allows an Event to have a large crew behind the scenes that is completely invisible to the audience.
Avatar size settings
As an Artist I may want to increase the size of my avatar on the fly, for better visibility to my audience.
Stage directions
Markers that Staff members can place, to direct other staff members, but which may be invisible to the audience. Or markers that are placed by the staff specifically to instruct the audience.
Tags
Visual indicators above the Avatars of specific Staff members, which may or may not be visible to the audience. For example, during a performance the performing Artist may have a tag above his head to differentiate himself from everyone else.
User mail
We may want users to be able to receive notifications inside the Metaspace. This can be useful when informing the user, or when sending them warnings for bad behavior. This could also be used to inform a user that they have won an Item, and the item could be attached to the notification.
Achievements
Achievements are an easy way to encourage users to participate in lots of events. Achievements can be tied to Brands and Collections.
Manage playlists
Should event Staff be able to manage play lists from inside the Metaspace?
Mocap (re)configuration
We may want to allow a User to quickly reconfigure their mocap suit without leaving the Experience. In the future this may apply to all users; the performing Artist, but also event attendees.
Direct viewing of event camera
If an Event is being filmed with virtual cameras, event attendees may want to be able to switch between their own view, and the event camera view.
Npc crowds
We can fill a Metaspace and/or Event with a crowd of npc's to make sure it never looks empty.

Type of experiences

TODO

Avatars

TODO

Character creator

TODO

Content delivery

  • Comment sectie
  • Controls / fullscreen
  • WebVR
  • Pixelstreaming