
Developing with Cutting-Edge VR Technologies
My internship at Studio Merkas involved working with advanced Virtual Reality (VR) technologies, particularly the Oculus Quest Meta Pro. The project centered around eye tracking, hand tracking, and gesture recognition, creating an innovative interaction system that eliminated the need for traditional controllers. The goal was to design a VR prototype where players could cast spells using hand gestures and eye movement, requiring a deep understanding of hardware integration and software development in VR environments.

Gesture Recognition and Hand Tracking
Implementing hand tracking and gesture recognition required an extensive trial-and-error process.
Unlike traditional controller-based input, hand tracking relies on real-time bone position detection, while gesture recognition involves comparing user-drawn shapes against pre-defined data.
I developed an input system where players could perform hand poses (e.g., thumbs up, peace sign, fist) as virtual buttons.
Additionally, I implemented a gesture recognition system allowing players to draw magical runes in the air to activate spells. This required careful gesture calibration to ensure accuracy while avoiding player fatigue.

Eye Tracking and User Interaction
Eye tracking introduced unique interaction challenges in VR development.
Unlike traditional input methods, gaze-based interactions can cause fatigue and require precise calibration. I integrated eye tracking for aiming mechanics, allowing players to lock onto enemies using their gaze.
However, I also had to balance natural player movements to prevent accidental selections. Ensuring a fluid user experience required iterative testing, adjusting detection thresholds, and optimizing gaze-based mechanics to be intuitive and responsive.

Programming for Performance Optimization
One of the biggest challenges in VR game development is performance optimization. The Oculus Quest Meta Pro imposed strict hardware limitations, including a maximum of 1.5 million triangles and 150 draw calls.
To meet these requirements, I implemented mesh combination, Level of Detail (LoD) techniques, and dynamic occlusion to optimize rendering.
Additionally, I reduced draw calls from 478 to 74, significantly improving frame rates and ensuring a smooth VR experience. These optimizations were crucial to maintaining visual quality while keeping performance efficient on a standalone VR headset.
Coding and Software Engineering Practices
In addition to gameplay programming, I focused on writing efficient, maintainable code using Unity and C#.
My work involved debugging, memory management, and code optimization to meet VR performance constraints. Regular code reviews helped refine my software engineering skills, ensuring that scripts were both scalable and performance-friendly.
I also contributed to technical documentation, creating detailed Wiki articles on system architecture, input handling, and performance tuning to help future developers understand the codebase.