Kenechukwu Umelo
Technical Gameplay Designer
Role: Programmer II (Design/QA Support)
Tenure: March 2022 - December 2023
I first joined King Crow Studios as a contractor working on B52-VRTP. After a few months, my performance impressed my employer enough to offer me a full-time role as a programmer.
This position rapidly improved my scripting skills from where they were at the time while continuing my path of working in VR simulations. I wore extra hats assisting with design and quality assurance-related tasks needed for the projects due to studio size.
Engine/Tools:
Unity, Meta Quest, Plastic SCM, Jira
B52-VRTP
Core Ownerships
Transitioning to Unity's XR Interaction Toolkit
When I started at King Crow Studios, B52-VRTP needed to be converted from SteamVR to Unity's XR Interaction Toolkit tools.
I mainly focused on refactoring the user interface, implementing updated training modules, and events for interactables from the previous version of the project.
Key achievements included:
-
Developed custom XR UI scripts enabling and expanding 3D button interactions with XR hands.
-
Scripted aircraft events for interacted objects like pressed buttons, pulled levers, and flipped switches.
-
Implemented 20+ training simulation modules for aircraft modules to match the confidential training documentation from the US Air Force.
-
Collaborated with QA to test interactables and training module flows for bugs and quality.
Integrating Multiplayer Mode
My biggest challenge was working with the multiplayer mode, which required collaboration with two other programmers and QA to integrate the mode. Having never scripted multiplayer features or content, I learned Unity's GameObjects With Netcode and mastered the relationship between server and client ownership to keep them synchronized.
I focused on network features for GameObject and mechanics. I assisted QA in the weekly playtesting of each training module to ensure all audio cues, interactables, events, and game objects were synchronized on the server.
Key achievements included:
-
Implemented networked GameObjects using composition, to add network consistency across the server.
-
Scripted host-client synchronization for mechanics like teleportation, object grabbing, and radio channels to enhance multiplayer functionality.
-
Designed the lobby scene for seamless multiplayer user entry.
-
Debugged and resolved 50+ bugs related to different training modules and networked interactables leading to a polish multiplayer experience.
S.T.E.P.S XR TRAINING
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. I tapped into a designer role here as I had ownership over several simulations, features, and modes.
Core Ownerships
Fire Safety Training Simulation
-
Level-designed warehouse and office locations to support the fire training simulation.
-
Scripted fire accelerant game objects to place in the locations.
-
-
Scripted several new interactables to support the designed locations.
-
Implemented a fire extinguisher for the fire training simulation modules.
-
-
Experimented with third-party fire and smoke assets to expand usage for custom mechanics.
-
Learned about Unity's Shader Graphs and implemented variables to tweak materials through custom scripting for the fire extinguisher and accelerant objects.
-
Weapons Training Mode
-
Prototyped and white-boxed three locations for designers to iteration.
-
Designed normal, western, and space-themed rooms.
-
I added a setup table for selected weapons, a reset button, and targets.
-
-
Created the selection menu for the mode for players to customize their own weapon training experience.
-
Enabled 3 selectable weapons, shootable targets, and custom room time selection.
-
-
Implemented VFX and effects for feedback on targeted GameObjects.
-
Implemented hit effects and sound on targets upon bullet collision. (Breaking glass bottles, hitting impacts on targets, etc.)
-
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.
Core Ownerships
Technical Design
-
Prototyped and iterated on five mini-games from concept to completion.
-
Designed systems leveraging C# and polymorphism for stationed AI creation pipeline and animations.
-
Contributed to implementing features for gameplay mechanics, loops, and network features using Normcore.
-
Pitched ideas in design sessions for creating debug tools to improve testing efficiency for new mechanics.
Game Programming
-
Worked on extending 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 added ambient sounds to the game environment.
-
Worked on implementing player network features such as icons to identify players during matches.
Quality Assurance
-
Participated in weekly playtesting sessions to help the QA Analyst execute or write test cases.
-
Fixed numerous bugs within several realms of the game such as UI, network, minigames, and audio.
Button Click
The very first minigame I worked on in this project. The goal for this game was to be very simple and easy to get through.
Slider Bar
I initially pitched this minigame and implemented it using the pinning slider system from the WWE 2K games as a reference.
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.
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.
Item Tagging
The last minigame I worked on before moving on to different tasks for the project. This one just needed to be another simple one. I brainstormed it to a scanning system similar to a grocery store when checking items out.
Retrospect
Working in this position outside my comfort zone with a heavy focus on software engineering and virtual reality benefited me as a Game Designer.
I gained new skills in coding architectures and a love for the technical implementation of game mechanics and systems by implementing multiplayer content and creating training simulations. The biggest takeaway was learning the importance of attention to detail for design intentions and understanding the complexity behind game systems'.
The lessons learned from this position will benefit me in my career especially as I am now confident in dealing with complex scripting involving optimizing scripts, creative solutions to problems, breaking down tasks, and debugging or refactoring legacy code.
My experience and learnings at King Crow Studios have increased my confidence in taking future positions as a Gameplay Engineer or Virtual Reality Developer.