New desktop deployment for 3.1

Fantastic!

Amazing!

Awesome! 3.1 can’t come soon enough! :wink:

yay. It’s like christmas all over again.

I moved 3 posts to a new topic: Desktop deployment with Gradle Getdown Plugin

I moved a post to an existing topic: Gradle-getdown-plugin

As an update to this, the new desktop deployment now also extracts the JNI binaries for the specific platform, adds them to the application zip file in the correct place and removes the jar file with all the different platform binaries from the zip.

This way there won’t be any binary files extracted to the users home folder by your game and you get less bloat distributed with your application.

3 Likes

Great job. I have a few questions for you:

  • Do you plan to provide anything “better” than a simple ZIP archive for GNU Linux and Microsoft Windows?
  • Is it possible to bundle OpenJDK (or any custom JVM) instead of Oracle Java?
  • What are your sources of inspiration? LibGDX PackR?
  • Does your tool support signing application with a “trusted” certificate?
  • Do you plan to provide a mechanism for automatic update?

I have used JNDT (my own tool) for several months to do something similar, it creates several compressed archives for all platforms. A few end users (especially non technical ones) prefer having a better desktop integration, that’s why I create some packages for GNU Linux (RPM, DEB) too but I have found no cross-platform solution to create MSI files for Microsoft Windows, I just know that Apache POI is helpful to manipulate this kind of file. Let me know whether you have found how to solve this problem. However, the Windows Store accepts APPX files…

Keep up the good work :smile:

  1. No, theres so many ways to distribute an app and for the various store systems (Steam, AppStores etc.) you’ll need to package it their way anyway. So you just get a “normal” application that you can distribute with any installer you like.
  2. No and theres no good reason to do so anyway
  3. Oracles app distribution system, thats what its based on
  4. Not really but the aforementioned ways of making installers should allow this
  5. No, the various store systems all have their own way to do this anyway
      1. Ok, in my humble opinion it is acceptable, it means that packaging the application for a centralized package repository or an application store is still up to the developer. It wasn’t clear for me when I read your very first post.
  1. The “small VM” JEP is over, its objective was to provide a JVM not larger than 3 MB and I know some private corporations that prefer bundling OpenJDK instead of Oracle Java for legal reasons (and to avoid the install of deceptive softwares).
  2. How do you use it? I have looked a bit at your source code here but I don’t get which class is responsible for the creation of the APP file for Mac OS X and the zip archives for the other operating systems.
  1. Theres no software installed, the JRE just sits in a folder and is solely used to run the app
  2. The binaries just get extracted. They’re basically just small binary stubs that do java -jar MyGame.jar with the contained JRE. The .app file for OSX is just a folder structure, it gets created directly in the ZIP file by the ANT build script (which also allows setting the executable attribute which doesn’t exist on windows), same for the folder structures for the other platforms. The code you point at just inserts the ANT script into the main build script and extracts/downloads the needed files to the project folder.

Normen this is great, I would really love to utilize this before our launch. Is there an eta on stable 3.1 yet, or a place I can go to check the roadmap for updates so people don’t have to constantly ask you? :slight_smile: Thanks so much for your hard work on making this the best open source engine out there!

Checkout git, git build, cd sdk, ant zip.

oh wow so everything that’s in there is considered stable already!? count me in!!

No its not, you asked to get your hands on it before it was launched.

For dummies (disclaimer: I’m a dummy!):

Key word “our” not “your” :slight_smile: , I have my own game project. I’ll wait until stable, thanks!

Maybe I have missed something but it would be nice to be able to pass some VM options, for example to increase the maximum size of the native heap.

You can, just set them in the project settings.

@normen not trying to nag your or anything but is there a eta on the stable version of 3.1 or is there a way a github dummie can try it out lol