drwhut / tabletop-club

An open-source platform for playing tabletop games in a physics-based 3D environment for Windows, macOS, and Linux! Made with the Godot Engine.
https://tabletopclub.net
MIT License
1.28k stars 55 forks source link

Fallback to GLES2 if game fails to boot with GLES3 backend. #312

Open drwhut opened 8 months ago

drwhut commented 8 months ago

Is your feature request related to a problem? Please describe. There's been a couple of instances on the community Discord of players not being able to boot the game due to having older hardware that did not support GLES3. However, when they attempted to run the game with the --video-driver GLES2 argument (either manually, or via a script), they managed to get into the game without any crashes.

Describe the solution you'd like I noticed in Godot's project settings that there is an option to fallback to GLES2 if the engine detects that the video adapter does not support GLES3 - if it works as intended, this would remove the need for the command line argument.

While this would hopefully allow players with older hardware to run the game without any workarounds, this does not necessarily mean that GLES2 would be a fully supported back-end. The game is exclusively developed with GLES3 in mind, as the game is primarily targeted towards more modern PC platforms.

Describe alternatives you've considered I could put the command line argument in the documentation somewhere, or hope that people find the correct thread on the Discord, but having the engine switch graphical back-ends automatically would save a lot of searching and headaches for players with older hardware.

Additional context Since GLES2 and GLES3 may end up using different texture compression algorithms, we need to test if assets imported while the game was using GLES3 still work if the game is run in GLES2 mode, and vice versa.