Some general ill-informed questions about IF directions

Currently WinGit and WinGlulxe (and perhaps some other Z/Glulx interpreters) support some form of automatic running. I copypaste from WinGlulxe help file:

For other interpreters which lack this ability you can always write a short launching script.

Thanks. I’m still confused as to how to provide such a packaged file to sombody else in a way which would allow them to install and run it. Any time I’ve tried to send somebody an executable file as an e-mail attachment, when it gets to the recipient they cannot actually run or install it; it retains the .exe extension, but somehow it isn’t actually recognized as an executable file. Thus, I’ve had to direct people to a website from which they can download and install the interpreter, and then I send them the blorb file separately.

I’m sure this is pretty basic stuff, but my sophistication in these matters is basically nil.


Robert Rothman

For an Inform 7 game, you could always choose to ”release along with an interpreter”, packaging the game as a playable web page which you could send to your players to open and play directly (and locally) in their browsers. It may not be very elegant, but they wouldn’t have to install a thing.

Thanks. It never occurred to me that the “release along with an interpreter” option would allow stand-alone use. I always assumed that that would work only to allow playing through the web.

Robert Rothman

It’s been a while since I did this last time, but IIRC I just had to include in a zip (or whatever archive format best suits):

-The adventure file
-The conveniently renamed wingit or winglulxe .exe file
-any dll file (in fact just any other file) which was in the .exe folder.

…and then just tell my target audience to decompress it all in one carpet, click on the exe file, and enjoy!

Alternatively, instead of archiving it all in a .zip file, you can package everything with any of the freely available windows installer-creation tools out there (I’m quite happily assuming both you and your players are using windows!) so they could just install and run in the standard Windows tradition. I’ve never done that, but know of authors who did it succesfully.

Thanks. It would be convenient indeed if Inform 7 had a built-in mechanism for generating such a package – similar to the “release along with an interpreter” option, but which generates such a zipped package rather than a web page.

Robert Rothman

ADRIFT 5 also has an export to EXE option for Windows users.

On Windows, it’s pretty easy to use something like SetupFactory to create a self-executing installer containing all the stuff you need. But if ‘all the stuff you need’ includes an interpreter, you need to ensure that (a) you actually have legal rights to redistribute it in that form, and (b) you can find a way to package it such that, when unpacked, it doesn’t clash with another installation of the same interpreter. I’m not sure which of these I find most troublesome.

To add to the complication, the way you’d have to do this would be different for every platform you want to support. There’s also the issue of inelegance – it seems to me very wasteful to distribute several megabytes – perhaps many megabytes – of interpreter for each game, when the game might only take 100 kB. But that’s not a showstopper on modern desktop computers, I guess.

I imagine that anything that is to be truly cross-platform would, realistically, involve the download and installation of some platform-specific part. Unless the whole thing runs out of a Web browser.

My concern about all this is that installing an interpreter, or whatever other run-time bits you need, really should be a one-click operation, shouldn’t it? Despite my earlier bitchy comments about Gargolye, I can get it on my Linux system by typing ‘yum install gargoyle’. I presume there’s a simple way to get the same thing on Windows. Installing WindowsFrotz on my windows box was no more difficult than clicking ‘OK’ a few times.

We were talking earlier about attention span – how a person with the mindset to play IF games is the kind of person who is able to concentrate for long-ish periods of time. But if a person can’t concentrate long enough to install an interpreter – presuming this is made as easy as it reasonably can be – then is he or she going to have the attention span even to make the effort worthwhile?

Just wondering…

I’m not sure its only a question of attention span. It may be, a least in part, that somebody who’s never tried IF and isn’t sure they’d like it may not want to bother taking the time to download and install an interpreter, separately copy the story file to their hard disk, and then run it. Sure, it’s not really much to do, but it looks like multiple steps for somebody who hasn’t yet been inspired to develop an interest. On the other hand, the easier you can make it for them – or maybe just the easier you can make it for them to perceive the process – the more likely they’ll give it a shot. And once they’ve done that, there’s always the chance they’ll be hooked. If they don’t try it just because a couple of steps seems like too much trouble, then you never have the chance of getting there.

This is (I think) at least part of the idea behind internet play; my point is just that the same idea should be equally applicable to non-web play. The easier you make it for somebody to see what the whole thing is about, the greater the chance that some of them will try it and like it.

Robert Rothman

I understand your point and, to some extent I agree. The issue, for me at least, is one of costs and benefits. There are certain costs associated with developing something that is installation-free. Some of those costs are in the production of the thing itself, and are moderately easy to assess in terms of time and effort. But some costs are less tangible like, for example, the potential limitation of user interface features. Whether the costs outweigh the benefits, I’m unsure.

The sensible way to handle this is for the interpreter to have a “self-bundle” mode, which can be set up by the author by inserting a game file. That way the player gets the same user interface he would get anyway – because it’s the same interpreter – but it downloads as a single Mac or Windows application.

I wish desktop interpreters would do this, but it does not seem to have caught on.

Didn’t MaxZip do that?

I’ll have to testify to this: I first got started playing IF through Jayisgames’s web-based games (Varicella, Violet, and I think 9:05, in roughly that order). After that, I got interested in Alabaster and downloaded that (for some reason, I feel like the interpreter and game were bundled together, because I don’t remember installing a Glulxe interpreter afterwards).

The thing is, the web-based stuff got me interested without having to put anything on my computer. (That’s not something hard for me, but I’m very careful of what I install locally). After I’d played the online stuff, I got interested in IF somewhat - but not enough to navigate the multitude of interpreters and formats. I don’t think I would have actually tried to install Alabaster if it didn’t come in a nice single package.

After Alabaster, I was hooked enough to pay more attention; the IFDB “Play Now!” button was helpful while I assembled a suite of interpreters. Once I had all the interpreters installed, playing a game from IFDB took all of two clicks using Chrome (one to start the download; another to open the file).

That makes me wonder - could we maybe make a “Beginner’s Pack” bundle of an interpreter(s) for all major formats (Z-machine, Glulx, TADS, ADRIFT, Hugo, Alan) and beginner-friendly games (Violet, Lost Pig, 9:05, etc.) That could act as a bridge of sorts from the web-based interpreters to the full wealth of games.

I had a thought to contribute about attention span, but got distracted and can’t remember what I was going to say. No matter, it couldn’t have been that important. Ooooh! Shiny!

Hi all,

I found this thread a bit late, but I think you might be interested in knowing that there is a cutting-edge, full-featured IF authoring and playing system written in Java. It’s called the Aetheria Game Engine, it has hit version 1.0 this year after about ten years of alpha and beta development, and there are around ten games for it, and several more in development.

So why haven’t you heard about it until now (probably)? Because at the moment it’s geared towards creating games in Spanish. But the good news is that multilanguage support is coming, as I’ll detail below.

Here is a list of features (not exhaustive, it’s just the features that come to my head):

  • Graphical IDE letting you create the static information about the world in graphs and forms rather than code, see screenshot: … ampiro.png
  • Advanced behaviour is added using the BeanShell scripting language (just like a dynamic version of Java)
  • BeanShell gives you full access to the Java API, so you can use as many Java classes in the standard API (or in files that you provide) as you like. Want to use libsvm to train some classifiers? You can do it. Want to make your game connect to so that the character gets actual news from today in his newspaper? You can do it (now go and do that inside a Z-machine if you can :stuck_out_tongue:)
  • True multiplayer support (no hacks like “there is only one player but we switch it from creature to creature” or things like that). You can use to create multiplayer IF or even potentially MUDs
  • Can server games via telnet and IRC apart from dedicated client
  • Real-time support. Every game can be switched between “synchronous” (~turn-based, but there are not really turns, it’s a simulation with time units) and “asynchronous” (real-time)
  • Sound support: MIDI, MOD, MP3, OGG, AIFF, WAV, SPX
  • Raster graphics support: PNG, JPG, GIF, BMP, animated GIF
  • Vector graphics support: SVG
  • Other presentation features: support for frames, changing margins, changing typography, using custom TTF fonts that you include with the game, colour styles, full screen mode
  • Support for playing online in a web browser via Java applet. This includes the full multimedia support, but does have some restrictions concerning saving/restoring games (problems related to signing and certificates). I’m working on a cookie-based system that saves/loads games online without needing a certificate and it already kind of works but needs more polish
  • Built-in CRPG features (combat, weapons, armor, skills, training, etc.) because the system was built with that in mind, although it of course can be used for pure IF by ignoring all that
  • It’s free software (everything is under a BSD license)

If any of you can read/write Spanish, you can try a good game with multimedia content here:

Now, about the multi-language support. The system was initially designed for Spanish, but during the last few months I have been making it language-agnostic. Right now, the code does no longer assume Spanish and it should be possible to create games in English, but I need this:

  • An English version of the file containing default messages (stuff of the form “you take $1 from $2”, etc.)
  • A list of English verbs that could be used in games

With this, it would already be possible for someone speaking Spanish and English to create games in English… and I say “speaking Spanish and English” because the developer documentation is in Spanish: - so to make the system accessible for English-speaking developers at large, it would need to be translated as well.

So if anyone would like to see this system working in English, I would need some help, since I don’t have the time to translate this stuff -especially the documentation- into English (maybe not even the skills to do it well, as I’m not a native speaker). If anyone is interested in helping with this, please contact me. And remember that you would be contributing to a free software project, everything (including the language files and the documentation) is under free licenses.

I must confess that the one thing kevinb said in this whole thread that I had independently wished for is the automatic generation of a map by the interpretor. It’ll only list rooms you’ve been to. It’s a bit tricky, in that it should know not to reveal hidden exits - nor exclude exits clearly visible but that are “blocked” for some reason…

Sounds like the ADRIFT map… :smiley:

Also, in Inform 7 there’s an extension that’ll easily accomplish it. I wish it were used more often…

I didn’t know about these, and it looks like I won’t use them in the near future (learning/playing with TADS3 these days).

However, the request was that the interpretor handle it - not the author…

Well… ADRIFT 4 does that. But in practice it doesn’t work very well as people can so easily create layouts that aren’t logically structured, and so the automapper can end up getting confused. Giving control to the author is in my opinion, a much better strategy.