Hello fellows !
First of all, i’d like to thank @Ali_RS for his contributions and help !! Much appreciated.
Following some discussions here, i plan to remaintain the CrossPlatformModule project under the name Cross-platform-template
…
Major new Additions on the module from the last merged PR:
- An extra
game-assets
module which will serve as a holder for game assets at the gradle resources directory (it also supports java code related to assets if you want to further maintain a custom asset loading code on your game). - A
common.gradle
dependencies file at the root project module to avoid duplicate gradle implementations (this is so far designed to include cross-platform binaries, while platform-specifics are implemented on their relevant module). - Updated gradle-wrapper to gradle-7.6.
- Updated android-sdk to the brand new api-33.
- Updated jme version to 3.6.0-beta3 .
Things i think of now:
- Update some deprecated api usages on android.
- Add some command-line helper gradle tasks on the android module to help in starting emulators and running applications using
adb
to be able to develop android easily outside of android-studio. - Fork this project and create a new
Cross-platform-jfx-template
that implements jfx on the desktop module only and platform-specific android views code on the other hand on the android module.
Benefits of this template over the regular gradle templates:
- Provides an ability to build binaries for desktop and android easily with the same assets.
- Provides separate and common application compile-time development environments instead of checking for the current machine and do something specific dynamically, so your code should be placed depending on what you are really developing, for example:
- jMonkeyEngine code should go into the
game
module. - Android hardware or sensors or IoT related android code should go into the
android
module. - Desktop specific native or hardware code (that would include specific drivers code for hardware projects too) should go into
desktop
module.
- jMonkeyEngine code should go into the
- And all of that within your gradle environment, so i guarantee this will work very well with jme-sdk and i will be happy to see it one day on the official jme-sdk !
Finally, i plan to migrate my arcade game JPluto to use this template when it’s completed !! And by the way my game has a hardware access which will not be okay if all the code is written on the same module !
EDIT:
And it’s a public template (it just forks and changes names really but yeah) now