top of page

Road Code (BGCA)

Foundry 45

Role

Junior Unity Developer

Engine

Unity

Platforms

HTC Vive Focus

Image of students using the VR Road Code program

Spline Work

Road Code began development after TriMet. TriMet had introduced splines to Foundry 45's repertoire, and Road Code continued to build upon it. Some of the later modules for Road Code involved doing a quick checklist of tasks before the car was put into motion: buckling seatbelts at the start, or checking both mirrors before accelerating through a stop sign. These steps followed Foundry 45's non-spline, step-by-step learning method, which was easy to integrate with the spline movements

However, most of the modules used spline-based movement. Much of the spline work within TriMet was easier to work with because it more closely followed Foundry 45's step-by-step learning. Road Code required us to fundamentally change the spline system to use timing rather than distance-based calculations. Timing was more important, as one of the main lessons taught drivers to check their mirrors every 5-8 seconds using the Triangle Viewing Method. These timing requirements did not easily work with the original spline structure; however, until the new spline system was developed, I had to implement the lessons with the old version. This required me to spend extra time testing and using our debug processes, and was fundamentally a more difficult user experience.

Spline navigation had been introduced for TriMet, but there were difficulties developing a natural speed control for it. So, unfortunately, speed was not something users could control in Road Code either. This did not hinder the teaching aspect of Road Code, since the lessons were designed for children under 15 who didn't need to know how to operate a vehicle. Road Code was designed to teach safe driving techniques before the children ever took a driver's education class. The lessons we developed were all based on material provided by UPS and the Road Code instructors. 

Lesson Iterations

Much of my work involved collaborating with our lesson writer at Foundry45 to determine the best way to represent the UPS Road Code instructions in VR. We would review the lesson material together and brainstorm possible lessons. Once we decided on the next lesson, I began implementing the lesson in the engine, while she began writing the error and hint text. I reused environment assets from TriMet and requested new layouts, particularly residential and city streets with parallel parking, from our environment artist. After the module is in the engine and complete, I invited the lesson writer to test the early iterations to get her input. Once we felt confident in the lessons, we would review them with our subject-matter expert (SME), one of the Road Code instructors at BGCA, for further feedback.

Environment

Optimization of the 3D environment was even more important during the development of Road Code than in TriMet, because Road Code used a standalone headset, the HTC Vive Focus, which had less processing power than the headset available on TriMet, the HTC Vive Pro. Using some of the same tricks we discovered on TriMet, we were able to get early prototypes up and running quickly. At the same time, we identified better optimization paths for the HTC Vive Focus.

Thank you for looking at my work

bottom of page