Trailer for final MVP

Dragon Machine

Client: Mining company
My Role: Unity developer with C#
Tools: Unity, Visual Studio, Sourcetree

The Dragon Machine Training is a team project for a client at Hyper Island. The brief was to make a MVP for a VR training solution for learning to operate the client’s mining machines. My role was gameplay developer in Unity, and I made functionality including gameplay system, player interactions and feedback, animations for the support system, and functionality for environment objects including NPC logic. In addition, I was working on the training concept together with the rest of the team.

The client wanted a gamified training solution, and emphasized the need for a solution where players not used to VR wouldn’t get stuck in the experience, not knowing what to do. To solve this issue we designed a support system where the player could choose a combination of support layers, according to personal preferences. The player can choose to combine text, voice, pulsating light, and ghost support in any way, to guide them through the training. The support functionality is introduced when entering the cockpit, where the player have to follow along and test the functionality in order to complete the introduction and start the training. The mix of support layers can be changed at any time throughout the training.

1. Player starts in a cave outside the dragon machine and is greeted by a welcome message. The player can move around to watch the dragon machine from any angle, and spot trolls running around with gems.

Slideshow for final MVP

2. After the intro scene, the player is transfered to the dragon machine cockpit. Text and voice tells the player it’s time to learn how to drive the machine.

Slideshow for final MVP

3. But before the training start, the player needs to learn how to use the hand-held menu, how to choose support layers, learn the controls, view training objectives, and how to use guidance through the training.

Slideshow for final MVP

4. The training begins, and the player needs to follow the steps for how to operate the machine by following instructions according to the chosen support layers. Here with light and ghost support.

Slideshow for final MVP

5. The player is supposed to drive around the cave to find gem piles and drill into them until they explode. The player increases the progress for learning how to operate the drill. User feedback includes pulsating score UI and sound.

Slideshow for final MVP

6. After a gem pile has exploded, trolls holding gems will spawn and run around the cave in random paths. The player now needs to drive and find the trolls. Meanwhile the player increases the progress in learning how to drive.

Slideshow for final MVP

7. When a troll is found, the player needs to torch it with the sport light, which will make the troll burn up and drop the gem. The player has progressed in operating the spot light and increases the score for trolls kills.

Slideshow for final MVP

8. The player can loose if they loose all the dragon machine health, shown on the health meter in the middle-front of the instrument panel. The player lose health by operating the machine wrongly or by hitting cave walls.

Slideshow for final MVP

9. The player wins if they have completed all training tasks the needed amount of times, without loosing all the health. The player is now qualified for driving this type of mining machine.

Slideshow for final MVP

Dragon Machine

Client: Mining company
My Role: Unity developer with C#
Tools: Unity, Visual Studio, Sourcetree

The Dragon Machine Training is a team project for a client at Hyper Island. The brief was to make a MVP for a VR training solution for learning to operate the client’s mining machines. My role was gameplay developer in Unity, and I made functionality including gameplay system, player interactions and feedback, animations for the support system, and functionality for environment objects including NPC logic. In addition, I was working on the training concept together with the rest of the team.

The client asked for a gamified training solution, and emphasized the need for a solution where players not used to VR wouldn’t get stuck in the experience. The training takes place in a cave full of gems and goblins, where the user must learn to operate a large mechanical drilling dragon to fulfill various objectives, such as drilling for gems and chasing goblins. The controls and functions of the machine are similar to those of a real drilling machine, and the game objectives have been designed to teach the player how to use the actual machine by completing iterative training tasks. In this way, the Dragon Machine Training is both a fun VR game and a serious training application. The training offers a dynamic support system that provides guidance for players with different learning preferences. User testing showed the gamification element to be appreciated, and made the test persons want to continue iterating on the operation tasks. The stakeholders was also happy about the result and emphasized their appreciation of the support system and the gamified approach.

Read more about the process

Cockpit

We were working in an agile manner, using a few simplified versions of the cockpit before the final model was done. I started off by grey-boxing out the cockpit in Unity with default shapes according to reference pictures of a real mining machine, and identified what kinds of buttons and controls was needed for interaction. Thereafter I started working on VR tactile interactions for buttons, switches, levers and joysticks. When the final models for controls were done I transferred the functionality to them.

I was then working on a way to indicate if a button where turned on or off, and put lightbulbs next to every control, showing a green light if turned on, and no light for turned off. It showed to be too much too have a different colored light when turned off. This solution showed to be clear inside the VR experience.

Fast gray box of the cockpit, and testing lights to indicate button status

Cockpit

We were working in an agile manner, using a few simplified versions of the cockpit before the final model was done. I started off by grey-boxing out the cockpit in Unity with default shapes according to reference pictures of a real mining machine, and identified what kinds of buttons and controls was needed for interaction. Thereafter I started working on VR tactile interactions for buttons, switches, levers and joysticks. When the final models for controls were done I transferred the functionality to them.

I was then working on a way to indicate if a button where turned on or off, and put lightbulbs next to every control, showing a green light if turned on, and no light for turned off. It showed to be too much too have a different colored light when turned off. This solution showed to be clear inside the VR experience.

Support System

To solve this issue of players getting stuck, we designed a support system where the player could choose a combination of support layers, according to personal preferences. The player can choose to combine text, voice, pulsating light, and ghost support in any way, to guide them through the training. The mix of support layers can be changed at any time throughout the training.

I was constantly trying out the UX in VR to make appropriate development decisions while working on cockpit functionality, support texts and lights. I made support lights and text pulsating as movement was more eye catching than static light and text. I made ghost animations to show how to interact with the different controls, this showed to be a good solution for teaching both witch motion and interaction to use: grab and pull a lever, grab and turn a turn switch, press a button with the index finger, grab and pull a joystick. After user testing it was also clear how interaction patterns and sensitivity needed to be adjusted for a more intuitive and smooth experience.

Support system includes front panel text, small text and pulsating light next to target button, animated ghost hands, and voice

Support System

To solve this issue of players getting stuck, we designed a support system where the player could choose a combination of support layers, according to personal preferences. The player can choose to combine text, voice, pulsating light, and ghost support in any way, to guide them through the training. The mix of support layers can be changed at any time throughout the training.

I was constantly trying out the UX in VR to make appropriate development decisions while working on cockpit functionality, support texts and lights. I made support lights and text pulsating as movement was more eye catching than static light and text. I made ghost animations to show how to interact with the different controls, this showed to be a good solution for teaching both witch motion and interaction to use: grab and pull a lever, grab and turn a turn switch, press a button with the index finger, grab and pull a joystick. After user testing it was also clear how interaction patterns and sensitivity needed to be adjusted for a more intuitive and smooth experience.

Onboarding

User tests showed that an thorough onboarding was needed for the players to understand the training, and after that the support layers showed to work as a clear guide. The support system is introduced when entering the cockpit, where the player gets to follow an interactive onboarding process to learn the support system. The player can choose a mix of support layers on a hand-held menu, which is toggled on and off using the x-button. Panel text, pulsating text and voice leads the player to press the right button during onboarding. The training then begins with a guide how to operate the machine according to the chosen support layers, and the player needs to follow along and complete all the steps in order to complete the guide. The player can restart the guide at any time during the training if needed.

An interactive onboarding process teaches the player how to use the different functions in the game

Onboarding

User tests showed that an thorough onboarding was needed for the players to understand the training, and after that the support layers showed to work as a clear guide. The support system is introduced when entering the cockpit, where the player gets to follow an interactive onboarding process to learn the support system. The player can choose a mix of support layers on a hand-held menu, which is toggled on and off using the x-button. Panel text, pulsating text and voice leads the player to press the right button during onboarding. The training then begins with a guide how to operate the machine according to the chosen support layers, and the player needs to follow along and complete all the steps in order to complete the guide. The player can restart the guide at any time during the training if needed.

Watch the making of Dragon Machine Training to see the process from ideation to final experience, important decisions, stakeholder alignment, user tests, and final result