World interactions
On Chiaro, I created a base interaction system for VR, which allowed the player to interact with all the different various interaction objects in the game.
Some examples of the interaction objects are:
- Swinging Doors
- Sliding Doors
- Cabinet Drawers
- Destructible objects (that will break into interactable pieces)
- Levers
- Buttons
- Cranks (Clockwise and Counter Clockwise)
I also created a system to teleport back items that were labelled as important Quest items so players would not be able to throw them away and get soft locked.
VR Rowboat
For the lake level, I designed and implemented a rowboat feature for players to sit or stand and row the boat fully in VR. One of the more interested parts of this effort was to try and eliminate simulator sickness. I spent significant time researching and implementing very successful systems including:
- Creating a bright blurry post processing effect on the edge of the HUD to narrow player’s vision. One of the biggest causes of simulator sickness comes from seeing peripheral vision motion and so by narrowing the visibility it greatly cut down on simulator sickness.
- The rowboat has no accelerating or decelerating motion, only set speeds. Since changing speeds is another source of simulator sickness.
- For any players that still encountered sickness, I added in multiple accessibility options which included making the boat move in the direction the player pointed (Something I found to be extremely helpful from working on a VR student project) and skipping the rowboat scene entirely by teleporting to various shores.
VR Fishing Rod
For my design test to work at Martov Co. I had designed and fully implemented in VR a fishing simulator. It worked well enough that with minimal work I was able to fully integrate it into the game.
The fishing rod has multiple stages of functionality to replicate the feeling of fishing in real life:
- Winding up and casting the reel: The player moves their hand back and then quickly forward.
- Actively fishing: you have to time the next button press based on visual cues, audio cues and controller shake indicators when a fish has been caught.
- Reeling in the fish: Moving the VR controller in a circular motion fast enough will reel the fish in successfully. Based on VR controller accuracy constraints, it is better to reel in a consistent manner rather than just as fast as possible, and this is presented to the player as a tip on their hud while they are fishing.
Worked on NPC AI
Created and designed the NPC AI system which supports quest NPCs walking around and interacting with the player. This was a scalable backend system used for each chapter.