WINDOWS MIXED REALITY

Today we will have a look at a Windows Mixed Reality headset, more specifically the Lenovo Explorer. First let us have a look at what Windows Mixed Reality headsets are. Despite their naming, Windows Mixed Reality headsets are not a mixed reality technology like the Microsoft HoloLens, but are Virtual Reality Headsets and Motion Controllers based on technologies developed by Microsoft and manufactured by OEMs like Lenovo, HP and Dell to name a few.

Each of the manufacturers made minor changes to their headsets, for example the HP Headset introduced detachable cables, which is a great feature, however also reduced the field of view to 95° (Compared to a 110° field of view for most of the other Windows Mixed Reality Headsets) which results in a rather terrible binocular effect. So, part of the challenge is selecting a headset that meets your requirements based on the differences between the headsets in a variety of areas, such as field of view, fit, comfort and weight.

Below are the high-level results of my research for each headset I considered:

  • Samsung Odyssey: Great headset, however at time of making my purchase it was over double the price of the other headsets.
  • HP WMR Headset: Detachable cables are a great feature, however the field of view (95°) is a deal breaker.
  • Dell Visor: Has a terrible fit and has the worst light bleed of any of the headsets from the headset not properly sitting on the users’ face.
  • Acer WMR Headset: Good all-rounder, however I really did not like the visual design of it.
  • Lenovo Explorer: Good all-rounder and more muted design compared to Acer.
  • Asus WMR Headset: Out of Stock at time of my Purchase, also its price is comparable to Samsung Odyssey.

All the Windows Mixed Reality Headsets have a per eye resolution of 1440×1440@90Hz, except the Samsung Odyssey which has a resolution of 1440×1600@90Hz, compared to 1080×1200@90Hz for the Oculus Rift, 1080×1200@90Hz for the HTC Vive and 960×1080@120Hz for the PlayStation VR.

The three above mentioned headsets do however utilise OLED Displays whereas the Windows Mixed Reality Headsets (except the Samsung, which uses AMOLED) use LCD displays, resulting in the Windows Mixed Reality Headsets experience slightly less colour saturation and contrast, however most people would have a hard time noticing the difference if they did not compare the headsets side by side.

Another area in which the Windows Mixed Reality headsets differ from the other major VR headsets is in the way it handles position tracking. In the case of the Oculus Rift, HTC Vive and PlayStation VR, these headsets utilize some form of external components, such as the Oculus Cameras, Vive Lighthouses and PlayStation Camera, to track the users position in the virtual world. This is great for tracking accuracy, but it is not ideal from the perspective that additional devices are required, that often must be purchased separately, as well as the additional configuration and cables that need to me managed and kept out-of-the-way.

For many people space is also a problem and setting up a designated VR space is simply not an option and packing up everything between uses is very cumbersome. Thus, with these headsets, although the results are amazing, the setup is tedious, and they are far from easily movable once setup.

This is where Windows Mixed Reality takes a different approach, using what is called inside-out tracking. This technology is based on the learnings and technologies Microsoft refined in the development of the Xbox Kinect. Instead of using external components to track the users’ position, all user tracking happens using sensors, such as cameras and Infra-red, contained within the headset. The results are surprisingly good, with the only real trade-off being that the motion controllers are tracked only if they are in view of the headset. Thus far I have not found a VR game where this resulted in any problems.

As far as configuration is concerned, things are very straight forward and easy with the headset requiring one USB 3.0 port and one HDMI 1.4 (2.0 is however recommended) port.

Microsoft lists the minimum GPU required as an Intel HD620, however what can be run on this GPU will be seriously limited. A more realistic GPU requirement can be ascertained by looking at the SteamVR and Oculus minimum requirements, which lists a GeForce GTX 970, however certain games do require a more powerful GPU. All my testing was done on a GeForce GTX 1080.

Now that we have covered all the hardware related information, let us have a look at some of the content and games available for the headset.

There are three main platforms on which you can get content and games for Windows Mixed Reality Headsets, they are Mixed Reality Portal, SteamVR and Oculus Store.

The Mixed Reality Portal is the Microsoft platform and is designed for Windows Mixed Reality headsets. The games and content available on the Portal is however by far the most limited of the three platforms.

With SteamVR the user will need to install “Windows Mixed Reality for SteamVR” from the Steam Store. Once this is completed SteamVR titles will be playable on the Windows Mixed Reality headset. Titles officially supporting Windows Mixed Reality will have the following icon: wmr_icon

Steam

However, all SteamVR titles I tested, the majority of which did not have official support worked perfectly. So, do not feel restricted to only titles that list official support for Windows Mixed Reality.

To play Oculus games on your Windows Mixed Reality headset you will require an application called Revive. The complete setup instructions can be found here. All titles I tested from the Oculus store worked perfectly.

Now that you know your options regarding where to get games and content, the next question is what to get? I can recommend the following VR games which are my favorites:

  • Batman: Arkham VR
  • Audioshield
  • The Blu
  • Space Pirate Trainer
  • Job Simulator
  • Doom VFR
  • The Brookhaven Experiment
  • Superhot VR

Windows Mixed Reality headsets have a list price of between $400-500 (USD) dependent on model, however most Windows Mixed Reality headsets have been on sale consistently over the past few months on Amazon and the Microsoft store for around $250 and even less if you would consider a refurbished headset.

Given the price of the HTC Vive and Oculus Rift (including the Oculus Cameras) is nearly double that, the Windows Mixed Reality headsets become a very alluring offer for anyone wanting to experience Virtual Reality without breaking the bank.

I am very pleased with my purchase and I have really enjoyed the experience with my Lenovo Explorer headset. I would recommend the Windows Mixed Reality Headsets to anyone interested in getting a VR headset who might be scared off by the $500 price tag or the complicated setup. Windows Mixed Reality gives the user a more affordable, more compact and easy to use alternative, with only minor trade-offs, and I would recommend that anyone in the market for a VR headset give Windows Mixed Reality a serious consideration.

Just as a side note, I use the Skywin Universal VR Holder and Cable Organiser to store my Windows Mixed Reality headset and it works great. It is an inexpensive way to keep your headset safe and looking cool when it is not in use.

WINDOWS MIXED REALITY

BOOK REVIEW – MASTERS OF DOOM BY DAVID KUSHNER

mastersofdoomcover

 

Masters of Doom tells the story of the formation of ID Software, one of the most influential companies in gaming. It focuses on the stories of the four founders, John Romero, John Carmack, Adrian Carmack and Tom Hall.

Covering everything from how and where they crew up, to how they got involved in game development, to how they met and started ID Software and eventually as most of them left ID Software, what came next for them.

The book covers everything from the early days when they worked at SoftDisk and started Ideas from the Deep (Later renamed to ID Software). Where they worked on Commander Keen and how they constantly evolved, creating revolutionary game after game, from Wolfenstein 3D to Doom to Quake, transforming the industry and what people thought possible along the way.

This book is by far my favourite video game related book, and I cautious writing any more regarding its contents out of fear of spoiling something. But if you are in any way interested in video games give this book a try. It is an amazing book and comes highly recommended.

BOOK REVIEW – MASTERS OF DOOM BY DAVID KUSHNER

BOOK REVIEW – BLOOD, SWEAT AND PIXELS BY JASON SCHREIER

bloodsweatpixel

Blood, Sweat and Pixel is a very enjoyable book, containing the stories behind the creation of various video games. It gives the reader insight into how this process is never straight forward nor easy and is rather a perilous journey undertaken by developers out of sheer love for the medium.

The creation process of various video games are covered, from the successful, such as The Witcher 3 and Uncharted 4, to the ill-fated Star Wars 1313.

The book also conveys the sad stories of how many video games outlive the studios that created them, and the reality that very few video game development studios remains afloat in the challenging video game industry.

The reader is also given great insight into the challenges video game developers face, from tight budgets and technological difficulties to dealing with tyrannical publishers. It gives the reader a much greater sense of appreciation for what the developers endure to make their creative visions a reality.

As someone who loves video games and is interested in the development process behind them, I found this book highly entertaining and informative. I struggled to put this book down and would highly recommend it.   

BOOK REVIEW – BLOOD, SWEAT AND PIXELS BY JASON SCHREIER

A Story About A Game

15 Years ago I wrote a small game called Hellspawn and I rediscovered it again when I was going through some old backup discs. It is a top down shooter and was developed in Borland C++ Builder (I think version 6). It was a very basic game (especially looking back now) from when I was still a very inexperienced developer, still studying to get a degree.

So if anyone is interested here it is: HellSpawn

To get it working on windows 10:

Use Hellspawn.exe to start the game, but first in file properties:

  • Set executable to run in compatibility mode  – Windows 98 / Windows ME
  • Reduced Color mode – 16-bit
  • Override DPI Scaling Behavior, Scaling performed by – Application
  • Can also set to run in 640 x 480, however is best to change screen resolution in windows to 1024 x 768 for best experience.

compatibility

The controls are as follows:

  • Arrow keys to move
  • Left ctrl keys to fire weapon

Simply kill all the enemies to proceed to the next level.

On another note I have some Steam game keys to give away!

For a chance to win one simply email killerrobotics.me@gmail.com with the subject line ‘Killer Robotics Steam Giveaway’ and for the message content just be creative.

Winners will be randomly selected and announced via twitter.

A Story About A Game

Another VR post and some updates

VR3

In a previous post, DIY VR Part 1, we took a look at apps that allowed a user to stream PC games to a smartphone in stereoscopic 3D, which could then be used with a Google Cardboard compatible headset to experience VR.

This worked well, however the apps examined in the previous post did not support or were not optimized for games specifically designed for SteamVR. For SteamVR to start up a compatible HMD (Head Mounted Display, like Oculus Rift or HTC Vive) needs to be detected, something the apps covered previously did not support, with the exception of TrinusVR which does support this, however it does not support USB tethering with iOS which has a significant negative effect on the experience.

Today we will look at an app that does fully supports this functionality, iVRy.

iVRy is an iOS app that allows SteamVR games to be streamed to an iPhone, and as with the previously mentioned apps, utilizes the phone’s gyroscope and accelerometers for head tracking and movement.

iVRy comprises of a app that is installed on your iPhone and a SteamVR HMD driver to be installed alongside SteamVR on your PC.

The iPhone is then connected to the PC either via Wi-Fi or USB (preferably USB as the results are greatly improved). The next step is to start the iVRy app on the phone and then lastly launch

SteamVR (which will detect the phone as a compatible HMD) and you are up and running.

The app has various settings to optimally configure your VR experience, such as lens distortion correction and field of view settings, with a large list of Google Cardboard Compatible Headsets preconfigured for ease of use.

Another feature of the app is that it auto adjusts image quality to ensure a high frame rates, reducing VR sickness.

iVRy supports a lot of SteamVR titles, working with any game that does not require motion controls, so any game that supports a traditional controller should work. Saying this a controller is pretty much required and any Steam compatible controller will work.

iVRy has a free trial version that does not limit play time, but reduces color saturation after 5 minutes of play time, making the image appear in shades of grey. To unlock the full premium version of iVRy costs $6.99, which removes the 5 minute limitation.

If you are an Android user a similar app is available called VRidge by RiftCat, which costs $14.99. It does however offer a great deal more functionality, thus the higher price.

Now on a related topic, I recently had the opportunity to play around with a HTC Vive at the Microsoft Store at NorthPark Center in Dallas Texas, and it was an amazing experience. I played through a series of experiences, starting with a tutorial based on the game Portal and then flowing into The Blu, AudioShield and finally Space Pirate Trainer. The experience was extremely immersive and I got goose bumps, it was truly mind blowing. The motion controls and room tracking of the Vive work extremely well and helps greatly with the immersion. If you ever have an opportunity to use a HTC Vive I would highly recommend it.

While I was in Dallas I also went to see some interesting sights, like the Oculus VR Dallas offices, where John Carmack is based.

Now for a quick update on the DIY VR Headset Version 2. I have acquired the parts for the new headset, including two 1920×1280 (60 Hz) 3.5inch (89mm) displays (one for each eye) and a Leap Motion, which I will use to implement motion controls. I have decided for the version 2 to use two smaller independent displays mounted in portrait mode (similar to what is done in the HTC Vive and Oculus Rift, post Development Kit 1 which used one screen).

I will also look at using iVRy with the Leap Motion to get motion controls working in Steam VR. So watch this space, some exciting things are coming.

Another VR post and some updates

DIY VR Headset for $80 (DIY VR Part 2)

IMG_1817

The purpose of this series of posts was to look at ways to experience VR at home for the lowest cost possible. In Part 1 of DIY VR, we took a look at using a smart phone and a Google cardboard compatible headset to stream computer games to the phone in stereoscopic 3D. The main problem with this approach was that it was still relatively expensive as it required a smart phone (iOS or Android) to function.

Now in part 2 we will look at building a VR headset from scratch. My initial goal was to do this for under $150(USD), however after shopping around and changing some parts out for alternatives I managed to get this down to around $80. So let us get started.

The parts required are:

  • Toggle Flick Switch
  • 2x LED
  • 1x resistor 150 Ohm
  • 1x Micro USB cable (at least 2 meters long)
  • 1x HDMI Cable (thin ones work best as they hinder movement less, also at least 2 meters long)
  • Some jumper wires
  • DC Adapter plug 5V 3A (Raspberry Pi compatible one works great)
  • Push Button
  • Google Cardboard Compatible VR Headset (I recommend one with a phone compartment door that opens as it gives better access than the ones which uses a tray that slides in)
  • 6DOF MPU 6050 3Axis gyroscope and accelerometer
  • Arduino Micro (can use off brand alternative)
  • 5inch RaspberryPi LCD Screen 800×480 with HDMI interface

All of these parts can be acquired on AliExpress for about $80 ($82.78 to be precise), as shown in the image below:

Resistorflick_switchwireDC AdapmicroUSBHeadsetpushbuttonledMPU6050lcdHDMIarduinoMicrototals

You will also require Tridef3D or similar software (there are some free alternatives, but I have not had a chance to give them a try at present). Tridef3D is used to convert any Direct X 9/10/11 game into stereoscopic 3D. Tridef3D offers a 14-day free trial, which is plenty to give this a try. The full version of Tridef3D retails for $39.99.

Now that we have all the required components, let us begin with the assembly.

The assembly comprises of 3 main elements:

  1. The Arduino Micro circuit (containing the MPU 6050, push button and led)
  2. The Wiring (providing connectivity to Arduino Micro and power to Screen)
  3. Inserting the screen in the headset and connecting the micro USB cables as well as the HDMI cable.

The Arduino Micro circuit

The diagram below illustrates how the different components need to be connected to the Arduino Micro:

vr_bb1

The push button uses digital pin 5 and the MPU 6050 is connected to the Arduino Micro as follows:

– MPU 6050 SCL pin to Digital Pin 3 on Arduino

– MPU 6050 SDA pin to Digital Pin 2 on Arduino

– MPU 6050 VCC to 5V pin on Arduino

– MPU 6050 GND to GND pin on Arduino

The code to be loaded on the Arduino is as follows:

#include <Mouse.h>
#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>

MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
int inputPin = 5;
bool enableMouse;

void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
enableMouse = true;
pinMode(inputPin, INPUT);
if (!mpu.testConnection()) {
while (1);
}
Serial.println("Running...");
}

void loop() {
int val = digitalRead(inputPin);
if (val == HIGH) { // check if the input is HIGH
//Place logic here to execute when button is pressed
//Disables mouse movement while button is pressed, this allows you to set your view angle easily.
enableMouse = false;
}
else
{
enableMouse = true;
}
if(enableMouse)
{
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = -(gy)/150;
vy = (gz+100)/150;
Mouse.move(vx, vy);
delay(20);
}
}

Just note that the orientation of the MPU 6050 makes a difference to which of the axis of the gyroscope will be used. For the above code the MPU 6050 was mounted on the side of the headset as shown in the pictures below:

IMG_1795

In the event of the MPU 6050 being mounted with a different orientation you might have to substitute between the gx, gy and gz values until the desired configuration is achieved.

For my configuration I am rotating around the Y and Z axis.

Also the numbers associated with calculation of vx and vy might have to be tweaked to get the results (movement speed etc.) you desire.

I also added a push button, that when pressed temporarily disables the gyroscopic mouse movement. This is useful when you want to reset you point of view in games.

I attached all the parts of this circuit to the VR Headset using double-sided tape.

The Wiring

In order to have as few cables as possible connecting to the VR headset I modified the USB cable so that it pulls external power from a DC power adapter (a single USB port will not be able to power both the Arduino and the 5 inch LCD) as well as splitting into 2 micro USBs on one end (one only provided power to the LCD and the other one both power and connectivity to Arduino.) the below diagram shows how the wiring is connected:

VR2_bb

For reference a USB cables contains 4 wires:

  • Red wire – +5V DC
  • White or Yellow – Data connectivity
  • Green – Data Connectivity
  • Black – GND

I also included a switch to turn the power on and off (this is useful to turn off the mouse functionality until it is needed, otherwise it will interfere with mouse movement when it is not desired) as well as an LED to show when the headset is powered on.

IMG_1807

Inserting Screen in Headset and connecting all the wiring

The LCD screen is held in place by the clamps in the headset used to hold a phone (it is a snug fit). Then simply connect the 2 micro USBs to the LCD and Arduino respectively (ensuring the plug with the data connections is plugged into the Arduino and that the power only micro USB is plugged into the power socket on the LCD display). Try to run the cables in the extra spaces in the Headset around the screen in order to keep them out of the way.

Lastly connect the HDMI cable to the LCD.

The assembly is now complete.

IMG_1817

Connecting headset to PC and setting up software

To connect the headset to your PC do the following:

  1. Plug the DC adapter into mains power.
  2. Plug the USB connector into an available USB port in your PC.
  3. Connect HDMI cable into and available HDMI port on your PC graphics card (You can use a DVI port with an adapter)

Go to display settings and click on detect displays, then set Multiple displays to “Duplicate these Displays” and make sure your resolution is set to 800×480.

Open up Tridef3D and start-up a game.

You might have to play around with each individual games graphical settings as well as mouse sensitivity to get the best results.

For future enhancements I will look at getting a higher definition LCD screen and also work on head movement tracking by using infrared LEDs and a Wiimote (Wiimote used as a IR Camera).

And there you have it a DIY VR Headset for $80. Give it a try.

Here is a short demonstration video:

DIY VR Headset for $80 (DIY VR Part 2)