Developer DaFluffyPotato is no stranger to the world of VR game development. Unfortunately, open source engines like Godot have proven to have limitations and are no longer a preferred option for developers. With an upcoming 3D title needing a new development stack, DaFluffyPotato found a unique combination of Python, GLFW, ModernGL, and OpenAL to create a surprisingly optimized VR shooter.
Part of the magic that makes this possible is a project known as PyopenXR. PyopenXR provides Python bindings for OpenXR, an open set of APIs meant to help developers develop XR applications for several different VR and AR headsets. This open standard sets the stage for the rest of the tech stack. Because openXR does not render graphics and only servers to communicate with XR devices, the developer uses ModernGL, a high-performance rendering model for Python. Furthermore, the stack uses GLFW to create windows and handle input, as PyopenXR already supports it. Unfortunately, while testing this setup, DaFluffyPotato discovers a memory leak coming from PyopenXR but resolves the issue after they find the bug and get it patched.
At this point, the stack is ready to use to develop a 3D game. DaFluffyPotato creates a functional prototype with a complete asset setup composed of a couple of weapons, a character, game physics, a Minecraft-inspired block environment, and enemy NPCs that spawn on the map. The only thing missing is spatial audio; luckily, OpenAL can easily provide 3D audio and features an implementation workflow similar to ModernGL. After taking some time to polish the game, the results are surprisingly good. The game is quick to boot, with a boot time of around a couple of seconds, which is much faster than most VR games. Additionally, the game does not tax the CPU it runs on. Overall, this is an exciting project, and DaFluffyPotato already has plans for future updates, including better enemy NPCs and Multiplayer.