Impossible Experience Made Possible: Dragon Riding in VR

Jean Leong
7 min readApr 27, 2019

--

Introduction

The uses of virtual reality (VR) are vast, including applications in education, the medical field, and entertainment, among others. Virtual reality is used to describe a three-dimensional environment that is generated by a computer. Users are immersed in this virtual world where they can explore and interact with their surroundings, perform a series of actions and manipulate objects around them.

As part of our Human Computer Interaction course at Bucknell University taught by Professor Evan Peck, we (Malachi Musick, Jean Leong, Elliot Miller, and Gia Hayes) were challenged with designing for the future using virtual reality. We wanted to create an experience for users that would have been impossible for them to experience otherwise (without virtual reality), which led us to create a virtual reality dragon flying simulator called Dragon Riding. In its current state, our VR simulator makes users feel as if they are riding and controlling a dragon named Kutu as it flies around its island habitat.

Virtual Reality Dragon Riding Demo Video

Brainstorming / Ideation / Sketches

When we first started brainstorming ideas for our project, we came up with ideas that we simply found interesting, including creating a virtual reality Escape Room and an augmented reality-assisted task, such as an AR class finder, among others. As somewhat mentioned before, we decided to go with the aspirational VR of providing access to new and out of body experiences that would be accessible to all. We all rated each project idea on the feasibility of the project given our time frame, group interest, and the level of project aspiration.

Of all our Virtual Reality project ideas, a dragon flying simulator received one of our highest ratings and garnered the most interest mainly due to a user’s natural movements when using Google Cardboard, having great potential to mesh well with game controls. Initially, we thought tilting the head would allow for simple but intuitive controls of wing tilt, and a tap of the button on Google Cardboard could translate to the dragon performing some phenomenal action, such as roaring and/or breathing out fire. This productive and collaborative deliberation led us to ultimately choose the dragon flying simulator for our VR design. Who wouldn’t want to fly and control a dragon if they actually had the ability to do so in real life? Additionally, our VR design embodies what we believe will dominate the field of Virtual Reality in the future, as it allows all people to do the impossible while being entertained. It can even be used as a distraction for what could be a painful treatment for the patient, or therapy treatment for people with a fear of heights.

After deciding on moving forward with a flying dragon simulator for our VR design, which we decided to name Dragon Riding, we began refining and sketching our vision of how we desired our VR design to behave and interact with users. We believed the tilting of the head was the most simple, natural, and intuitive movement for players to control the direction and wing tilt of the dragon. Specifically, we wanted the tilt of the head downwards (looking down) to translate to the dragon flying downwards, the tilt of the head upwards (looking up) to translate to the dragon flying upwards, and similar translative movements for looking left and right, respectively.

Design Sketches

Prototyping

Once we had our preliminary sketches, we were ready to start prototyping and implementing the project with our four proposed iteration stages.

Original Four Proposed Iteration Stages:

  1. Motion controls, environment, physics, working game
  2. Fireball on button press, enemies, win/lose condition
  3. Moody/customizable world, additional assets
  4. Landing/walking mechanics, customizable dragon

We decided to use Unity to create our project because two of our group members had experience with the creation and build process on mobile. Unity, with the Google Cardboard Asset Package, allowed us to create our world, interface with the Google Cardboard one touch design, and deploy to mobile. We imported multiple asset packages from the Unity Asset Store, including the dragon, the island, the water, and effects, such as fire and sound bits. As for translating the screen to be stereoscopic, Unity does it with a simple check of a box in the Player Settings. Next, we oriented the camera within Unity in the middle of the dragon’s upper back so that our VR design would feel immersive by allowing the user to look around so that they could see the environment they were in as well as the dragon they were riding. Finally, we started working towards a functional dragon riding game with an ultimate goal and/or lose/win condition for the users.

The Iteration Stages We Actually Accomplished:

  1. Dragon on Rails: We fixed the movement of the dragon to a specific route around the island so that we could get straight to user testing and see if people truly felt the experience of riding a dragon in such a way.
  2. Dragon Precision Controls: Next we mapped in the movement of the dragon to move in the direction the player was looking. Unless the dragon was looking in the exact direction of the player, the dragon would be constantly changing its rotation.
  3. Dragon Smooth Controls: After user testing, we decided that we should create a deadzone for the controls. This way, if the user is looking generally forward (> in the direction the dragon is looking +- 30 degrees), the dragon won’t move, making a smoother ride.
  4. Now that we got the controls down, we added in the capability to shoot a fireball! This was an important aspect of the game that we decided at the beginning of our project.

User Testing

Testing was internal to our team until our first successful build on a Samsung S7. Our first build was a demo in which the player passively rode a dragon along a predefined path, and the responses were highly positive. There were complaints of distress associated with the sense of height, which we took as a positive review of the realism of our project. This demo was shown to approximately 10 people. The next iteration gave the player control using a system that incorporated the motion of the flying dragon as feedback into the motion controls the player inputted. This proved a step back in terms of the positivity of user responses. We received a sharp increase in the complaints of disorientation and motion sickness, as well as a steep learning curve to controlling the dragon. Though adapting to the motion of flight seemed to add to the realism of the experience, we wrote that out of our next iteration, and consequently, we had the best reviews yet. Our testers described the game as realistic and exciting, only complaining primarily about the lack of ability to interact with the environment. In response to this, we had time to add to our last iteration the ability to shoot fireballs and a death consequence to crashing into the ocean. At the class demo day and after, reviews have been very positive, extending to delight, especially with the fireball feature.

End Product

One of the features that users really enjoyed was how seamless the simulation was and how immersive their experiences were, feeling as if they were actually sitting on the dragon. They also appreciated that the user can move in any direction (not restricted to movement in 2D); looking at a certain direction changes the direction that the dragon flies in. The experience of dragon flying was very realistic, being able to control it by choosing its direction.

While there were many aspects of our Virtual Reality simulation that were loved by our users, there were some features that our team wished we had time to implement. If we had more time, we would refine the dragon’s collisions with its environment, fine-tuning the graphics and sounds of when the dragon crashes and.or dies. We also wanted to create more of a game for the users to play. We had boats in the water of the island asset to act as the enemies invading the island for Kutu to fire at, but when the fire collides with the boat, nothing happens. To make it more of a game, we would have added actions for when the fireballs and boats collide, like the explosion and destruction of the ships. We also would have liked for the users to be able to change the color/skin of the dragon before they start playing. Another added bonus would have been if we had a homepage screen and an instructions page to provide a brief background of the game and how to play it.

The design process, from brainstorming to sketching the initial designs to having the end product, was beneficial towards our whole project. We collected user feedback as we were developing the simulation, and they were extremely helpful in deciding what aspects of the simulation we should focus on and further develop. Although we did not get to implement all of the features we wanted to in the planning stage of the project, we are proud of what we have accomplished.

--

--