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)

The Legend of Zelda Breath of the Wild – Thoughts so far….

BOTW_WiiU

For the last week or so I have been completely consumed with The Legend of Zelda Breath of the Wild, which I am playing on the WiiU. Breath of the Wild has gotten perfect and nearly perfect review scores from just about everywhere and this begs the question whether this is just hipe? The answer is a most definite NO. Breath of the Wild is truly amazing and is in serious contention for my favourite game of all time, a statement I do note make lightly.

I am currently roughly 30-40 hours in, with most of that time not spent on the main story, but rather on exploring and doing side quests. You would think that after that amount of time I might start getting burnt out on the game, but that is not the case at all, I simply cannot get enough.

The world in Breath of the Wild feels more alive than just about any open world games I have ever played. The freedom, it offers is mind blowing and the physics, from how enemies can be destroyed by pushing a bolder off a cliff to crush them or burnt to a crisp by starting a fire up wind from them, is mind blowing.  No problem in Breath of the Wild has a single solution and you can approach any situation however you choose. I really suggest not reading guides or how to’s for this game and rather just experiment and discover things for yourself. This brings back the feeling of the original Legend of Zelda, before the internet, when trial and error and a lot of experimentation was the only option and discovering something made you feel like you where the first person in the world to see it. An example of this is when I, by accident, discovered the easiest way to catch fish and frogs was to use bombs for a bit of dynamite fishing, when the bomb explodes all the fish and frogs float to the top of that water and can easily be picked up. This sense of exploration and discovery is where the true magic of Breath of the wild lies.     

It is worth mentioning that Breath of the Wild is not an easy game, and you will die a lot. Because the world is completely open you can walk into areas where extremely strong enemies reside that you have no chance beating early on in the game. It is however very satisfying revisiting an enemy that killed you in the past and with your new weapons and skills getting some revenge.  

So with all the above mentioned does Breath of the Wild still feel like a Zelda game? To me it most definitely does, from secrets hidden away to puzzles that require you to get out a notebook and pen to make notes, I feel that Breath of the Wild comes the closest to delivering on the vision that was conceived with the original Legend of Zelda back in 1986, more than any other Zelda game before it.

I have not felt this level of game addition in a very long time, I love this game! So if you have not done so yet, get a copy either on the WiiU or Switch. And if you have to pick up a Nintendo Switch just to get this game, Do It, you won’t regret it. So if you would please excuse me I have an urgent appointment in Hyrule.

The Legend of Zelda Breath of the Wild – Thoughts so far….

DIY VR – Part 1

In this post we will look at ways to experience VR at home for the lowest cost possible. In Part 1 we will look at using your smartphone and a Google cardboard compatible headset to stream computer games to the phone in stereoscopic 3D. Basic “head tracking” will be achieved by linking the mouse look in the games with the gyroscopic sensors of your phone.

There are many applications available to achieve the above mentioned and we will look at a few options available, comparing features, performance and price. All of the mentioned software have free trial versions available in the event you want to give them a try. All you will need is a smartphone (iPhone or Android), a PC capable of running some Direct X 9 3D games and a Google cardboard compatible headset (one with head-straps will work best).

All my testing was done on an iPhone 6S, a 2012 MacBook Pro Retina (Nvidia GeForce 650M 1GB) running windows 7 using Boot Camp and a SensofinityVR headset.

The games I used to test were Doom (original), QuakeHD, Dear Esther, Subnautica, Minecraft and Fallout New Vegas.

We will be looking at 3 different products (All of which consist of a phone app and a server windows application) that stream computer games to your phone and also link the games mouse input to the phones gyroscopic sensor. They are TrinusVR, KinoVR and IntugameVR.

First let us look at Tridef3D, a software product that will be required for the best results by all the before mentioned VR Streaming software products.It converts the game screen image into stereoscopic 3D before it is streamed to the phone.

Tridef3D

As mentioned above Tridef3D converts any Direct X 9/10/11 game into stereoscopic 3D, and I can say this software works great. Just note that its website states that it does not support VR headsets, but this is not the case if you enable windowed mode using this script. Tridef3D sells for $39.99 directly on the company site, however there is a free trail version available.

Most of the games I tested worked best in windowed mode except for Doom and QuakeHD, which only worked in full-screen mode.

Now let us have a look at the VR streaming software options. Firstly with all the mentioned software products, one of the most important things to configure correctly is mouse sensitivity. This is extremely important as getting this wrong can result in slow or jerky head-tracking which can cause the user to feel sick.

TrinusVR

Of the 3 products looked at TrinusVR was by far the best from an interface and general usage perspective. I also found it to be the most stable with the least amount of issues. At the time of my testing there was however no support for USB tethering in iOS.

I did experience issues connecting the phone to the hotspot created by the TrinusVR server software, and it appears that the phone is not assigned an ip address.

When I connected the phone to my MacBook via my home Wi-Fi network performance was extremely slow and unplayable.

I got around these issues by creating a Wi-Fi hotspot on my phone and connecting my MacBook to it. The server software and client app could then see each other and performance was really good and games highly playable. This configuration delivered the best results of all the tests performed.

Just note that in the TrinusVR server settings, on the Main tab, there is an option called “Capture mode”. For most games the best results are achieved by setting this to “Fast”, except for Minecraft that only works when this is set to “Compatibility Mode”.

TrinusVR sells for $9.99 on the respective App Stores (Apple App store and Google Play Store), but as mentioned earlier trial versions are available and the server software can be downloaded for free from the company website.

KinoVR

KinoVR does claim to support USB tethering in iOS, however in practice the results were far from perfect. The client app continuously disconnects from the server software every 15 seconds or so and then takes approximately 5 seconds to reconnect, thus rendering this feature unusable.

When connecting the phone to my MacBook via my home Wi-Fi network the performance was good, even with a good level of graphic details configured in the games.

KinoVR is however found lacking from a user interface and ease of use perspective.

KinoVR Pro sells for $9.99 on the respective App Stores (Apple App store and Google Play Store), and once again there is a free trail version. The server software is freely available here.

IntugameVR

Of all the VR streaming software I tested, IntugameVR is the only one I could not get to work properly. It does not support USB tethering in iOS so once again I configured it to connect over Wi-Fi. Irrelevant of what setting configuration I used the image rendered to the phone display was distorted and squashed. I cannot comment on the performance of this product, as I just could not get it working in any way that was even remotely usable.

IntugameVR Premium is also available on the respective App Stores (Apple App store and Google Play Store) for $9.99 with a free trial version also available. The server software is once again available for free from here.

So given all this, what were my findings? And would I recommend this as a low-cost VR solution?

Well, as long as you do not expect an experience on par with the Oculus Rift or HTC Vibe, you might be pleasantly surprised. Given the low cost of giving this a try, assuming that you have either an iPhone or Android smartphone and utilize the trial versions of the software products mentioned, the cost of this experience will add up to $10 for a Google cardboard compatible headset. Although I would recommend splashing out and getting a plastic headset with padding and better head straps, which you should still be able to pick up for under $20. This will greatly improve the experience from a comfort and usability perspective.

Many people have not had the opportunity to try a premium VR product, such as the Oculus Rift, HTC Vibe or PlaystationVR, and this solution is a great deal more accessible and affordable.

So my recommendation is to give it a try. Who knows it might even convince you to invest in one of the premium VR products available at the moment.

Watch out for DIY VR Part 2, which will be coming soon. In Part 2 I will show how to construct a custom-built VR headset, but in the meantime a few other posts are lined up for your reading pleasure.

DIY VR – Part 1

Book Review – Fun Inc. Why Video Games are the 21st Century’s Most Serious Business

FunCover

Fun Inc. Why Video Games are the 21st Century’s Most Serious Business by Tom Chatfield is an interesting look at the ever increasing importance of video games in our culture and society.

This book is not your typical “video game” book, but rather covers topics such as the history, finances and growth of the video game industry  as well as the impact video games have on various other fields such as economics, epidemiology, education and even  the military.

The book draws interesting comparisons to other mediums, such as film and literature, and illustrates  similar growing pains experienced by these mediums and video games throughout history.

This book also addresses and clarifies numerous misconceptions relating to video games, such as that only males play video games and that video games carry no academic benefits.

I found this book extremely interesting not only from a video game perspective, but also from an economic and general societal perspective. I would really recommend this book not only to people interested in video games, but anyone interested in modern society in general. Fun Inc. is a worthwhile read and defends the place of video games in our culture and society. I wish my teachers could have read this book when I was still in school.

Book Review – Fun Inc. Why Video Games are the 21st Century’s Most Serious Business

Double Book Review

Today we will have a look at 2 books, both related to video games, so let us get started.

1001 Video Games You Must Play Before You Die – Updated Edition

1001 games

This is a very hefty book, weighing in just shy of 1000 pages. The book is beautifully printed in full colour on high quality glossy paper similar to what you will find in a  high-end magazine.

As indicated by the name 1001 Video games are covered. The Video games  are categorised and  divided into section based on the decade in which they were released, i.e. the 1970s, 1980s, 1990s, 2000s and 2010s.

There is a detailed description provided for each game as well as a screen shot.

I really like this book as it triggers nostalgic memories of paging through video game magazines as a child, looking at what the next big release will be. I do however believe that this is not the kind of book you will pick up and read from cover to cover, I for example have limited interest in video games released in the 1970s so I skimmed through this section and found the best use of this book is simply picking it up from time to time and looking up a specific game.

Just keep in mind that the game selection is based on the authors’ personal preferences, so there is a chance that your favourite game might not be included in the list. But even considering this, I found this to be a great book and would highly recommend it to anyone interested in video games over the last few decades.

An Illustrated History of 151 Video Games

151games

The first difference between this book and the previously reviewed one is that this is more of a coffee table book. It is also fully colour printed on high quality glossy paper and is beautifully hardbound. The book also divides the games into the decades they were released in, but also focuses on the systems on which they were released.

This book has a much more artistic feel with screen shots, box art and marketing artwork for each game covered as well as information about the game, its history as well as little factoids relating to the games.

I really enjoyed reading this book and although it covers a lot fewer games, found it to be of a more consumable size.

There is also a few pages dedicated to the leading consoles of each decade along with accompanying artwork and information.

I would recommend this book as it is great simply paging through it and looking at the amazing video game artwork over the past 40 years.

Double Book Review