SheerSt / pokewilds

PokeWilds - A Gen 2 Game/Engine using libGDX
2.7k stars 205 forks source link

Converting the MacOS launcher into an normal application #105

Open RoryMB opened 2 years ago

RoryMB commented 2 years ago

Suggested MacOS Improvement (tested on M1)

The current instructions for playing on a Mac involve opening a Terminal and running a Java command to start the application every time. To avoid this, only 3 things need to be changed:

  1. The entry point executable needs to be replaced
  2. The entry point executable needs to be marked as an executable file
  3. The unzipped directory needs to be named with a .app extension

Below, I outline how any user can do this, but the distributed zip file could also be modified in the same way so that users wouldn't have to do this.

As always, don't run code in a Terminal from untrusted sources without checking it yourself. Some resources for the commands I used in the instructions can be found here:

Instructions

1. Setup

fourlastor commented 2 years ago

@RoryMB thank you for the detailed info!

We went for distributing a jar because, without notarization, we found it was really hard for people to run the game.

Usually the game runs fine while you're on the machine from which you created the files, but starts to fail when you have downloaded it from the web

In the latest otherplatforms builds there is a .command script that does something similar to what you suggest.

Even that file though, when downloaded, is blocked, we found this to be a decent compromise as you can do cat original-launcher.command > my-launcher.command and create "your" copy of the launcher (after giving it executable permissions), and this is a simple enough procedure for people to follow even when they're not technically versed.

I'm not a mac user, do you know if there's a better way to make this reliably easy to setup, and easy to play? I could write a small bash install script that does what you suggest, but I'm not sure if that would work once you run it on a different computer than the one creating it