Proposal: EasyRPG Player builder
Br4ssman opened this issue · comments
For those of us who are laymen, is there on the horizon the possibility of a tool to easily build a "Player" for the different systems that EasyRPG supports?
Right now the process requires annoying several very advanced users who follow the process that you guys follow and I was wondering if there would be a possibility to simplify that (in a way that allows to build Player for Windows, Linux, Mac, others...).
Building can be hard thing and maintaining this feature requires a lot of maintenance. It also requires a lot of dependencies, a lot of RAM for linking libraries, building time and other issues. For this reason, Jenkins exists to keep this complexity and maintenance burden in a single place. Forks based on customizations "out of tree" could differ a lot, depending on requirements, and could even use custom building steps not used upstream for any reason.
Every building system has specific requirements, and some of them are a pain, e.g. Android. For this particular example case (large SDKs with licensing distribution issues and breaking changes every few months) shows it is difficult to bring it available as an easy to consume package. An even worse example: building for macOS requires a macOS to get the SDK for dependent building libraries. Though there are hacks out there to get libs for building from linux and other systems, fetching the Xcode SDK still requires macOS and there are legal concerns distributing the SDK files as is for building somewhere else. By the way, the Xcode download is over 12 GB.
A better approach for this could be trying to make Player more customizable by settings and reduce patching needs with them. For example, allowing to remove the "- EasyRPG Player" from the Window title to match RPG_RT. Or changing the window manager icon (the icon on taskbar and alt+tab) and the window dialog/frame icon (on some operating systems like Windows), and a few more, from .ini file. The settings feature in Player is the next big one, but will be another game changer.
Then, once these customizations prevents building Player, providing prebuilt Player executables, packaging games with Player is a lot simpler, like some game engine products do out there. They can package APK/AAB files for Android, macOS App Bundles, Windows installers, etc. with Player and game information, custom game icon shortcut (not requiring to change the Player.exe icon), etc. The package signing still depends on the developer on some platforms, but reduces a lot of steps for game authors. This still requires a fair amount of effort to provide it, but it could be even integrated from an editor, not just as a tool.