The Martian Skiff Scenario: an XR Thought Experiment

  • Teleportation: instaneously changing POV position in a virtual experience.
  • Continuous virtual-space motion: changing POV position in a virtual experience by “animating” gradual changes over time.
  • Real-world motion: changing POV in a virtual experience to match motions made by the user in the real world.
  • AR: an experience involving virtual objects imposed over/into the real world.
  • VR: an experience fully supplanting the real world with a virtual substitute.
  • Fixed anchors: AR abstractions which represent an unmoving location in the real world.
  • Movable anchors: AR concepts which represent a moving location in the real world.
  • Plane detection/spatial mapping: techniques for perceiving real world surfaces for use in virtual experiences.
  • Local-presence multiplayer: multiple individuals in the same physical and virtual location participating in the same experience.
  • Remote-presence multiplayer: multiple individuals in the different physical locations but similar virtual locations participating in the same experience.
  • Persistence: the property by which an experience maintains state across user sessions, allowing users to “leave” and “rejoin.”

The Martian Skiff Scenario

Overview

The office in real life. Original photo by Adolfo Félix on Unsplash.
The office as a virtual skiff “sailing” across the surface of Mars. Mars photo by NASA, posted by ATSE.

Narrative Example

Usage of Features

  • Teleportation: at the end of the narrative, Dana teleported the entire skiff (with the office on it) from one location on Mars to another.
  • Continuous virtual-space motion: throughout most of the narrative, the skiff is continuously moving across the surface of Mars.
  • Real-world motion: both Alice and Charlie walk through the physical office space while in the experience, and their perspectives on virtual objects change to match their moving perspectives on the real world.
  • AR: Alice, Bob, and Charlie all participate in the experience using varying manifestations of AR on different devices.
  • VR: Dana participates in the experience using pure VR. Furthermore, when Alice initially looked out to find the rock and could see only virtual objects (as the office was behind her), she arguably experience VR as well.
  • Fixed anchors: the office space in general is described using multiple anchors so that XR entities can be present throughout it. In particular, there are fixed anchors near both Alice’s and Bob’s desks so that virtual objects can be placed upon them.
  • Movable anchors: there is a movable anchor on Charlie’s cart which allows virtual objects placed upon it to travel with it when it moves through the real world.
  • Plane detection/spatial mapping: Alice and Charlie’s devices used spatial mapping and plane detection, respectively, when setting down the virtual rock on physical surfaces. (Note: this is not the only way “setting down” could have been implemented — the experience developer could have also manually placed physics-enabled shapes in the correct places relative to the anchors — but plane detection/spatial mapping are options which are, for completeness’s sake, what we choose to assume were used here.)
  • Local-presence multiplayer: Alice, Bob, and Charlie all share the experience from the same physical locality.
  • Remote-presence multiplayer: Dana shares the experience from a remote locality.
  • Persistence: the experience is consistent and persistent across all users and across time, as demonstrated by how the virtual rock is left for Bob so that, when he arrives later, he finds it where it was placed on his desk.
Photo by Maxim Hopman on Unsplash

So What Does It All Mean?

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Babylon.js

Babylon.js

Babylon.js: Powerful, Beautiful, Simple, Open — Web-Based 3D At Its Best. https://www.babylonjs.com/