Design Sprint #3: Design for Another World

Introduction

Virtual reality possesses the unique ability to transport people into another world. This emerging technology has numerous applications, including simulations, therapy, and entertainment — the focus of our project. We designed an immersive VR game with intuitive mechanics that progressively increase in difficulty. Players enter a virtual space where floating spheres move toward them, and they can burst each one by targeting it with a laser. As the game progresses, spheres generate at an increasing rate, challenging players to survive as long as possible before one reaches them, ending the game. The final text displays both the total spheres destroyed and time survived, enabling players to track their performance. Using a smartphone mounted in a Google Cardboard headset, the game translates players’ head movements into precise aiming controls, creating a fully immersive shooting experience.

Technology

Our game development journey began with an exploration of the Unity game engine. While Unity provides extensive support for VR development, its steep learning curve proved too challenging for our two-week design sprint timeframe. After reassessing our options, we shifted to using A-Frame, a web-based VR framework that allowed us to develop the game’s core mechanics rapidly. Within half an hour, we had created a working prototype where players could shoot at floating spheres in a basic VR environment, establishing the foundation for our core gameplay loop.

Unity game engine editor

Initial Design

In our first iteration of the VR game, players entered a simple virtual environment where they aimed to hit a series of floating spheres scattered around the space. As we had not yet set up VR interaction, the player aimed with swipes on the screen, while a centered crosshair provided precise aiming feedback. The shooting mechanism activated with a simple screen tap, simulating the trajectory of virtual projectiles toward the targets. This initial scene gave a sense of realistic interaction as the objects followed the player’s aim.

The gameplay loop centered on a straightforward scoring system — each successfully hit sphere vanished and incremented the player’s score. The objective in this version was to clear all spheres as quickly as possible, and once completed, the game displayed the player’s total time, encouraging a focus on accuracy and speed. Despite having a very basic environment and almost no UI, this prototype successfully established our core gameplay foundation: an engaging target-shooting experience in VR that we could iteratively improve.

Initial design of our game

VR Implementation

Getting the VR functionality to work across devices presented another challenge, especially on iPhones, where the initial A-Frame version we used wasn’t compatible with mobile VR. After downgrading to A-Frame version 1.2.0, we successfully enabled VR functionality across devices, allowing us to proceed with implementing game interactions.

After implementing VR, we realized that the user would not have any input to the screen. Therefore, we modified the mechanic of shooting the spheres with projectiles to having a constant laser beam originating from the player’s viewpoint. This change not only solved the practical limitation of screen interaction in VR mode but also enhanced the game’s accessibility by eliminating the need for manual input. Players could now focus entirely on head movement for aiming, creating a more intuitive and immersive experience.

User Interface

We implemented a hands-free interface that guided the player through the game. The game opened with a start screen, displaying the title of the game and a ‘Start Game’ button. Upon dying, the player was shown how many spheres they destroyed, how long they survived, and a ‘Restart Game’ button. The player could hold their gaze on the buttons for a couple of seconds to select them. In order to signify to the user that they were selecting the button, it highlighted when looked at, and the cursor would shrink until the button was pressed.

During gameplay, each sphere displayed a health bar that provided immediate visual feedback. These health bars depleted gradually as players maintained their gaze on the targets until the sphere was destroyed. This intuitive feedback system kept players informed of their progress while preserving the immersive quality of the virtual environment.

UI displayed to player after death

Visual Design and Effects

We enhanced the game’s atmosphere by implementing a Halloween-inspired environment. Players found themselves within a dimly lit room with purple and orange ambient lighting. This lighting design maintained sufficient visibility for gameplay elements, like spheres and health bars, while creating an unsettling atmosphere that added tension to the experience.

To elevate the visual feedback, we integrated particle effects using A-Frame’s animation system. When destroyed, spheres emitted an eerie green, luminescent explosion that reinforced the supernatural theme. While these particle effects significantly improved the game’s visual fidelity, they introduced performance considerations that required optimization in later development stages.

Sphere destruction animation

Audio Design

To enhance immersion, we implemented an audio system throughout the game. The menu and gameplay sections feature background tracks that reinforce the eerie atmosphere. During gameplay, we introduced sound effects to provide feedback to the player. The spheres emitted sounds when targeted and destroyed, and a death sound played when a sphere reached the player.

These audio elements served multiple purposes beyond atmosphere. The sound effects provide crucial gameplay feedback, helping players track their actions in real-time. Combined with the visual elements, this audio landscape worked to improve player engagement while maintaining the Halloween theme. The careful integration of music and sound effects created a more complete and satisfying virtual reality experience.

Optimization

We implemented several optimizations to enhance mobile performance without compromising the core experience. Our first major improvement came from simplifying the level geometry to use only planes, which substantially reduced draw calls and improved rendering efficiency. We then optimized the lighting system by removing unnecessary shadows, as players rarely noticed the sphere shadows on the floor during gameplay.

Further performance gains came from reducing the overall lighting quality. Since the resolution of the phones in VR headsets was low, removing high-quality lighting was an effective way to improve performance without sacrificing the game’s atmospheric qualities. While we identified the explosion animations as another potential area for optimization, we did not implement these improvements due to time constraints. Nevertheless, our existing optimizations dramatically improved the mobile experience while preserving core gameplay elements.

In-class Demo

We created a demonstration video of Sphere Shooter using CapCut to showcase our VR game in class. The video shows key gameplay elements, including the gaze-based navigation system and the core objective of destroying incoming spheres. We enhanced the presentation with voiceover narration and background music to improve the viewing experience.

Following the video presentation, classmates had hands-on experience with the game using both Google Cardboard headsets and a laptop, providing valuable feedback about the gameplay experience. This interactive demonstration allowed us to observe how players interacted with our interface and game mechanics.

Demo.MOV

Demo Video

Feedback

Our class demonstration revealed several opportunities for enhancements. The main visual concern centered on contrast — players found that the dark purple background sometimes decreased the visibility of red spheres, especially on mobile displays. A lighter background could potentially improve target visibility and overall visual clarity.

Gameplay balance was another area for improvement. After some time, the spawn rate of the spheres became too high, making progress in the game impossible. Instead, we could implement a maximum spawn rate to maintain difficulty but not make it impossible. Additionally, classmates recommended improving the scoring system. Rather than simply displaying the number of spheres destroyed and survival time, implementing a summary scoring system could provide a more meaningful and simpler metric. Despite these suggested improvements, the overall response was overwhelmingly positive, and classmates had a wonderful time playing our game in class.

Conclusion

Our VR game successfully delivered an engaging experience while revealing interesting challenges. The mobile VR implementation introduced visual differences, including less defined spheres and decreased lighting. Testing showed us how crucial incorporating user feedback is in the design process, revealing that some mechanics were not completely intuitive, and the gameplay, while fun, became too difficult over time. Through this design sprint, we not only enhanced our iterative design skills but also gained experience with the A-Frame framework. The project demonstrated how rapid prototyping and user feedback can guide the evolution of a design to create an engaging experience.

To access our game, visit:
https://patrick-leary.github.io/Design_Sprint_3/

For source code:
https://github.com/Patrick-Leary/Design_Sprint_3/


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

css.php