Welcome to the Institute for End User Computing, Inc. — A 501(c)(3) not for profit corporation Forging the Future for End Users Like you.

In Page Navigation

Experience The Simulation

The Institute — Inform 7 Source Code

"The Institute" by Peter Wasilko

The maximum score is 10.

The Institute is a room. "Scattered across The Net many eyes search for a better future — a vision of hope and change around which to coalesce. Knowingly or not, they seek The IEUC.

However, they won't find it on a Google Map, for as a virtual organization, The Institute exists wherever the indomitable spirit of the Golden Age of Personal Computing endures.

So feel free to come 'in' and look around."


Section 1 - Entrance

The Lobby is a room. The Lobby is inside from The Institute. "As you enter The Institute's lobby, your gaze is drawn to an expansive glass curtain wall that opens onto a river view filling the space with light and a sense of glowing optimism.

To the east, lies the Library."


Before going to The Lobby for the first time: award 5 points;
Before going to The Library for the first time: award 5 points;

The Literature Table is a supporter in The Lobby. "A dark smoked acrylic literature table forms a gentle arc running the length of the room offset a few feet from the window to provide space for several planters."

A 2007/2008 Academic Year Annual Report is on The Literature Table. The description of the annual report is "You can find this report in the Archives of our web site. Feel free to 'consult' it about our 'finances'."

After consulting the annual report about "fiances", say "We have a very large internal startup deficit, but we don't owe anything to outside creditors. With your generous support we hope to pay down this debt as quickly as possible so The IEUC can become self-sustaining."

this Year's 990-EZ is on The Literature Table.

The Library is east of The Lobby. "You find yourself in a room lined with books on every imaginable computer science related topic. There are also filing cabinets filled with hard copies of Technical Reports and Masters and Ph.D. dissertations on a variety of even more esoteric topics.

Stacked organizers hold CD-ROMs and a small pile of Flash Drive Memory Sticks rounds out the compendium of storage media."


In the Library is a man called Mr Wasilko. The description of Mr Wasilko is "Mr. Wasilko is the founder of the IEUC. Peter holds a J.D. and an LL.M. from Syracuse University's College of Law, which has also conferred on him a Certificate in Law, Technology, and Management."


Understand "peter" as mr wasilko.

After asking mr wasilko about "the ieuc" , say "We are an IRS recognized public charity and we really need your support!"

Instead of asking mr wasilko about "the institute":
 try asking mr wasilko about "the ieuc".

Instead of asking mr wasilko about "ieuc":
 try asking mr wasilko about "the ieuc".

GeSHi Inform 7 Language File

<?php
/*************************************************************************************
 * inform7.php
 * --------
 * Author: Peter J. Wasilko (executive-director@ieuc.org)
 * Copyright: (c) 2008 Peter J. Wasilko <http://www.ieuc.org>
 * Release Version: 1.0.8.1
 * Date Started: 12/06/2008
 *
 * Inform 7 language file for GeSHi.
 *
 * CHANGES
 * -------
 * 12/06/2008 (0.0.0)
 * - Syntax File Created
 *
 * 12/06/2008 (0.0.1)
 * -    First Release
 * -        limited coverage needed to highlight our example source file
 *
 * TODO (updated 12/06/2008)
 * -------------------------
 *-    Add the remaining Inform 7 tokens.
 *
 *************************************************************************************
 *
 *     This file is part of GeSHi.
 *
 *   GeSHi is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   GeSHi is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with GeSHi; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 ************************************************************************************/


$language_data = array (
    'LANG_NAME' => 'Text',
    'COMMENT_SINGLE' => array(),
    'COMMENT_MULTI' => array(),
    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    'QUOTEMARKS' => array('"'),
    'ESCAPE_CHAR' => '',
    'KEYWORDS' => array(
        1 => array('about', 'asking', 'consulting', 'for the first time', 'going' ),
        2 => array('as', 'by', 'called', 'east', 'from', 'in', 'inside', 'north', 'of', 'on', 'south', 'to', 'west'),
        3 => array( 'animal', 'backdrop', 'container', 'description', 'device', 'direction', 'door', 'man', 'maximum score', 'object', 'person', "player's holdall", 'points', 'region', 'room', 'section', 'supporter', 'thing', 'vehicle', 'woman'),
        4 => array( 'after', 'award', 'before', 'instead of', 'is', 'say', 'try', 'understand'),
    ),
    'SYMBOLS' => array('.', ':', ';'),
    'CASE_SENSITIVE' => array(
        GESHI_COMMENTS => false,
        1 => false,
        2 => false,
        3 => false,
        4 => false
        ),
    'STYLES' => array(
        'KEYWORDS' => array(
        1 => 'color: green; font-weight: bold;font-style: italic; font-size: 11pt;margin-right: 3px;margin-left: 3px;',
        2 => 'color:  navy; font-style: italic; font-weight: bold; font-size: 11pt;margin-right: 3px;margin-left: 3px;',
        3 => 'color: #ff0000; font-weight: bold; font-size: 11pt;margin-right: 3px;margin-left: 3px;',
        4 => 'color: purple; font-weight: bold; font-size: 11pt;margin-right: 3px;margin-left: 3px;',
                    ),
        'COMMENTS' => array(),
        'ESCAPE_CHAR' => array(),
        'BRACKETS' => array(),
        'STRINGS' => array(
            0 => 'color: #0000ff; font-size: 11pt;margin-right: 3px;margin-left: 3px;'
            ),
        'NUMBERS' => array(),
        'METHODS' => array(),
        'SYMBOLS' => array(),
        'SCRIPT' => array(),
        'REGEXPS' => array()
        ),
    'URLS' => array(
        1 => '',
        2 => '',
        3 => '',
        4 => ''
        ),
    'OOLANG' => false,
    'OBJECT_SPLITTERS' => array(),
    'REGEXPS' => array(),
    'STRICT_MODE_APPLIES' => GESHI_NEVER,
    'SCRIPT_DELIMITERS' => array(),
    'HIGHLIGHT_STRICT_BLOCK' => array(),
    'PARSER_CONTROL' => array(
        'ENABLE_FLAGS' => array(
            'ALL' => GESHI_ALWAYS
        ),
    )
);

?>
 

How It Works

The Institute simulation was developed using the cross-platform Inform 7 interactive fiction authoring system.

As you look over the Inform 7 source code for this simulation you will notice that it doesn't look anything like a traditional programming language. Instead it consists of stylized phrases of ordinary English.

This is what we at The IEUC call a Quasi Natural Language notation. It looks like English and can be read as ordinary language with an obvious meaning. However, it is restricted in that only unambiguous expressions will be accepted by the authoring environment and those expressions will be used to infer a set of implicit programming language constructs that the simulator can use to produce the text based virtual world that you just explored.

This implicit program is then represented as Inform 6 source code (with Inform 6 being a lower level predecessor of Inform 7). The Inform 6 source code is then compiled into Z-Machine byte codes which are themselves a compact representation of the instruction set for a virtual machine specification designed for playing text adventure games back when Infocom popularized the genre.

The resulting file of z-machine byte codes is then run through a Python script that encapsulates them in a JavaScript file that is loaded into the Parchment JavaScript Z-Machine Interpreter which lives in an iFrame element (to avoid bad interactions with the javascript libraries that we use to provide our in-page navigation) within the simulation tab on this page.

All of these systems are freely available on the Web making it possible for you to use this technique on your web pages!

About Interactive Fiction (IF) — Serious Fun

Interactive Fiction or IF for short began with simple Dungeons & Dragons style text adventure games in which End Users would navigate through simulated mazes using a command line interface with simple commands like "look", "east", "take treasure" and "attack troll with axe".

These simple games evolved into longer works of electronic literature with complex plot lines, non-player characters that could be questioned and influenced, and occasionally elaborate puzzles that would slowly reveal the back story behind these virtual worlds.

Inform 7 takes these simulations to a new level by making their authoring process accessible to ordinary End Users like you. With more powerful programming constructs than have ever been available to IF authors, it has become possible to consider turning these tools to pedagogical use.

Be it a Historical Simulation of survival during the French Revolution, a Technical Simulations of operating a Sailboat or Martian Rover, a Prototype of a New End User Programming Language, or a Law School Practice Exam, the possibilities are endless.