Notebookcheck Logo

Game developer builds a custom VR game engine using Python

Python powered VR game engine (Image Source: DaFluffyPotato)
Python powered VR game engine (Image Source: DaFluffyPotato)
For most developers, using Python for VR game development does not sound like the most efficient use of the programming language. However, developer DaFluffyPotato met the challenge and discovered some exciting results.

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.

static version load dynamic
Loading Comments
Comment on this article
Please share our article, every link counts!
Mail Logo
> Expert Reviews and News on Laptops, Smartphones and Tech Innovations > News > News Archive > Newsarchive 2024 12 > Game developer builds a custom VR game engine using Python
Stephen Pereyra, 2024-12-10 (Update: 2024-12-10)