Skip to content

Commit 899cfbb

Browse files
more readme revisions
1 parent 8448c1a commit 899cfbb

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1+
**Update 2025:**
2+
I've been working on the continuation of this project (closed source) called [GunSlaw VR](https://dafluffypotato.com/gunslaw). I've added some notes to the README based on my later findings.
3+
14
**This repository is an example Python VR project.**
25

3-
This was originally meant to be boilerplate for VR gamedev with ModernGL, Pygame, GLFW, and PyOpenXR, but I ended up going straight for making something functional. Some of the naming is strange as a result. There's a lot of spaghetti and dead code that I left in there as well. I'm cleaning it up in the closed source version for a multiplayer project.
6+
This was originally meant to be boilerplate for VR gamedev with ModernGL, Pygame, GLFW, and PyOpenXR, but I ended up going straight for making something functional. Some of the naming is strange as a result. There's a lot of spaghetti and dead code that I left in there as well.
47

58
Various portions of the code are not fully optimized. The pathfinding especially can bog things down a bit. I get a stable 72fps with Link to my Quest 3 still. World generation and navmesh generation can take a few seconds when starting the demo.
69

710
![example](example.gif)
811

9-
I'm not entirely sure how OpenXR binding suggestions work. I've specified them for the Oculus Touch Controllers. They may or may not work for other controllers like the Index. I haven't looked into it. If it doesn't work, you can play around with the hardcoded bindings in `xrinput.py`. I only own a Rift CV1 and a Quest 3. lol
10-
11-
Audio device selection is hardcoded to select the Oculus Virtual Audio Device, which may cause some issues on some setups.
12+
Based on testing with GunSlaw VR, the OpenXR input handling should be mostly compatible with most devices. There may be some crashes when unfocusing the VR application (especially on Index) though.
1213

13-
I'll be working more with other headsets soon, so I may update this README as I learn stuff that may affect this repository.
14+
Audio device selection is hardcoded to select the Oculus Virtual Audio Device, which will cause some issues on some setups. There's also a bug in PyOpenAL I had to fix in later versions of this project in order to properly allow for device selection.
1415

1516
**Controls (Oculus Touch):**
1617
- Left Stick: Movement (hand oriented, not head)
@@ -26,7 +27,7 @@ Health and kills (on your current life) are shown on the watch face. Extra mags
2627

2728
**Architecture:**
2829

29-
I made an architecture chart for my private continuation of this project ([GunSlawVR](https://dafluffypotato.com/gunslaw)) so you can see how all the dependencies are used. The only difference between this and the latest architecture is the addition of my framework Shobnet for netcode, which doesn't exist in this demo. There's also not as much GLM usage in this demo, which makes the math quite spaghetti.
30+
I made an architecture chart for GunSlaw VR so you can see how all the dependencies are used. The only difference between this and the latest architecture is the addition of my framework Shobnet for netcode, which doesn't exist in this demo. There's also not as much GLM usage in this demo, which makes the math quite spaghetti.
3031
![architecture_chart](architecture.png)
3132

32-
**The PyOpenXR version listed in the requirements.txt may be incorrect! There was a memory leak in PyOpenXR when I was working on this project. I fixed it in a PR and it's been merged in, but the release was posted to PyPI after I forked GunSlaw VR to its own project, so I haven't tested this with it. The version in the requirements.txt is the first version with my fix in it (untested).**
33+
**The PyOpenXR version listed in the requirements.txt may be incorrect! There was a memory leak in PyOpenXR when I was working on this project. I fixed it in a PR and it's been merged in, but the release was posted to PyPI after I forked GunSlaw VR to its own project, so I haven't tested this with it. The version in the** `requirements.txt` **is the first version with my fix in it (untested).**

0 commit comments

Comments
 (0)