Open ektemple opened 11 years ago
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.
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.
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.)
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!
No, I was suggesting they might have made it faster. ;)
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.)
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. :)
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.)
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?
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?
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.
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.
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.
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...
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!
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. :)
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!
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!
Hmm, okay I'll try, but if I have to deal with the Debian people alone then no promises! :P
If you want me to contact them, no problem.
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!
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?
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.
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.
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
Here's a mystery -- it saves its data files like normal, but I don't know where it puts them.
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 notifications@github.com
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
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.
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 notifications@github.com
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
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!
Well, that's exactly what the developers of Windows Vista thought when they brought up this system. There are some real problems with it when you try to upgrade to vista, however, since this will place files in another directory without a real symlink. However, that isn't a worry for us ;-). I reckon you used the .NET environment to build it? Then, we could always change it via a .manifest.
2013/2/18 Dannii Willis notifications@github.com
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!
— Reply to this email directly or view it on GitHubhttps://github.com/i7/kerkerkruip/issues/14#issuecomment-13720687.
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
I've updated it with a custom UI, so please give it a try now! http://ubuntuone.com/6PNMacjEu7niyfvalaKSJr
The graphics are very much placeholders (the knives are backwards!) so we'll need better ones.
What do you think of the initial text? I copied the first paragraph from http://lilith.cc/~victor/?q=content/kerkerkruip, but if you have something better Victor we can use it. The changes list is from IFDB. Does the last paragraph fulfil our duties for distributing Gargoyle?
We also need to include an .ini file... which is also the case for the Debian installer.
@curiousdannii, this isn't something I can test fully (can't install it on my work machine). But I've pasted the text below, in case we want to use it as a readme or partial readme for the bundles. I saw the portrait of Miranda as a graphic in the .msi, but not the knives, which must appear at a later stage.
For OS X, installers are now discouraged, and Apple has even taken down their developer documentation for building them. But I've got a good idea of how to make a convenient drag-and-drop disk image that will perform equivalent functions, most importantly preserving the data files on update and allowing installation of Gargoyle.
Text from Dannii's installer:
Version 7 (29 December 2012) Kerkerkruip is a dungeon crawling game that brings together the interactive fiction medium with the roguelike genre. You take on the role of an adventurer in a randomly generated dungeon, whose only hope of escape is to destroy the mighty wizard Malygris. The game has been designed to offer a diverse array of meaningful tactical and strategical options, and combines the thrill of random combat with the skill of complex puzzle solving. Find out more about Kerkerkruip at http://kerkerkruip.org Changes since version 6 • All uninteresting or useless items have been redesigned (or, in a few cases, removed). Your enemies will no longer leave behind identical swords; flash grenades will no longer permanently blind you; and much more! Veteran players will want to examine every item anew to see whether it has changed. • Several new cursed items have been added, including the singing sword and the fearful axe. And there are rumours that the demon lord's diadem isn't as harmless as it seems either. • New items have been added, including the gauntlets of grip, the psychedelic cloak, and the epic periapt of prophecy. • Level 1 and 2 monsters now have more health. This rebalances the early game, which had become a bit too easy over the last few releases. • Three new enemies will appear: the undead mummified priest; the demonic mistress; and a new level 1 creature, the wisps of pain, which will empower you in a very peculiar way. • Some fixes and improvements have been made to the unlocking system. Which monsters, rooms and items will appear no longer depends on the difficulty, but only on the number of victories you have won. (More complicated stuff gets unlocked as you win the game more often.) It is also possible to get access to all the goods immediately. From the title screen, go to the options menu and choose the unlock everything option -- this is recommended for Kerkerkruip veterans. Kerkerkruip is free software Kerkerkruip is published under the GNU GPL 3 licence. You may download the source code for Kerkerkruip at https://github.com/i7/kerkerkruip. If you discover a bug, or have an idea for an addition to the game, please create an issue at GitHub! This installation of Kerkerkruip includes the Gargoyle interactive fiction player, which is also licenced under the GNU GPL 3. You may download the source code for Gargoyle at https://code.google.com/p/garglk.
Works mostly. There was a long pause (about 20 seconds of nothing happening) between starting the install and Windows asking me whether this program was allowed to make changes. I don't know if that's necessary? More importantly, pressing "play Kerkerkruip" after install, in the install window, led to an instance of gargoyle with a "fatal error: cannot open game file" message. (Something like that, anyway.) The Kerkerkruip option in the Windows menu works perfectly, though.
All this on Windows 7, I think Windows 7 64-bit.
The pause is just how long windows takes, haven't you noticed it with other installers? I wonder though if we made it install only for the one user whether that would mean it wouldn't need to ask... I'll give it a try.
Ugh, I had some trouble getting the play now button to work, but it had been working the last time I tried.
Any comments on the intro text? I think it might be better to have a more concise list of changes in the future.
The installer now installs per-user and shouldn't prompt for you to approve it. (Same link as before) There may still be a pause, but hey, apt-get has to check a database too ;)
The play now buttons works for me, are you still having problems? It's not an adequate solution however as it does not use the .ini file.
On the .ini file, I copied in the default windows one, and uncommented most of it. I realised that I actually quite like the non-reversed header with an underline, I guess that's just a quirk of not specifying font colours? Hopefully we'll be able to use the same .ini file for all platforms, though I am a little worried that specifying typefaces might not work for all platforms. Anyway the .ini file is there and you guys can modify it as you like.
The game now supports clickable menus (#13), but this is disabled by default. For users who are playing via an installer the option should however be automatically enabled. So either we should ship with a KerkerkruipStorage file, or have the launch script detect whether the setting exists yet and add it if it doesn't. The second way would allow it to work with upgrades, so that would be my preference.
Asking on Temple of the Roguelike might be a good idea there - there are probably more mac developers there than the intfic forum.
Request made: http://forums.roguetemple.com/index.php?topic=3885.0
I got two replies: http://forums.roguetemple.com/index.php?topic=3885
Do either of them make much sense to you Erik? I'm very happy to port the bash script to Python if that helps - I was planning to do that anyway. I can make it cross platform for both Linux and OSX. (Probably the only difference will be where to store the files. And how to call gargoyle I guess)
They're pretty much saying the same thing I was saying before, I think, except that they are suggesting that rather than have an installer, we should just have a Kerkerkruip app, which when run would check for the data files to be in their proper place (the Application Support folder), then launch Gargoyle and the game file. That sounds good, though I'm not sure how it would work exactly--i.e., if we'd really be able to include Gargoyle inside another application bundle.
I still feel very much out of my depth!
How do you make app bundles? I don't have one but I can get time on one to try. It seems like a directory structure... is it just zipped up somehow? We'll probably have to unbundle gargoyle before putting it into ours.
Or alternatively this could be an option, especially as we'll be using a launch script anyway: http://pythonhosted.org//py2app/
As I understand it, an app bundle is just a directory structure that has been named with .app extension. Of course, the contents of the bundle matter. Users with newer hardware and OSes (newer than mine) will see security warnings or outright refusal to install if the app bundle isn't signed with an apple developer certificate: https://support.apple.com/kb/ht5290
I have a Mac at work now, so eventually I'll take a look at this. :)
+1, as an OSX user : )
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: