With the next releases of the godot-game-template for Godot 4.x I want to focus more on desktop platforms.
I'm writing this issue to explain my motivations and to listen for any feedback.
Why?
The first goal is to ease the initial development phase. EG: jam games or short lived projects.
To do this I need to make a tradeoff. Supporting mobile platforms at the same quality level of desktop platforms is far more difficult and time consuming. I think the template can offer more value by focusing on one of them at a time, at least at the current state of things (I'm accounting my limited free-time as well).
What changes?
I plan to
remove the Android CI steps
remove some smartphone specific-code (just few lines of code actually)
focus on dev utilities (read below for "Local tools" and "DebugUtils")
Mobile CI builds are a pain
Android CI often breaks: it happened a couple of times with the Godot 3.x lifecycle and it happened again with godot-4.x branch see this build.
Also, please correct me if I'm wrong, I feel that few people actually used the Android CI.
Github CI was cool to integrate but in practical terms I prefer to run a simple script on my main PC to locally build the games and test them on the fly. At least this is what I found more useful during short projects and game jams.
Even for butler I'm totally ok to run it from my terminal.
Games are developed mainly on the PC. Even YouAreUto, a mobile-only game bootstrapped with (an early version of the) godot-game-template, was often developed on the PC and had specific keyboard shortcuts like a simple layout switcher addon to test worst case resolutions.
Yes, you often need to test on real devices, especially if you need to make performance optimizations, debugging or interfacing with the OS API.
But by focusing on desktop first (in terms of utilities) I can offer more value for the initial development phase (which is the one that a template should focus on).
Maybe mobile-specific addons and utilities can be a completely separate addon to install alongside the template, but I don't have any plan right now.
Example: more utilities
In a recent game jam I created a small utility called DebugShortcuts. Every shortcut is assigned to a mnemonic keyboard shortcut and the parent node is automatically removed on release builds so that you don't ship debug tools in the final game (but only in debug builds). Focusing on desktop platforms allows for this kind of features that can remove friction and make games more fun!
Please give your feedback
Hopefully this does not affect users too much, but please let me know what do you think about this.
Decision
With the next releases of the godot-game-template for Godot 4.x I want to focus more on desktop platforms. I'm writing this issue to explain my motivations and to listen for any feedback.
Why?
The first goal is to ease the initial development phase. EG: jam games or short lived projects.
To do this I need to make a tradeoff. Supporting mobile platforms at the same quality level of desktop platforms is far more difficult and time consuming. I think the template can offer more value by focusing on one of them at a time, at least at the current state of things (I'm accounting my limited free-time as well).
What changes?
I plan to
Mobile CI builds are a pain
Also, please correct me if I'm wrong, I feel that few people actually used the Android CI.
Github CI was cool to integrate but in practical terms I prefer to run a simple script on my main PC to locally build the games and test them on the fly. At least this is what I found more useful during short projects and game jams.
Even for butler I'm totally ok to run it from my terminal.
Local tools
I often work on small games and I can build them faster locally than Github CI (taking into account upload time, docker image pulling, etc.). That's why I created https://github.com/crystal-bit/godot-game-template/blob/feature/godot4/release.sh
Upsides:
Desktop focus adds more value in the short term
Games are developed mainly on the PC. Even YouAreUto, a mobile-only game bootstrapped with (an early version of the) godot-game-template, was often developed on the PC and had specific keyboard shortcuts like a simple layout switcher addon to test worst case resolutions.
Yes, you often need to test on real devices, especially if you need to make performance optimizations, debugging or interfacing with the OS API.
But by focusing on desktop first (in terms of utilities) I can offer more value for the initial development phase (which is the one that a template should focus on).
Maybe mobile-specific addons and utilities can be a completely separate addon to install alongside the template, but I don't have any plan right now.
Example: more utilities
In a recent game jam I created a small utility called DebugShortcuts. Every shortcut is assigned to a mnemonic keyboard shortcut and the parent node is automatically removed on release builds so that you don't ship debug tools in the final game (but only in debug builds). Focusing on desktop platforms allows for this kind of features that can remove friction and make games more fun!
Please give your feedback
Hopefully this does not affect users too much, but please let me know what do you think about this.