Twórca gier buduje niestandardowy silnik gry VR przy użyciu Pythona
Deweloper DaFluffyPotato nie jest obcy w świecie tworzenia gier VR. Niestety, silniki open source, takie jak Godot, okazały się mieć ograniczenia i nie są już preferowaną opcją dla deweloperów. Wraz z nadchodzącym tytułem 3D wymagającym nowego stosu programistycznego, DaFluffyPotato znalazł unikalną kombinację Pythona, GLFW, ModernGL i OpenAL, aby stworzyć zaskakująco zoptymalizowaną strzelankę VR.
Częścią magii, która sprawia, że jest to możliwe, jest projekt znany jako PyopenXR. PyopenXR zapewnia powiązania Pythona dla OpenXR, otwartego zestawu interfejsów API, które mają pomóc programistom w tworzeniu aplikacji XR dla kilku różnych zestawów VR i AR. Ten otwarty standard wyznacza scenę dla reszty stosu technologicznego. Ponieważ openXR nie renderuje grafiki, a jedynie serwery do komunikacji z urządzeniami XR, deweloper wykorzystuje ModernGL, wysokowydajny model renderowania dla Pythona. Ponadto stos wykorzystuje GLFW do tworzenia okien i obsługi danych wejściowych, ponieważ PyopenXR już go obsługuje. Niestety, podczas testowania tej konfiguracji DaFluffyPotato odkrywa wyciek pamięci pochodzący z PyopenXR, ale rozwiązuje problem po znalezieniu błędu i załataniu go.
W tym momencie stos jest gotowy do użycia w celu stworzenia gry 3D. DaFluffyPotato tworzy funkcjonalny prototyp z kompletną konfiguracją zasobów składającą się z kilku broni, postaci, fizyki gry, blokowego środowiska inspirowanego Minecraftem i wrogich postaci niezależnych, które pojawiają się na mapie. Jedyną brakującą rzeczą jest dźwięk przestrzenny; na szczęście OpenAL może z łatwością zapewnić dźwięk 3D i oferuje przepływ pracy podobny do ModernGL. Po poświęceniu trochę czasu na dopracowanie gry, wyniki są zaskakująco dobre. Gra uruchamia się szybko, z czasem rozruchu wynoszącym około kilku sekund, co jest znacznie szybsze niż w przypadku większości gier VR. Ponadto gra nie obciąża procesora, na którym działa. Ogólnie rzecz biorąc, jest to ekscytujący projekt, a DaFluffyPotato ma już plany na przyszłe aktualizacje, w tym lepsze wrogie postacie niezależne i tryb wieloosobowy.