top of page
MPO_Poster.png

Dover Kent MPO VR Experience

Synopsis

This is an interactive VR game built with Unity for Meta Quest 2 & 3 for our clients at the Dover/Kent Metropolitan Planning Organization (DKMPO).

 

Players choose between 3 different modules made to heighten awareness and encourage interest in a city planning career in Kent County, Delaware:

 

  • Money Game: Short game where players decide where to spend DKMPO's city budget over the next 25 years.

  • Think Like a Planner: Sandbox where players build their own streetscape from scratch.

  • Safety: Driving sim putting players behind the wheel, quizzing them on their drive throughout.​

My Roles

UI/UX Development

Gameplay Systems

Debugging & Quality Assurance

Team Size

3

Development Time

Nov 2024 - May 2025

Tools

Unity, C#, VR, GitHub, Trello

UI/UX Polishes

I worked closely with a UI/UX designer to bring many improvements to these modules. We made drastic improvements to all interactions by implementing instant visual and audio cues to every single thing the player can interact with like buttons and interactable items. These improvements gave the project that professional polish it was lacking in the prototyping stage it existed in when I was onboarded.

MPO_BG.png

Money Game - Feb, 2025

Money Game - April, 2025

MPO_BG.png

Dialogue Subtitle Revamp for VR

A continuation of my UI/UX system improvements, I rebuilt the project's subtitle display system to be much more friendly to the VR medium.

 

Previously, dialogue subtitles only existed as a stationary world text that was somewhat difficult to notice and follow.

 

I added adaptive behavior to this display that causes the subtitles to float toward the player's view as they look around so that it's always there for them to read without blocking their view.

 

Players had a much easier time not only noticing the subtitles, but reading them as well. They never felt confused about what was happening in the experience.

Tutorial System

These modules used to lack player onboarding, leaving players confused when beginning a module. I implemented a tutorial scripting system that can be used to create custom tutorial sequences.

​

This system is especially flexible due to the ability to tie branching tutorials to custom events; for example, if the player makes a mistake that breaks the main tutorial sequence, the system elegantly handles this by allowing you to tie a separate tutorial sequence to this event to bring the player back on track.

​

Lastly, this system is modular, existing completely independent of the rest of the game so it can be added in or taken out completely without breaking anything due to its event-driven nature.

MPO_BG.png
Part of the Tutorial for Think Like A Planner, designed by our UI/UX designer and implemented by me.
MPO_BG.png

Code Scalability

Initially, most aspects of the modules' architecture were hard-coded to work in a specific way, requiring a cascade of time-consuming code changes when something was added, changed, or removed. I rewrote much of this code to be more modular and scalable by making it more event-driven and reducing dependencies between components.

​​

As a result, project iteration speeds increased drastically. We frequently completed tasks 1-3 days before their deadlines, allowing us to tackle many polishes and stretch goals we initially did not expect to have time to address.

Performance Optimization

Ensuring a high, stable framerate is critical for VR to avoid motion sickness. The Money Game module was running extremely slow at roughly 15 FPS on a Quest 2 when I was brought onto the project.

​

Through the use of Unity's profiling tools, I quickly found the issue to be related to the overcomplexity of the scene causing too many draw calls. Fortunately, I exploited the fact that the player is never expected to move much to significantly reduce the scene's complexity without any of these changes being perceivable.

 

As a result, this module's framerate increased to a stable 72 FPSthe game's max refresh rate, and an increase of almost 500% from where it was initially. No perceivable visual quality was lost.

​

The following images demonstrate the performance increase on a Quest 3, running the unoptimized Feb 2025 build at 40 FPS as it naturally performs better than a Quest 2, so the increase isn't as drastic but still quite noticeable. What's important is that the GPU bottleneck is completely eliminated.

MPO_BG.png
Feb 2025 Build (On a Quest 3)
April 2025 Build (on a Quest 3)
bottom of page