Final Year Project: “Virtual Reality and Immersive Gaming on Mobile devices”

Technical Skills: Virtual Reality; Google Cardboard; Java; OpenGL ES 3.0; Controller Input; Android Studio;

A video of the application can be found on YouTube here.

A user guide for playing the game can be found here.

VR logo

The purpose of the project was to look into the low cost and open source solutions to creating an accessible introduction to virtual reality (VR) gaming for a wide audience. The final artefact was a virtual reality space shooter created for Google Cardboard compatible android smartphones.

The object of the game is to destroy the asteroids with the ship’s missiles before the timer runs out. Using a generic Bluetooth controller paired with the phone the player can navigate the ship around the level, fire lasers, and use the headset’s head-tracking feature to look around the environment. When the score limit is reached, or the timer runs out, the game will reset.

The artefact was written completely from scratch in Java using Android Studio, OpenGL ES 3.0, and Google Cardboard APIs (Application Program Interface). The game’s engine features:

  • Stereoscopic rendering for use with a Google Cardboard casing with head-tracking
  • For compatible phones with a 1920 x 1080 screen the refresh rate is a smooth 60 frames per second (maximum possible on android phones).
  • A number of techniques to minimise the risk of motion sickness for the user.
  • Models exported from Blender and imported into the game using a custom build .obj parser;
  • Controller input to allow the player to interact with the game with a generic Bluetooth controller;
  • A range of game mechanics, including: ship movement in 3D space; collision detection; scoring system
  • A simple VR friendly HUD (head up display) to display information to the user while using the headset
  • The engine is designed so that the game can be run in either VR or regular mode and loads levels dynamically (so different games/levels can be loaded without having to change either graphics engines)
planet1
planet2

The artefact was showcased at Staffordshire University GradEx (Graduate Expo) event where it was judged by industry representatives and made it through to the final short-list (top 6 projects out of 31 in the “Games Programming” category).

13198437_10154037687666068_584212432215734333_o

[Promotional image taken during the GradEx demonstration, 2016]

The project was also part of the James Potts Portfolio app released onto the Google Play Store in August 2016.