What a desktop might look like in VR

One of the key mechanics in our upcoming VR puzzle gameRuberg—is building a wacky chain reaction machine with a variety of gadgets (gadgets being key objects that users can use to build a machine).

A lot of gadgets on a table top

It is thus important for the spawning of these gadgets to be easy and useful. And in a world with no limits, making the final decision on that user experience can be difficult.

This is the final version we came up with:

https://gfycat.com/FewBoldHarborporpoise

To help us narrow down an approach, we looked at the history of graphical user interfaces (GUI’s) for inspiration. Human-computer interfaces have more or less shared the same key interface metaphors over the past few decades. One such metaphor is called the desktop metaphor in which the computer screen is treated as the surface of a desk (hence the name, desktop). In this metaphor, documents and folders resting on the table’s surface become embedded inside of windows on a computer screen. These windows can be moved around on a two-dimensional plane much like pushing objects on a table’s surface. The desktop metaphor underlies today’s window managers.

Xerox Alto Interface
Xerox Alto Interface. Source: http://www.computerhistory.org/revolution/input-output/14/347/1859

This desktop metaphor fits well for our VR puzzle game—Ruberg—because:

  1. Grouping objects is as simple as moving them into a window
  2. Windows can be moved and rearranged

These two points allow us to:

  1. Show a sensibly arranged assortment of gadgets for quick perusal
  2. Provide flexibility in how the user wants to organize their workspace

After this stage, we found ourselves asking:

If desktops are inspired by real-world tables, what would this desktop look like in VR?

We came to this question when we realized that the desktop metaphor was created to fit a three-dimensional view (of the table) into a two-dimensional view (for the computer screen). Why then, should we use an abstracted model when we can go directly to the original source of the metaphor? We are, after all, dealing with three dimensions instead of two.

This is the simple idea we came up with.

An image of a table with its legs cut off

We decided to treat the table as a three-dimensional object with its legs cut off because who needs gravity for VR user interfaces anyway. This gives us the following features:

Feature 1: 3D objects can be placed “on top” of the table surface rather than flattening it into a 2D representation

Feature 2: Tables can be moved around in space

After a few rounds of testing, we realized that there are two modes of using this “table”. One mode where the user can take the table with them, which we’ve called a shortcut access, and another mode where the user can leave behind the table floating in space, which we’ve called area-dependent access.

At this point, we thought the name table had to go. As you can see above, our table isn’t so much a table as it is a panel—and so we decided to call it a panel. Brilliant decision making—I know.

The value behind the shortcut access is obvious: by allowing users to bring their “panel” with them, they can have quick access to any gadgets on the panel.

https://gfycat.com/DefiantFirstKudu

We then thought about how groups of panel will follow the user. Will they float in front of the user? Or will they be attached to one of the controllers? We went with the latter purely because the distance is minimal between the gadget needing to be grabbed and the hand that’s doing the grabbing, and physically attaching something to something is more grounded in reality, which is exactly what the game is about (the building of chain reaction machines anyway *spoiler alert* but not the story). As a bonus, there’s a lot more control over how a gadget can be grabbed out of the panel if both hands are involved in the process.

After deciding that the panel would connect to the controller, it was natural for us to decide that the panel would be physically joined to each other in order to be moved as a group because, again, this is a game grounded in reality! This gave us our third feature:

Feature 3: panel have a physical form and can “snap” to each other or “unsnap” from each other to form groups or individual panels

https://gfycat.com/FrighteningThoughtfulIrrawaddydolphin

 

https://gfycat.com/OfficialLoathsomeKillifish

The shortcut access is useful but what’s also useful is being able to leave some panels in the air as an alternative way of accessing gadgets. This has some benefits: some users may prefer a single-handed operation, and others may want to massively spam a pile of gadgets to pick from versus grabbing from the panel and then placing one gadget at a time of which the area-dependent access affords.

It was great fun thinking about how a desktop might look like in VR and how users can use it to be productive. What was surprising to us is how relevant old metaphors were. We may not need the abstraction from having to convert 3D paradigms into 2D paradigms, but it was helpful to look at the source of the metaphors to see what early designers wanted to emulate. Modern interfaces have also evolved quite a bit and so we were able to draw inspirations from them despite them still being abstractions.

That’s it for this month. We’ll be releasing another dev blog about another feature in Ruberg next month. In the meantime, if you think you’ll enjoy building wacky chain reaction machines or solving challenging physics-based puzzles, please add Ruberg to your Steam Wishlist!


Here’s a bonus feature (though it’s a bit hard to see in the video):

Feature 4: Dampening of containers

https://gfycat.com/ThornyInfamousIraniangroundjay

 

https://gfycat.com/RewardingDamagedAfricanmolesnake

 


We’ve released Ruberg (Pre-Alpha) as a free download today!

We're excited to launch the pre-alpha version of Ruberg today!

You can download it on Itch.io: https://metanaut.itch.io/ruberg-pre-alpha

Watch the pre-alpha video below [01:43]:

 

Some screenshots:

 

 

 

Some GIFs from the video:

Launching a ruberg

Building a ruberg

Deleting gadgets

 

 

The goal of the pre-alpha is to have people play with the core mechanic of creating and using gadgets to build something incredible. So, kindly let us know what you think of the demo here.

Any help from you is very much appreciated :)


Why we replaced all UI buttons with sliders in our Ruberg game

Here's another weekly peek into our upcoming chain reaction machine game, Ruberg. This time we wanted to show how we've ended up with sliders instead of buttons for our in-game options.

 

 

In our game, players interact with the environment through the use of grabbers. Because building a chain reaction machine often requires a lot of finesse (e.x. placing a domino in the middle of a bunch of placed dominoes), we decided to make the controllers not collide with the environment. This creates an issue, however, when interacting with buttons, which requires you to press down on.

We thought about:

  • Squeezing the trigger button on the controller when the controller intersects the button.

But, Andrew and I didn't like how there was a disconnect between the affordance of the button and the action required to activate it. Our experience in the opening scene of The Lab confirmed this.

  • Using the grabber to grab onto the button and to press down on it.

This felt like too much work for the user.

  • Having the controller collide only with the button but still not with the environment.

This creates two different characteristics for the same controller.

In the end, we decided on using sliders. Using sliders gave us some benefits:

  • Built-in safeguard to prevent accidental activations. Sliders offer this by way of having the user drag the slider across a distance.
  • Built-in ability to allow changing of minds. You can backtrack on your decision while in the process of activating since the slider must travel to the end of the track to activate.
  • A physical and fun way to activate/deactivate options in a fun physics-based game.

Let us know what you think!

Subscribe to our Youtube channel if you'd like to see more sneak peeks of Ruberg.


Here’s a basic interaction in Ruberg: Glueing things onto the wall

A good chain reaction machine is multi-dimensional. The chain reaction moves on top of surfaces, but it also travels vertically.

There's something special when gravity is used to assist the continuation of a ruberg.

vertical-rube-goldberg-machine-magnets-balls

It's for this reason, we've added the ability to glue any gadget onto a static surface such as furnitures and walls in the level.

The ability needed to be easy to use and allows for quick actions. We didn't want players to have to perform rote interactions for something they may be doing often and in succession.

Here's what we came up with,

This is how it works:

  • Quick glue mode by toggling with the top trackpad button
  • Simply toggle-on the 'glue mode' and grab a gadget to put against a wall or furniture to glue

Let us know what you think on our reddit thread: https://www.reddit.com/r/Vive/comments/5wp7hr/youve_seen_our_menu_system_last_week_now_heres_a/

PS: We've updated our controller models! Also, an alpha demo will be coming shortly.


We thought cube menus were too restrictive. Here’s our take on a more modular menu system

One of the promises of VR is that everything will be intuitive. No longer will you need to use an unnatural input device like a keyboard and mouse—simply use your hands! But, one of the biggest jabs towards VR UX is that the simplest tasks are convoluted as this clip from the show Community points out,

Most menu/tool systems in virtual reality are flat and fixed in place. We believe they are anachronisms in the VR world. They adopt design decisions that were shaped by limitations in screen estate and 2D interactions that do not exist in VR.

Spending a lot of time on research and discussion, we've come up with a menu UI for Ruberg that has the following features:

  • Menu/tool options are categorized by panels
  • Each panel is attachable or detachable to each other
  • Custom-arrange panels to form any shape the user prefers i.e. cube menu, fan menu, etc.
  • Each panel can be fully detached and left floating in world space
  • Toggle on/off the menu on both hands
  • An additional set of panels (used for system-related options) that spawns a short distance away from the user
  • Above panels are also attachable/detachable so users can add those panels to their hands if they find themselves using those options often

Here's our take on what a menu system can look like in VR,

Follow the discussion thread about this on reddit here: https://www.reddit.com/r/Vive/comments/5vcm1b/we_thought_cube_menus_were_too_restrictive_heres/


A first look at our chain reaction machine VR sandbox game

Happy Valentine's Day everyone,

Instead of spending a romantic day with someone we love, we decided to spend it all by ourselves building this ruberg just for you ;)

Here's a first look at our chain reaction virtual reality sandbox game, Ruberg.

Share your love by joining our mailing list for email updates: http://eepurl.com/cAQOoD

Or on our subreddit, /r/ruberg