FIZMO-NCURSESW(6) | Games Manual | FIZMO-NCURSESW(6) |
fizmo-ncursesw - wide-character-ncurses implementation of the fizmo Z-Machine Interpreter.
fizmo-ncursesw [ options ] [ storyfile [ blorbfile ] | storytitle | quetzal-save-file ]
fizmo-ncursesw is a frontend for the fizmo Z-Machine interpreter—“Fimzo interprets Z-machine opcodes”—based on the ncurses library, and supporting wide characters. It runs most of the interactive fiction games aka text adventures written by Infocom or other games which are based on the Z-Machine. Currently all versions except version 6 are supported. It also supports sound via the SDL media library—see subsection “Sound Support”—and implements basic Blorb support.
This is the most direct way to get a game running. Just give the filename of the story file at the end of the command line.
If the game you want to play is stored in the list of known games, you can simply start it by providing the title instead of the full filename. Example: "fizmo sorcerer" will run the game “Sorcerer”, no matter if it is stored in the current directory or somewhere else.
Without any filename given, fizmo will display the list of the currently known story files it has indexed so far. Everytime fizmo is started and no story-name is provided, fizmo will update the list of stories by indexing the directories listed in ZCODE_PATH or INFOCOM_PATH.
If you give the name of a quetzal save-game file at the end of the command line, fizmo will use its story file list to locate the story file the saved game originates from to directly restore the game.
fizmo-ncursesw supports sound via the SDL multimedia library which is available for most unix flavors and Windows. Sound files are either read from a blorb file, or, old-infocom-style-wise, from separate *.snd files which have to be stored in the same directory as the game file. At the moment, only AIFF sounds can be read from a blorb file. When the game requests a sound, fizmo uses the sound from the current blorb file. If no blorb file is given or the sound cannot be found in it, fizmo tries to locate a file with the format “GAMFIL00.SND” where GAMEFIL symbolizes the game filename shortened to a maximum of six characters, the sound number—eventually padded by a leading zero so it has always a length of two characters—and a “.SND” suffix. Both upper- and lowercase filenames are attempted. That means you can directly use the sounds from the IF-archive at “/if-archive/infocom/media/sound”.
fizmo-ncursesw is able to read metadata-files as defined in the “Treaty of Babel”. It will try to read the metadata from all files ending in .iFiction which are found in the $HOME/.config/fizmo directory. Fizmo will re-build the story list once the metadata files have been changed. For this purpose, the timestamps for the metadata-files are stored in the file $HOME/.config/fizmo/babel-timestamps. For more information about the treaty, see http://babel.ifarchive.org/.
The following section lists the config-file's equivalents for the command lines options. For a detailed description of these options, see the “Options” section. Options have to start at the beginning of the line without any leading whitespace. Comments start with a '#' at the beginning of the line.
background-color = <color-name>
foreground-color = <color-name>
transcript-filename = <filename>
command-filename = <filename>
i18n-search-path = <colon-separated-directory-names>
locale = <language-code>
savegame-path = <directory-name>
random-mode = <random or predictable>
save-text-history-paragraphs = <number of paragraphs to store in
savegames>
z-code-path = <colon-separated-directory-names>
z-code-root-path = <colon-separated-directory-names>
disable-sound = <no value or “true” means yes, otherwise
no>
quetzal-umem = <no value or “true” means yes, otherwise
no>
set-tandy-flag = <no value or “true” means yes, otherwise
no>
start-command-recording-when-story-starts = <no value or
“true” means yes, otherwise no>
start-file-input-when-story-starts = <no value or “true”
means yes, otherwise no>
start-script-when-story-starts = <no value or “true” means
yes, otherwise no>
disable-stream-2-hyphenation = <no value or “true” means yes,
otherwise no>
disable-stream-2-wrap = <no value or “true” means yes,
otherwise no>
stream-2-line-width = <line-width>
stream-2-left-margin = <margin-size>
sync-transcript = <no value or “true” means yes, otherwise
no>
left-margin = <number-of-columns>
right-margin = <number-of-columns>
disable-hyphenation = <no value or “true” means yes,
otherwise no>
disable-color = <any value means yes, empty no>
force-8bit-sound = <any value means yes, empty no>
enable-xterm-title = <no value or “true” means yes, otherwise
no>
dont-udpate-story-list = <no value or “true” means yes,
otherwise no>
max-undo-steps = <maximum number of stored undo steps as numerical
value>
enable-xterm-graphics = <no value or “true” means yes,
otherwise no>
display-x11-inline-image = <no value or “true” means yes,
otherwise no>
You can use the PageUp and PageDown keys (some terminals may require holding down shift) anytime to review text which was scrolled above the current window border.
CTRL-L will refresh the current display.
CTRL-R will redraw the current display. Contrary to CTRL-L, which refreshes the screen based on the current layout, CTRL-R will reconstruct the latest output based on the output history. This will help to display output which is hidden in case a game clears the screen, writes some text into the top line and then turns on the score line which then overlays the topmost line.
In general, resizing the screen works best for game versions 3 and before, which is unfortunate since this encompasses only a part of the old Infocom games and none of the modern ones. For all others—including Seastalker—the upper window (which means mostly the status bar) cannot be resized and will remain fixed.
Here is a list of commands that some of Infocom's games seem to support, although I never saw them menitioned in a manual or reference card.
All the people who worked on the Z-Machine Specification, in alphabetical order: Chris Tham, David Beazley, George Janczuk, David Fillmore, Graham Nelson, Mark Howell, Matthias Pfaller, Mike Threepoint, Paul David Doherty, Peter Lisle, Russell Hoare and Stefan Jokisch. See http://en.wikipedia.org/wiki/InfoTaskForce for more information.
When I got stuck I peeked into the frotz source. Thanks to Stefan Jokisch, Galen Hazelwood and David Griffith.
For the pix2gif code which is used in libdrilbo to parse the infocom .mg1 image files.
in alphabetical order: Andrew Plotkin, B. Watson, Michael Baltes, David Batchelder, David Leverton, Eric Forgeot, Jared Reisinger, irb, Lewis Gentry, Michael Dunlap, Mikko Torvinen, Nikos Chantziaras, Patrick Matthäi, Samuel Verschelde, Stephen Gutknecht, Zachary Kline and the people at MacPorts.
fizmo-sdl2(6), fizmo-console(6), frotz(6), xzip(6), jzip(6), inform(1)
Fizmo was written in 2005–2017 by Christoph Ender.
Fizmo is in beta stage and will probably still have some bugs. If you stumble upon one, please send an e-mail to fizmo@spellbreaker.org.
August 14, 2017 | 0.7.14 |