kerkerkruip icon indicating copy to clipboard operation
kerkerkruip copied to clipboard

Platform-specific releases

Open ektemple opened this issue 12 years ago • 45 comments

I've been poking around on the roguelike forums a bit, and the gblorb + interpreter thing really does seem to be a stumbling block for new players. There's also the problem of unsuitable but popular interpreters (such as Spatterlight on OS X). I think we should try to set a goal of having platform-specific releases for Windows and OS X.

I don't know anything about Windows, but an OSX app bundle should be pretty easy to do. I'm not sure of the step-by-step, but I think a couple of hours' research should be all that's required.

Platforms:

  • [x] Windows
  • [ ] OSX
  • [x] Linux (Debian)
  • [ ] Figure out copyright licence requirements for installers
  • [x] Include an .ini file
  • [ ] Include an icon (#41)

ektemple avatar Nov 07 '12 14:11 ektemple

People get so confused. The IF community should promote Gargoyle and nothing else. Well that's my opinion.

It might be possible to bundle it with Gargoyle. Or maybe we just need better installation instructions.

Also, it does work using Quixe, and the performance is acceptable.

curiousdannii avatar Nov 07 '12 15:11 curiousdannii

I agree on Gargoyle, but many other IFers don't.

But, of course, no one outside of the IF community knows--or wants to know--about interpreters + gamefiles. Kerkerkruip has the potential to reach a larger audience, and I think that we should try to package it in ways that any audience will be familiar with. On OS X, this should be as simple as putting git.exe, gargoyle.exe, the game file, and a config file into an app bundle, and instructing the bundle to open the gamefile with Gargoyle when the app is started. I think it would be more complicated to do on Windows, though. And I suspect it wouldn't be worth doing for *nix machines...

Unless Victor has found a way to improve performance since the comp version, the performance on Quixe is only acceptable until you have more than 2 combatants. It then grinds along very slowly. (The same thing is true playing it on iOS via Frotz.) I believe that Victor thought this was due to the AI routines.

ektemple avatar Nov 07 '12 16:11 ektemple

I know nothing about current performance; it is possible that Dannii's changes to ATTACK have made some impact here, so it might be worth it to test again.

Platform-specific releases sound good; I'm certainly not opposed to going mainstream. (Though I am surprised that you find people confused by this on roguelike forums. I mean, how can you spend your life remembering what type of monster a cyan 'B' is, yet not understand how to use an interpreter.)

VictorGijsbers avatar Nov 08 '12 13:11 VictorGijsbers

I don't think my ATTACK changes would have made it slower. The more we add however the slower it will be. Hopefully soon there'll be a new I7 release which will speed things up!

curiousdannii avatar Nov 08 '12 13:11 curiousdannii

No, I was suggesting they might have made it faster. ;)

VictorGijsbers avatar Nov 08 '12 13:11 VictorGijsbers

Kerkerkruip's review page on audiogames.net lists Windows Glulxe and Filfre(!) as the interpreters to use. (I'm surprised at the inclusion of Windows Glulxe, given how many steps it takes to see scrollback.)

ektemple avatar Nov 08 '12 15:11 ektemple

I don't think I'll be tackling this issue any time soon myself. If either of you wants to take a look at it, please assign the issue to yourself. :)

VictorGijsbers avatar Nov 16 '12 20:11 VictorGijsbers

I plan to look at the OS X side some time. It's not feasible for me to look at bundling for Windows, unfortunately.

(Sadly, there seems to be a nasty timer/input bug in OSX Gargoyle 2011.1, which might require bundling the 2010 version at least until that is fixed. I'll be reporting the bug to Ben once I'm confident I have at least a decent narrative description of the issue.)

ektemple avatar Nov 16 '12 21:11 ektemple

I'm not convinced of the value of this, but I guess we won't know until we do it and see how many downloads they get.

I already know how to make .deb packages, and I'd like to learn how to make .msi packages, so I can handle Linux (Ubuntu) and Windows.

Hmm, making save/data-files work for all users could get tricky, because Gargoyle doesn't (yet) allow you to specify where to put save/data-files. So I'm thinking about making a runner script which would set up a symlink in the home directory. Anyone got a better idea?

curiousdannii avatar Nov 17 '12 14:11 curiousdannii

Well, the value of bundling is diminished somewhat by the fact that Gargoyle does not work with screen readers, which effectively means that the packaged versions of the game are not for visually impaired users. On the other hand, guiding users who want to see the graphics away from other terps (particularly on Windows, where even Windows Git and Windows Glulxe will give a markedly subpar experience) is valuable. (And of course that doesn't even consider the fact that there are a load of potential players who don't know and don't want to know what a gblorb is.)

Doesn't Gargoyle always put the save and data files in the same directory as the game file?

ektemple avatar Nov 17 '12 14:11 ektemple

We can't do everything. Bundling it with Gargoyle for all three platforms is worth trying at least once, while the gblorb will always be available as well. For those using screen readers we can also promote Quixe, if it is good enough.

We could just have it store data files in program files or /usr/, but if we're going to bundle it we might as well do it properly, so the data files should be placed in the user's home directory instead. For Linux I can symlink /usr/local/games/kerkerkruip/kerkerkruip.gblorb to ~/.kerkerkruip/ and then tell Gargoyle to run that. For Windows I'll probably copy it to ~/AppData/ and then delete it when Gargoyle closes.

curiousdannii avatar Nov 17 '12 15:11 curiousdannii

For OSX, I plan to hide the save and data files in the .app package. There is no reason (other than cheating) for a player to see or access those files directly, and I think it's a significant bonus of the OS X style app bundle that we can make them practically invisible.

ektemple avatar Nov 17 '12 15:11 ektemple

Are .apps installed for all users or only the current one? I really have no idea how macs work these days :) For windows/linux we might as well make it install for all users, but that the makes data files tricky.

curiousdannii avatar Nov 17 '12 16:11 curiousdannii

If you put the .app in the user Applications folder, it will be installed only for that user. If you put it in the /Applications folder, it installs for all users. I think most folks who work in a multiuser environment understand that, but possibly not...

ektemple avatar Nov 17 '12 16:11 ektemple

Here is a demo package of Kerkerkruip release 6 for Ubuntu: http://ubuntuone.com/6t6d67HLcsIBdS7F9KubXX

Let me know if you have any trouble with it!

curiousdannii avatar Nov 22 '12 09:11 curiousdannii

It works perfectly! (Well, there are some minor things: no screenshot, no license information; and it makes a button on the launcher, which might be considered too assertive -- or maybe not.) But this is great! It makes me wonder what the criteria for including a package in the Ubuntu repositories are. It would be great if every Ubuntu user is just a "sudo apt-get install kerkerkruip" away from having Kerkerkruip. :)

VictorGijsbers avatar Nov 22 '12 10:11 VictorGijsbers

Did you use the Ubuntu Software Centre to install it? AFAIK screenshots aren't a part of .deb files, so I don't know where the software centre gets them for other packages. As for the licence, that should be visible inside Kerkerkruip itself, and as for the launcher button, I guess that's the software centre again? I don't use it, and it didn't pin Kerkerkruip automatically.

I've looked into debian requirements. We could do it, but I don't know if it's worth the extra effort. It'd really just be for our egos!

curiousdannii avatar Nov 22 '12 10:11 curiousdannii

Okay, maybe we can look into stuff like the screenshot and so on later. (I assume it must be part of the .deb file, but I don't know.) I think getting it into Debian would be good for more than just our egos: it would increase ease of installation for Linux user, which would probably make more people try it; and people will stumble across it that otherwise wouldn't. I'm sure I'm not the only person who has browsed the Ubuntu Software Centre looking for interesting games!

VictorGijsbers avatar Nov 22 '12 10:11 VictorGijsbers

Hmm, okay I'll try, but if I have to deal with the Debian people alone then no promises! :P

curiousdannii avatar Nov 22 '12 10:11 curiousdannii

If you want me to contact them, no problem.

VictorGijsbers avatar Nov 22 '12 10:11 VictorGijsbers

I think for release 7 we should make a nice pretty webpage. It can show all the various installation options, and have some more info too. Github makes it easy to publish webpages - we could put it at i7.github.com/kerkerkruip/, or else somewhere else. What do you think?

Considering that I'm the one building it, I think I better do it, unless you're interesting in learning to package it too!

curiousdannii avatar Nov 22 '12 11:11 curiousdannii

A better website would be great; I wouldn't want to tie it to Release 7, though, since making a good web page might take some time and I'd like to keep releasing at a steady level. (Ideally one release each month, I'd say. What do you think?)

Do you think github would be the best platform? I can imagine that the easiest way to get a nice looking website with all the functionality we'd want is to use a platform like wordpress or blogger -- either self-hosted or not. (By the way, I wouldn't mind paying a few dollars a year to register an appropriate domain name. kerkerkruip.net, perhaps?)

While I would be interested to learn how packaging works, I don't know whether I'd be any good at it -- does it require a lot of in-depth linux knowledge?

VictorGijsbers avatar Nov 22 '12 19:11 VictorGijsbers

Yeah that makes sense, and really I think the website should wait until we've sorted out the graphical stuff, so that it can match the game.

As to hosting, I hadn't been imaging a very complex website. I wasn't thinking it would have any dynamic features at all. But if you think it should, then we could use a blogging system for it, sure.

For release frequency, every two months might be better? That's closer to what we've been doing, and probably matches the new content we're adding. I don't know if we have enough new stuff for every month.

Packaging this stuff isn't too tricky because no compilation is involved. I did submit it to debian yesterday, but I never got a confirmation email so I will try again.

curiousdannii avatar Nov 23 '12 00:11 curiousdannii

Perhaps I could help with the msi-part. I could either build an unpackage system myself (I am quite competent with the .Net framework), or I could simply build an installer, which could download the necessary files from the web and then place them at the correct locations.

rvdpluijm avatar Jan 06 '13 09:01 rvdpluijm

Here is my first attempt at a very basic Windows installer. It doesn't show a wizard, it just installs immediately. http://ubuntuone.com/6PNMacjEu7niyfvalaKSJr

curiousdannii avatar Feb 18 '13 11:02 curiousdannii

Here's a mystery -- it saves its data files like normal, but I don't know where it puts them.

curiousdannii avatar Feb 18 '13 12:02 curiousdannii

Hi Dannii,

In Windows 7, with me, it puts them here: C:\Users\Remko\AppData\Local\VirtualStore\Program Files (x86)\Kerkerkruip

2013/2/18 Dannii Willis [email protected]

Here's a mystery -- it saves its data files like normal, but I don't know where it puts them.

— Reply to this email directly or view it on GitHubhttps://github.com/i7/kerkerkruip/issues/14#issuecomment-13719090.


Met vriendelijke groet,

Remko van der Pluijm

Postgraduate Student Logic, History and Philosophy of Science at the University of Ghent LinkedIn: http://nl.linkedin.com/in/**rvanderpluijmhttp://nl.linkedin.com/in/rvanderpluijm

rvdpluijm avatar Feb 18 '13 12:02 rvdpluijm

Ahh, well done! I couldn't find them because I had searched for .glkdata, but I had forgotten that Gargoyle doesn't put the extensions on its files.

curiousdannii avatar Feb 18 '13 12:02 curiousdannii

It is a trick to avoid heightening application privileges for Program Files. See this article on stackoverflow.com: http://stackoverflow.com/questions/3219255/why-do-files-get-placed-in-c-users-usernameappdata-local-virtualstore-progra

2013/2/18 Dannii Willis [email protected]

Ahh, well done! I couldn't find them because I had searched for .glkdata, but I had forgotten that Gargoyle doesn't put the extensions on its files.

— Reply to this email directly or view it on GitHubhttps://github.com/i7/kerkerkruip/issues/14#issuecomment-13720319.


Met vriendelijke groet,

Remko van der Pluijm

Postgraduate Student Logic, History and Philosophy of Science at the University of Ghent LinkedIn: http://nl.linkedin.com/in/**rvanderpluijmhttp://nl.linkedin.com/in/rvanderpluijm

rvdpluijm avatar Feb 18 '13 12:02 rvdpluijm

This is handy because I was going to use symlinks or something to save the data files in AppData (like I did for linux), but now I won't have to!

curiousdannii avatar Feb 18 '13 12:02 curiousdannii