EITHER Glulx for Android OR Chinese Room z-format

Can anyone point me to one or the other? Googling hasn’t been helpful, and I’d like to add Chinese Room to my collection of games on my tablet (I have Twisty installed).

I don’t think Twisty supports glulxe, so your best bet probably is quixe. Have you tried the ‘play online’ button from IFDB using your tablet?

iplayif.com/?story=http%3A%2F%2F … 20Room.ulx

eta: incidentally, IFDB works great as a permanent portal for an ‘IF collection’. I can see the desire for a native app, and maybe speed is an issue on the tablet? I’m curious to know, as I’ve been holding off on getting a tablet for that reason.

In this case, it’s more like “This isn’t a ‘real’ tablet; it’s a Nook Color with N2A’s CM7 card, and thus if there’s no wifi that I have the password to available, there’s no on-line, so playing using the ‘play online’ button at IFDB is not an option.”. Sadly, the same issue seems to apply to quixe; the browsers on the N2A card seem not to access local files (and quixe is js-in-browser, so if no browser, no quixe). Supposedly, Glulx support for twisty is an ‘accepted’ enhancement, but not likely for 2.0 (which is ostensibly being worked on) - and there’s no timetable for 2.0 to be released, so I’m stuck with what I have. (Thus the request for a possible .z# version.)

I want to copy your post and print it and frame it and treasure it and show it to everyone who insists the ZMachine is a dead format and has no place in the modern IF scene.

Now I feel ashamed for giving up on fitting my relatively small WIP into z8. I might just have to rewrite it in I6 someday…

Oh, don’t be. I also happen to believe that if it doesn’t fit in the ZMachine, it doesn’t fit, and that’s that. Although I highly praise the efforts of people like S. John Ross (who, from what I gather from his relevant posts, did everything he could think of to ENSURE that ToaSK would fit the ZMachine), I would also resent getting a lesser game because there simply wasn’t enough room.

I was just referring to a general opinion I picked up, that dismissed the ZMachine as trivial and obsolete now that we have Glulx. An entirely different situation to hitting the limits of the ZMachine.

I’ve written a lot of newbie-friendly code that z-machine players probably wouldn’t expect or require. I’m trying to create a small game with depth, which means a lot of “unnecessary” detail.

On top of that, I just created an extension for it that trades memory for speed, since it runs beastly slow on Parchment.

So it’s hard to say whether my reasons for abandoning the z-machine are good enough. I’ve felt strongly about supporting the z-machine for quite a while, and I feel like I’m betraying my principles a little.

“Detail” is never unnecessary if you feel it’s worth putting in. Don’t worry about it. The ZMachine is merely a format. It shouldn’t be done away, but neither should we constrain ourselves to it unless we choose to be constrained, recognising how sometimes constraints help us achieve a tighter experience.

Incidently, I’ve often wondered about the possible benefits of a sort of “Standard-rules-light” extension, to help keep Inform 7 games still within the ZMachine limit when the extra padding isn’t necessary. But from what I read from the I7 design team, they’re more interested in, as they say, “making Glulx an opt-out instead of an opt-in”.

For what it’s worth, I’ve never had a conceptual problem with breaking up an IF into multiple ‘books’ to make it fit within interpreter limits, PROVIDED that (a) the breakpoint is a ‘gated choke’ game-wise, (b) it is a natural breakpoint story-wise, and © it is stated explicitly that this breakup has been done. Dungeon (published as the core ZORK trilogy) was broken up this way, though I think that at least one of the breakpoints was unsatisfying, story-wise (it’s been a while since I played the ZORKs), and there was no explicit up-front warning that “This game is part <1/2/3> of a larger story; you might want to play them in order”.

…which leads to another thought: when I was a larval programmer, mumble years ago, it wasn’t uncommon for large software systems to be broken up this way, and each segment would execute the next (e.g., the CHAIN statement of GW-BASIC dialects), or arranged so that chunks of code would be swapped in and out of CSEG memory (yes, I wrote code for the segmented architecture of the early Intel iapx86 series CPUs) as “overlays” (Intel/Microsoft Pascal and PL/M-86 OVERLAY PROCEDUREs, or GW-BASIC dialects’ CHAIN MERGE). Does the Z-Machine support either model, and if it does, does INFORM (preferably INFORM 7) have support for that capability?

No, the Z-machine has no notion of swapping code in and out. (A Z-machine interpreter might – to deal with the situation where the underlying platform is too small to fit the Z-machine image in. If your Android phone has more than a megabyte of real RAM, you’re not in need of that technique.)

Z-machine games nearly always run out of RAM before they run out of code space. (All of this comes down to the Z-machine being a 16-bit architecture.) So you’d have to think about ways to swap data storage in and out, rather than code. Inform’s data structures are absolutely not designed for that sort of nonsense. You could do it for your own data structures – say, a very large array of numbers that gets swapped from a disk file piecewise. But integrating it into an Inform game will be difficult at best.

I think I might have been the primary volunteer for that project. :blush:

At this point, though, I’m not sure it would be enough. I think most of the bloat just comes from multiple levels of compilation.

I’m feeling a little discouraged about working on low-level I7 stuff because I have problems with the way library messages are handled, and I know they’re going to change in the next release. So I’m procrastinating until then… at least.

Hello Jeff,

I’m flattered you want to play the game on your android phone. At over 100,000 words, it’s way too big to compile in zcode and so will never be able to play on Twisty. If you have internet access on your phone you can play it straight off IFDB. If you’re willing to wait another month or so, we’re going to release a long overdue second version, which fixes major bugs, has more depth and more philosophical silliness.




I’m delighted to hear that. I’d sort of figured you guys had moved on to something else.

Well, we both went and completed two degrees after the game, but now I’ve decided that we should probably release a new version. Especially as most of the game breaking bugs were ridiculously easy to fix. (Stuff like having something marked down as scenery when it really only wanted to be undescribed). I’ve already had the old code updated and removed all the deprecated features, but there’s going to be some more content added before the release.