Rune - Programming

Programmer
Alternate Free Runner
Simple Code Snippet of VR Gesture Recognition

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.

The flame Rune being drawn

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.

The Goblin enemy waiting for the player

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.

More Info about this Project

Other Projects

Stay in Touch