Showing posts with label menus extension. Show all posts
Showing posts with label menus extension. Show all posts

Wednesday, 27 January 2016

Menus 5 and Basic Help Menu 4 for Inform 7, and Robot Retrievers

After I learned that my Menus 4 extension had an accidental extra colon in it which prevented it working straight away in Inform 7 6M62 (6M62 got more rigorous about stuff like that) I took the opportunity to get to work on the next version.

I've just released Menus version 5, which requires Inform 6M62 and is now the public library version. In response to suggestions by Alice Grove, it sports a couple of small but fundamental changes that make it more user-friendly and flexible.

Before I get to those, do you want to see what you can do with this extension? Or, are you one of those weirdos who enjoys interacting with game elements for games that don't actually exist? If you thought 'yes!' to either of these questions, then play the extension's example project Robot Retrievers of the Year 3000 online at my website. It's all help and no game:

And now to describe the changes wrought in Menus version 5:

  • The primary change is that the top level menu table no longer has to use the hardcoded name 'the table of help contents'. You can call it anything you want and point the extension to it by setting the mn_master_table variable. This adds naming flexibility and also location flexibility; some people like to build the primary table in their source, some like to edit the extension itself. (To make a pre-Menus 5 Menus project work with the new system, only a single line needs to be added to your code – the instructions are in the extension docs.)
  • The other significant change is that the vanilla extension now compiles straight out of the box. If you just 'Include Menus by Wade Clarke', your project compiles even if you haven't built or edited any menus yet. Previously you had to create at least the top level menu or compilation would be blocked, which was inconvenient and potentially confusing.

To go with Menus 5, I've also released Basic Help Menu version 4. The content's the same as before, just compatibility-tweaked up to the 6M62/Menus 5 pairing.

Get one or both extensions from the public library:
  • If you're using Mac OS X, the extensions are available from the public library section in the Inform 7 application. With your internet turned on, click the Extensions tab at the lower right of your window, then the Public Library tab in the top right corner. The extensions are in section 11.2 - 'Out of World Actions and Effects' - 'Helping and Hinting'.)

Saturday, 5 December 2015

Inform 7 news: Wade Clarke's new Menus and Basic Help Menu now available in the public library

After much file-wrangling by the Inform extensions file-wrangler, Mark Musante, for which I am grateful, two new versions of extensions of mine have debuted in the Inform 7 public library this week. They are Menus version 4 and Basic Help Menu version 3.

  • If you're using Mac OS X, the extensions are available from the public library section in the Inform 7 application. With your internet turned on, click the Extensions tab at the lower right of your window, then the Public Library tab in the top right corner. The extensions are in section 11.2 - 'Out of World Actions and Effects' - 'Helping and Hinting'.)

About Menus 4

As previously advertised, my Menus is a significant update of Emily Short's old/classic Menus with a lot of additional features which make it more modern and flexible. I consider the most important of these to be:

  1. Single keypress operation – no need to scroll a cursor about, and
  2. Has a screen reader mode for screen reader-compatibility

These features alone make a menu system powered by this extension far more accessible to anyone playing on a mobile device or using a screen reader. In this light, I strongly recommend that folks wanting to add menus to any new Inform 6L38 project build it with my Menus extension rather than the old Menus.

By the way, I should point out I'm not obliviously shaving skin off Emily Short's nose. I discussed the state of the menus extensions with both her and Inform code maestro Dannii Willis, and we've all been looking at ways forward. My Menus extension doesn't have exactly the same API (Application-Programming Interface) as Emily's, so it's for the sake of compatibility with old projects that the old Menus remains in the public library rather than being replaced by mine. Also, Dannii has plans to revamp Emily's extension in such a way that it will have some of the features of mine but will also retain Emily's API for backwards compatibility. If that comes about, that may be the extension which replaces Emily's in the library.

Basically, my extension is ready to go now, addresses some accessibility issues, has some cool and powerful extra features and has already been through three iterations of polishing and bug-removal.

If you're wondering why I changed the API in my extension, I had to to support some more of its advanced features, like the book mode with automatic pagination.

About Basic Help Menu 3

This extension is the equivalent of Emily's old Basic Help Menu, just recoded for compatibility with my own Menus and with the help information updated to reflect the times in which we live. It adds a Basic Help Menu to your project which contains some how-to-play parser IF info.

Saturday, 6 June 2015

Inform 7: Menus version 3

In 2014 I wrote an updated version of Emily Short's venerable Menus extension. Right after I completed it, the huge upgrade of Inform (6L02) came out and the extension broke.

Kind people posted a supposedly fixed version of my Menus to Github, but it wasn't really fixed – don't use that one, which is version 2. Then the project was in limbo for ages because I didn't want to touch the new Inform until after I'd finished Leadlight Gamma.

Yesterday I finally got around to working out what broke in my extension (indexed text substitutions) and fixed it. So today I present Menus version 3, which is good for 6L38 and should be good for 6L02:

Download the from my dropbox

In the zip you will find the files Menus.i7x and Basic Help Menu.i7x

(There is a degree of chaos in the I7 extensions management world at the moment. I just want to say that if you're one of those people helpfully filing stuff in Github or whatever, please feel free to file these appropriately. Thanks.)

Here's the summary of the extension from the docs, then I'll give a bit more detail:

Lets you include a menu system of help, hints and/or other information in your Glulx or Z-Code project. This is an upgrade of Emily Short's Menus extension featuring user-friendly single keypress controls and a more sophisticated UI. It also has configurable options, a book mode with automatic pagination, isolated message content to make translation to other languages easier and a Screen Reader mode. Old Menus format tables can be upgraded for use with this extension with a little work.

So first, there is no more moving a cursor around with arrow keys to choose things. Every option is activated by an automatically assigned keypress.

There is no more of the repeated transcript clutter that used to happen with the original Menus.

You don't have to back out of all menus to get back to the game. You can exit straight to the game with a keypress (your position is bookmarked for your return). You can also jump to the topmost menu at anytime while in the menus.

You can still use the hint-dispensing mode familiar from the original Menus.

You can toggle screen reader compatibility at any time.

The extension no longer relies on the ESC key, so it's compatible with virtual devices which don't offer one.

The extension always shows contextually-sensitive instructions in the status window, or in the main window if you're using a screen reader.

All content is automatically paginated for a book mode (move through all content with left and right arrow keys). You can let the player switch between menu and book mode as they please, or you can force one or the other. In book mode, hints can be gathered at the back of the book, with warnings about their location. Or you can just block them from book mode.

If you're having trouble compiling your menu system, there's a debug mode which shows everything that's happening during the startup scan of your content. The extension can diagnose a few common errors itself.

The 'you can't choose option H' bug from previous versions is gone. (Thanks Hanon Ondricek)

Finally, if you happen to want ye olde Basic Help Menu, I've also made a compatible version of that.

... So if you're in the market for a menus extension for your brand new Inform game, I encourage you to use this one. It's modern, extensively documented and accessibility-friendly.

Also, in the selfish reasons department, I don't want to move a cursor around with arrow keys in your game anymore. Sorry, but in these shiny times, that's too angrifying.