top of page
kcs-b52-cockpit.jpg
download.png

Role: Programmer II ​

TenureMarch 2022 - December 2023​

Studio Size: Small to Medium

Engine/Tools:

  • Unity 5

  • Plastic SCM 

  • Meta Quest II

  • Confluence/Jira

Overview:

I began at King Crow Studios as a contractor on the VRTP-B52 project. After a few months, my performance earned me a full-time programmer role.

 

This position rapidly advanced my scripting skills, moving from VR simulations to backend multiplayer systems. In addition to programming, I collaborated with designers and artists, worked with quality assurance, and took on multiple responsibilities to support the team in a small-studio environment.

VRTP-B52 - Aircraft Training Simulation

Contributions

Work on Single Player

Upon joining the team, I was immediately assigned to an older version of VRPT-B52 using SteamVR.  I had to convert its VR plugin from SteamVR to Unity's XR Interaction Toolkit. In doing so, I contributed to several aspects of this transition.

  • Rescripted UI interaction logic to support new XR interaction systems.

  • Recreated 20+ training simulations utilizing ScriptableObjects covering various areas of the aircraft.

  • Support in testing over 10+ training simulations, noting issues and verifying fixes in the process.

  • Fixed 50+ bugs in areas including audio, simulations, automation events, and systems, maintaining stability.

My Work on Multiplayer

Through collaboration with programmers and quality assurance, I learned to script multiplayer content, expanding the simulation experience to enable up to three users to complete training modules together. 

​​

  • Scripted network systems using Unity's GameObjects with Netcode to sync several systems (Radios, Knobs, and Cockpit Buttons) over the network.​​​

  • Designed lobby scene and scripted up to three players to queue up at a time.

  • Fixed the majority of syncing issues with event calls via UI hover interactions.

  • Supported in weekly testing with all training simulations, ensuring a polished multiplayer experience.

S.T.E.P.S TRAINING XR

Working on S.T.E.P.S XR allowed me to be more creative with the training simulations and modes. I utilized the HurricaneVR plugin, which was fun to learn and experiment with before diving into tasks.
 
As a
designer on this project, I had ownership over creating a training simulation and game mode from the ground up. ​​

Fire Safety Training Simulation

Since most of the simulation reuses 90% of the systems from VRTP-B52, I focus on assembling the simulation.​ Here is what I did:

​​

  • Designed level layouts for both office and warehouse locations for fire training simulation.

  • Rescripted grabbable fire extinguisher, resolving underlying interaction issues.

  • Implemented XR interaction mechanics into existing simulation systems from VRTP-B52.

Weapons Training Mode

From prototype to completion, I worked on all parts of the weapons training mode, including gameplay, UI, and setup menus. The systems and weapons are borrowed from HurricaneVR.

​​

  • Designed level layouts for two weapon training locations.

  • Scripted initial menu setup scene for users to customize their weapon training experience.

  • Re-scripted Audio and VFX systems to reference audio or effects on objects via strings rather than hard referencing.​​

Unreleased Multiplayer Project

*Due to confidential information, I cannot give full details.

However, I have permission to replicate concepts of my work in-engine that don't reflect the current state.

 

In April 2023, the company spun up an idea for a fun multiplayer party game, which went immediately into development throughout 2023.

Technical Design

  • Prototyped and iterated on five mini-games from concept to completion.

  • Designed NPC creation tools leveraging C# and polymorphism to reduce time in populating NPCs for the team.

  • Contributed towards refining and polishing features for gameplay mechanics and multiplayer features using Normcore.

  • Pitched ideas in design sessions for creating debug tools to improve testing efficiency for new mechanics.​

Game Programming

  • Extended Normcore's microphone input logic to feature an optional input and output audio selection.​

  • Handled sound logic using Unity's mixer audio to allow players to adjust audio for proximity chat and game volume.

  • Implemented several sound VFX scripts for game objects and scripted ambient sound managers in the game environment. 

  • Worked on implementing multiplayer features, such as player icons to identify players in the open space.​

Quality Assurance

  • Participated in weekly playtesting sessions to help the QA Analyst execute test cases.

  • Fixed numerous bugs within several realms of the game, such as UI, network, minigames, and audio.

Concepts of Minigames I Did

ButtonClickGameplay-ezgif.com-video-to-gif-converter.gif

Button Click

The very first minigame I worked on in this project. The goal of this game was to be simple and easy to complete.

SliderGameplay-ezgif.com-video-to-gif-converter.gif

Slider Bar

I initially pitched this minigame and implemented it using the pinning slider system from the WWE 2K games as a reference.

SwitchMouseClickingGameplay-ezgif.com-video-to-gif-converter.gif

Button Switch Clicking

I took on this minigame as a design challenge for myself, as I had to implement a way to toggle between both left and right mouse clicks.

ColorMixingGameplay-ezgif.com-video-to-gif-converter.gif

Color Mixing

This is my favorite minigame I've done for this project! I took inspiration from how my sister uses her hair color products and used it to craft this minigame.

TaggingGameplay-ezgif.com-video-to-gif-converter.gif

Item Tagging

The last minigame I worked on was before moving on to different tasks for the project. This one just needed to be simple. I brainstormed it as a scanning system similar to a grocery store when checking items out.

Retrospect

Working outside my comfort zone in a role focused on software engineering and virtual reality helped me grow rapidly as a Game Designer. I developed a deeper appreciation for the technical aspects of game development and gained confidence working with complex game systems. It reshaped how I approach game design, especially in high-quality gameplay environments. ​

This experience gave me the skills and confidence to venture into roles beyond game designer, such as
Gameplay Engineer or Technical Designer, or to continue on the path to becoming a VR Developer in the future.

bottom of page