Buttons in Games

Yup! It was done in 1893, A World’s Fair Mystery , (Peter Nepstad, 2002) which had a clickable compass. In the end it was not much used. You know, you’re typing your stuff, then you must raise your hand, move it to the mouse, move the mouse over the compass, click, move your hand again to the keyboard and keep on typing. Mixing different kind of interfaces doesn’t always work. For most people, focusing in one of them and just typing your NEWS turned out to be a more pleasant and fluid experience.

Balances (Graham Nelson, 1994) or City of Secrets (Emily Short, 2003) were also examples of doing such things with Inform and Glulxl.


5 Likes

Does this work with Inform6? Is there a tutorial for these? Looks to me this is better than z6, right? Or am I mistaken?

2 Likes

I think those are both compiled to glulx, not Z-code – Balances is an old game, but per IFDB those UI enhancements came in 2001. But they are Inform 6 (I7 only came out in 2006).

3 Likes

I couldn’t read balances.blb (crazy character set) where all the UI enhancements are. But the link shows z5 and the source code makes no mention of any UI that I can see.

Any help on this direction is appreciated. I even researched z6, which seems to be a natural development direction, but seems like very few terps are capable of fully realizing z6 full potential, despite all the glulx/blorb games in existence.

1 Like

Version 6 is very different from all the other Z-machine versions. It adds a dozen or so unique opcodes, optional operands to some older opcodes, and has a completely different screen model. Supporting it is a lot of work and barely a half dozen or so games use it so it’s no surprise it isn’t widely implemented.

Fun fact: While version 6 is needed for images, mouse support works in version 5 (see Beyond Zork). Although the read_mouse opcode is only in version 6, mouse clicks can be read in version 5 as keyboard input, with the coordinates of the clicks recorded in the extension header.

5 Likes

Gosh, I just learn something new doing this. Good stuff. Can you tell me where in DM4 the info is located? Somehow I couldn’t find it.

2 Likes

Sorry, I don’t know Inform. I just know what the Z-machine itself is capable of.

4 Likes

Primarily Section 42: Devices and opcodes.

2 Likes

I see it. It’s @readchar with 253 and 254 values. Thanks.

Not that I can use it at this time.

1 Like

I agree. Dialog supports mouse-playable parser games if the author does the work - it’s decently implemented in The Impossible Bottle - but it does become a hassle. I tried playing it mouse only but the moment I have to type something I stop using the mouse.

It sounds so lazy “I don’t want to move my hand to the right…” but it’s weirdly true. It’s less about distance and more about breaking fragile immersion because I’ve got to glance down and relocate the mouse and the home-row on a regular basis.

In my case, Infocom games became my groove when I learned to touch-type and no longer needed to look away from the screen.

Ideally you want all-keyboard, all-mouse, or “shooter combo” with right hand on the mouse and left on consistent control keys.

6 Likes

Made me think of this famous mouse scene.

2 Likes

That was pretty funny (is that an Apple IIc ??) but wasn’t sure - was that indicating impressive computer skills when it was flipping between three PNG images while he typed?

Looks like a Macintosh with HyperCard program.

Speaking of which, assuming HyperCard has internet links, it could’ve been an original web browser!

Of course, it’s famous use case was Myst, and @inventor200 way of programming multitude screen+hotspots separately doesn’t look too weird, anymore. You just need some gross (500 MB!) data storage for it.

Edit: I think it’s Joey, not Pinkunz. Edited.

1 Like

Future explorers will note that this describes how I would code stuff when I was a child, lol. :stuck_out_tongue_winking_eye:

3 Likes

What daring pioneer! Designed HyperCard before HyperCard was cool! And it’s so easy, even a child can do it! :+1:

Of course, some kind of template (Madlibs?) and database (mailmerge?) is a good idea, but the overall state-based design idea is sound.

Actually, this is so good, if I ever write a programming tutorial for beginners, I’d put this in. Thanks!

3 Likes

And then you follow it up with an extensive and passionate endorsement for refactoring one’s code lmao, just to make sure we are building good habits alongside quick understanding.

3 Likes