Tuesday, November 11, 2014

My Dream VR Platform


This may seem a bit silly to many, but I'd like to open a discussion on what people might want in a social VR platform. To get things rolling, I'd like to offer a description of my own dream VR platform which, for sake of a name, I like to call Hyperborea.


Architecture: Hyperborea is a peer-to-peer Virtual Habitat platform. It relies on generic internet data hosting to provide environment data much like the web but all environment rendering and scripting, avatar data, and live communication is client-based. In some cases clients can double as servers for temporary, personal/private, environment data. But most communication would rely on a DNS like mechanism for the propagation of environment metadata and its association with active clients. In this way linking to an environment--perhaps through a metadata file hosted like a web page--would link you to all active users' clients linked to the same environment, thus establishing a peer network.


There would be no virtual real estate--because it makes no sense. VR space is social space. Its purpose is to be a stage upon which avatars interact and perform for each other. That's the purpose of social VR. Thus environments only need to exist--have a processing overhead--for as long as there are active users linked to them. Having a personal/private space in an otherwise public persistent, contiguous, virtual environment makes no sense. Trying to sell such space as a mechanism for monetization is disingenuous, to say the least. Hyperborea's monetization model would revolve around the client program, content (environment models, avatar models, modular accessories like clothing, behavior/animation scripts, and 'gated' environments designed as games, theater, or specialized entertainment), and the tools for developing content.


In Hyperborea, all environments are discrete and content is modular and open by default. There is no collective centralized space subdivided into lots, islands, planets, or what have you. They can be linked in many ways and be of any size/scale--in VR size only matters to purpose and aesthetics. In VR there is only overhead in complexity, not scale. They can persist for short periods or indefinitely, but unless there are people there, they revert to just inactive file data. This allows for many modes of environment use and for independent physics models for each environment. Some environments are intended just for more-or-less private temporary use, are linked to by private communication, and might have their data hosted by the client program. (assuming they're relatively modest in associated data) Others might be more public, have many 'portals' linking them to other environments, and rely on persistent data hosting. Some might be 'instances'. In other words, the space might be publicly accessible but spawn private versions exclusive to one to several users--something we commonly see in MMOs to facilitate games with a specific storyline or series of pre-programmed events. Some might be large projects created by large cooperative groups of people or commercial developers, perhaps associated with a game and perhaps using specialized/customized client software. In all cases, the environment is still discrete and any 'rules' it might have about its use of space independent of the rest of the platform.


Because Hyperborea is about socialization, its design is centered on the avatar as the primary means of user self-expression. (this also includes pets, bots, and automatons which may also be associated with a user avatar) The client program is thus designed chiefly around avatar personalization, expression, and interaction and may be backed-up by additional 'off-line' environment and avatar modeling/editing/management tools and an online content marketplace for buying ready-made modular content. That marketplace can be integrated to the client and/or to individual environments. (though, today, creating special in-game currencies probably makes no sense now that we To maximize the ease of personalization and self-expression, extensive use of procedural modeling and animation would be employed along with a modular behavior scripting language. Much the same language would be used for scripting animations and actions in the environment as well. Avatars would feature full collision physics, be able to communicate in text (via text box or speech balloon), text-to-speech, voice, and 'masked' voice (speech processing/substitution to mask a voice) and be able to exchange virtual objects, files, and optionally digital currencies.


The client API and communications would be standardized and used both for users and various kinds of automation. This would allow for the creation of character 'bots' with unlimited intelligence and interaction because they would be run by software independently, on completely dedicated computers. This could also be used to create things like vending machines and run complex agents in large simulations. There is potential for abuse in this and so security safeguards would need to be built into clients and a mechanism for banning other clients on both the client program and environment level would need to be devised.


Graphics and modeling: Hyperborea supports conventional solid modeling for the basic environment and full mesh modeling with procedural kinematics for avatars and other discrete objects. It would support collaborative in-environment modeling using basic solids and landscapes, in-client modeling for detail work and mesh objects, and an open graphics API to support off-line modeling software. The in-client graphics editor, being heavily focused on avatar personalization, features extensive avatar management tools and procedural modeling and animation tools focused on character and animal design. Avatars would feature modular individually scriptable accessories like clothing, pets, and bots, and modular expression/behavior scripts to animate expressions keyed to manual controls (action menus, button pallets, etc.), keywords/phrases, or other triggers relating to any of the means of communication between client programs, avatars, and the environment.


User Interface: the Hyperborea user interface metaphor is based on a model of attention-driven perceptual modality intended for headset use. We don't yet have a robust technology for attention-tracking, but we can at least simulate this metaphor in a useful way with cruder push-button interfacing. The user exists in a three-level space; the basic environment in which the avatar operates, HUD-space which is private to the user, and a super-space or web-space which is also private. The HUD-space and super-space have multiple levels of perception. At a superficial level of attention they overlay context-specific information onto the field of view of the basic environment, visible only to the user. With deeper/more concerted focus they become dominant and push the view of the basic environment into 'background' perception represented by a progressive blurring and darkening of the field of view--much the way many FPS games blur the FOV as a pop-up window is displayed.


The superficial HUD space is used to display context-specific information about things in the FOV in a space defined by the FOV. It's used for things like pop-up info about objects, guide overlays, popup maps, text chat boxes, and so on and uses a point-and-touch control approach limited by FOV bounds. The 'deep' HUD-space is used to operate in the controls of the client program and avatar manager and employs a radial scrolling 'desktop' that can be rotated horizontally around the yaw axis and scrolls vertically--rather like the interfaces being explored for Mozilla VR, but specific to the controls and features of the Hyperborea client. This interface uses gestures to move the plane of the desktop while using point-and-touch to operating individual controls.


The super-space is chiefly about navigation and so the superficial level would be about the metadata associated with the basic environment and location of the user, framed by the plane of the FOV. The 'high' super-space is for navigating in the overall environment, where a map is available, and the larger web of environments using a spatial-mapped model of the collective VR habitat. It uses a spherical space model with a default horizontal orientation and zoom-in/drill-down scrolling. Here the user can teleport to different locations. This is also used for tracking and communicating with friends outside the current environment and would host pop-up control panels/displays for that communication. A kind of video-phone display might be suitable.


When a user is accessing the deep/high alter-spaces their avatar may visually indicate that they are not paying attention to the basic space by icons, a blurring of the avatar, or symbols like miniature representations of these user interfaces around their heads.


And so there we have my imagined dream VR platform. What sort of features would others want to see in such a platform?







Submitted November 11, 2014 at 12:54PM by EricHunting http://ift.tt/1pO33eR

No comments:

Post a Comment