Genre | VR Action-Puzzle |
---|---|
Year | 2019-2022 |
Platform | Meta Quest |
Tools used | Unity |
Team size | Team of 3 |
Role | Main Programmer |
Send Me Home is a VR action-puzzle game developed by Nel Pastel where you travel from world to world in your spaceship and use its various devices to guide the world's inhabitants to their homes. After joining the company, I was tasked with the creation of the prototype and each subsequent feature implementation. The game is still in development.
@nelpastelstudio let's finish this level and send everyone home 🏠🚙 #vr #vrgame #gamerday #meta #oculus #sidequest #fyp #vrtiktok ♬ SUN GOES DOWN - Andreas Roehrig
I worked on the implementation of various gameplay systems, including:
• The overall level state.
• The visualization and movement of the cars.
• The behaviour of the road's elements.
• The ship's movement through the steering of the ship's wheel.
• UI interfaces across all sections of the game
I made a system for communication between VR controls and game elements, and implemented the interactions for various types of controls, including:
• Levers which you can pull and return to their original position after released.
• Multi-state levers, which keep their current state after released.
• Analog levers, which can be freely moved and keep a normalized value.
• Buttons, which are interacted when pressed with a pointing hand gesture.
• Flip switches, which are switched when moved with a pointing hand gesture.
• Sliders, which are adjusted when moved with a pointing hand gesture.
• Rotating levers, which handle you can grab and give it a spin, keeping track of the number of revolutions.
• The ship's wheel, which can be steered while being grabbed with a single or with both hands, and be pushed or pulled while using both hands.
• And some other more specialized interactions, like inserting and rotating a key and a two-handed manual pump.
Was in charge of managing the pipelines for adding assets to the game, including new models, audio, levels and data through scriptable objects. Tools were also made to help the level creation process, like lightning baking, systems precalculations and preview image generation.
• Constant monitoring of the game performance running on the target platform (an Oculus Quest) and using the profiler tool and profiler analyzer to find bottlenecks in execution.
• Research and implementation of techniques to reduce number of Draw Calls, including static batching, GPU instancing, and using as few as possible materials.
• Use of RenderDoc to profile visual changes and shaders.
• Implemented a custom level loading system to avoid noticeable halting during level transitions.
• Implemented the variation of in-game colors for different levels though the scrolling of a single palette texture.
• Wrote a shader using a custom-generated 3D texture for the appearance of the terrain.