26 (edited by parasti 2012-10-28 22:01:19)

Re: Mac OS X Port (for 1.6)

jammnrose wrote:

How does gettext work? I've tried setting my system language to French, but Neverball didn't change... I do know that Mac OS X does localizations their own way, but I'm not sure how we can use that to our advantage to automatically switch to the right .mo file.

I have no idea, really. It does a billion different things to figure out which language to use. On OSX it may use common Unix stuff or something else entirely. There are a few common reasons why a system language change doesn't take effect, though. Usually you need to do stuff like log out and log back in, or at least restart the terminal, if you are attempting to run the game that way.


It looks like the compiled .sol file is all the games need to run, do we still want to bundle the .map files? I can see the reasoning behind it, but thought I'd ask. (I think it could reduce our filesize.)

Map files absolutely must be distributed. You may give an option not to install them (along with other mapping stuff), but excluding them is not an option.

Well, there's a problem there that I don't know how to address at all. It applies to the Neverball/Neverputt data split as well, and I don't know what to do about it, which is why I haven't said anything about that.

Both of these changes complicate Neverball mapping on OSX. It works really well when we have a single data directory with all the assets in a common location - because really, there is no difference between the two, they're two games using the same assets. Not so much when we have two data directories with different assets in different locations.

In fact, we can't even configure a single Radiant gamepack to look into two app bundles. That brings up a need for two gamepacks, possibly tailored for each game (because a share of Neverball stuff does not work in Neverputt). Doing that just for OSX wouldn't make sense.

I'm starting to think that having a single bundle with a launcher to choose the game might be a better deal.

27

Re: Mac OS X Port (for 1.6)

Thanks parasti.

I'll look into the gettext stuff, but it won't be a high priority...

I totally understand about the maps, and thought that was the case.

If we want to stick with the shared data model, which I *DO* like, we have two options. Use an installer and install the data to a shared location, making symlinks from inside the game bundle. The other option you said, is a launcher, but that seems kinda hacky, just for a different OS. I would actually still prefer the install/symlink method over this.

Of course we could also just say we don't care about download size, and not worry about duplicating data... I think 122MB is a bit steep though, when it should be closer to 60MB.

Looking for feedback from anyone here.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

28 (edited by jammnrose 2012-11-01 03:12:50)

Re: Mac OS X Port (for 1.6)

Bueller; Bueller; Bueller?


On the fence here... Installer + small download size, or no installer + large download size (~115MB/Mo)? [115MB/Mo is tested DMG compression.] As much as I like the no-installer method, I don't like the data folder split, or the large download size... If only we could use 7-zip compression tongue, using duplicated data and all is ~41.6MB. I'm thinking now that I'm probably going to go for the installer + symlinks if no one else responds saying otherwise.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

29 (edited by Cheeseness 2012-11-01 03:35:43)

Re: Mac OS X Port (for 1.6)

Personally, I don't feel that download size should be that big a deal, but I also am a firm believer that if you don't have rights to install stuff, you shouldn't be installing software, so an installer is attractive from that standpoint.

The other option that I haven't seen mentioned is packaging Neverball and Neverputt separately (treating them as standalone games that can be downloaded individually, though that doesn't really solve the shared data issue - it just keeps the download size down for people who're only interested in one), though I don't know whether this would benefit or diminish Neverputt's visibility.

parasti's suggestion of a launcher also has merit.

Cheese
==========
cheesetalks.net

30

Re: Mac OS X Port (for 1.6)

That (110MB) is a comparatively small download for OSX...

Currently Playing:
Celeste and Electronic Super Joy

31

Re: Mac OS X Port (for 1.6)

I'm not exactly following here. Why does using an installer mean reduced download size compared to DMG?

Cheeseness wrote:

The other option that I haven't seen mentioned is packaging Neverball and Neverputt separately

Actually, it has been mentioned. This is the option that involves the "data split" that we were discussing.

32 (edited by jammnrose 2012-11-01 12:03:21)

Re: Mac OS X Port (for 1.6)

Woops, sorry if I was a bit unclear. We'd be using a DMG whether or not we have an installer. A DMG is basically a compressed archive (zlib or bzip2), that is the standard distribution for software on a Mac. It is common to distribute both ".app" bundles AND installers this way. App bundles just get drag/dropped into the /Applications folder. Our savings by using an installer is that we would not need to duplicate the data directory for each game.

I completely forgot another option, is that the installer can actually just make two copys of the shared data inside each app. The resulting install size is a bit larger (400+MB), but hard drive space is cheap and we skip the shared data location, keeping everything clean and inside the ".app" bundle. Thinking about it now, I'd probably advocate for this over symlink sillyness and a 'dirty' shared data location.

I think that keeping the download size down is still a good idea, 110+MB vs. ~50-60MB, though I agree, it's less important nowadays. That said, I do like your point Cheese, about the installer for permissions sake. If it helps us achieve 2 birds with 1 stone, then I say it's probably worth it.

PS: It might be worth noting that my mother still has to use dialup, or pretty crappy cell data!

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

33

Re: Mac OS X Port (for 1.6)

parasti wrote:

Actually, it has been mentioned. This is the option that involves the "data split" that we were discussing.

Ah. I was of the impression you were talking about having two separate .app files in a single download. As I said, it wouldn't solve the duplicate data issue.

Cheese
==========
cheesetalks.net

34

Re: Mac OS X Port (for 1.6)

3 packages
_never-common
_neverball need never-common
_neverputt need never-common
no idea if it worth it in term if package size, but at least you don't install the same data twice

35

Re: Mac OS X Port (for 1.6)

Yeah, whatever solution we settle on, I do not want to have two data directories.

Symlinks can probably be avoided with a bit of Objective-C (e.g., NSSearchPathForDirectoriesInDomains to locate the Application Support directory). I can probably write the code if nobody else wants to try, but I wouldn't have any way to test or even compile it. Debugging that would be a nightmare for sure.

On the topic of disk space. I could have sworn I mentioned this a while back, but there's also the option of zipping up the data directory contents and distributing the ZIP as data-1.6.0.zip in the data directory. Neverball can read that easily. This has an interesting upside to it performance-wise, because the OS only has to cache the ZIP file once at startup as opposed to having to cache each asset as it is accessed (i.e., potentially faster loading times).

I can now also comfortably back that option from a mapping viewpoint. This was a bit of a concern because if we zipped the data up, Radiant couldn't read it. Luckily, Radiant can read ZIP archives, it just looks for a different filename extension. This is easily fixed by distributing the data ZIP as data-1.6.0.pk3. I updated Neverball to recognize .pk3 as well.

36 (edited by jammnrose 2012-11-06 05:03:38)

Re: Mac OS X Port (for 1.6)

Hmm, does this mean wherever the data directory would be looked for, I could substitute data*.pk3 (zip)? [I don't have time to test this right now, but I can sometime soon.]

I'm definitely against splitting up the data directory (now), and I don't think ~400mb for the install size is too much. The option that I keep coming back to that seems the best, is the one I mentioned previously:
Make an installer that makes two copies of the data directory (and everything) into each app bundle at install time. No need for duplicate data in the download, and no shared location 'weirdness'.

If I use this method combined with being able to install data as a .pk3 (zip), then we'd save some on install size. A very good compromise in my book.

I'm going to go forward with this I think.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

37

Re: Mac OS X Port (for 1.6)

I personally don't care re: file sizes. Nuncabola is only 54.8MB total.

I don't think there is a time where we want shared resources updated for both programs at once. I don't think that is a safe or prudent thing to do. The compressed data.pk3 idea is solid, and should be included separately for each game, allowing for independent material updates etc..

I am also 100% for the inclusion of all required data (except preference files) inside the main .app

Currently Playing:
Celeste and Electronic Super Joy

38

Re: Mac OS X Port (for 1.6)

jammnrose wrote:

Hmm, does this mean wherever the data directory would be looked for, I could substitute data*.pk3 (zip)?

Not exactly. You could zip up the contents of the data directory, then place the ZIP within the data directory.

39

Re: Mac OS X Port (for 1.6)

Hey guys,
Cheese said you were planning to release 1.6 sometime next week, so I figured I'd get my arse in gear and try to get a working Mac port for us.
Right now I'm a little hung up on getting stuff to work with the move to SDL2...I think I basically need to port the SDL 1.x template (SDLMain.m) to SDL2. We'll see how this goes, and I'll report back. FWIW everything appears to be compiling alright with SDL2, but I get a black game window with an "i" in the middle.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

40

Re: Mac OS X Port (for 1.6)

SDL2 hasn't dropped support for OSX. You probably just have to read up on how Xcode setup is done in SDL2. It's probably in a readme file somewhere in the SDL2 source.

41

Re: Mac OS X Port (for 1.6)

Oh yeah, I didn't mean it dropped support, just not all the same stuff is given to you. And yeah, I'm doing reading on getting it working smile.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

42

Re: Mac OS X Port (for 1.6)

Bah, turns out I was missing something dead simple. With the removal of the SDLMain.m/SDLMain.h the application was no longer looking for the data dir in the same place. I was able to get it to run by trial and error, placing it in different locations inside the .app bundle (yep, build is working with no issues). So really the only problem I have now is to figure out how to make it so the data dir can be at the location we want. Should be fairly trivial stuff, just silly details.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

43

Re: Mac OS X Port (for 1.6)

Sorting out a few details now on packaging, and the data layout that was discussed a while ago.
One copy of data will be included within the installer, but will be placed inside each .app as part of the install process.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

44

Re: Mac OS X Port (for 1.6)

Hey all, just an update. I've been sorta busy lately and haven't had a lot of time to finish the installer, but I don't want to completely go silent. I'm planning to work on it soon.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

45

Re: Mac OS X Port (for 1.6)

Is this still a possibility Jamm? and is the fullscreen bug fixed (10.9.x)?

This may just be an SDL2 error, but aren't we moving to SDL2?

Currently Playing:
Celeste and Electronic Super Joy