Pre-release
Adventure.js Docs Downloads
Score: 0 Moves: 0

Class: Game

Defined in: adventure/Game.js, line 6

Public Constructor:

var MyGame = new adventurejs.Game( "MyGame", "MyGameDisplay" )

Game is used to construct a new game instance. This instance contains the entire game and all of its methods. If you open the browser inspector window, go to the console, and type "MyGame" (or whatever game_name you have provided), you can see the properties scoped to the Game object. Every object in the game is given a reference back to the main Game object. This means that you can run multiple games in a single HTML page.

Example:

A minimal game defines at least one Room and one Player Character. If you don't provide either of these, one will be created automatically.

var MyGame = new adventurejs.Game( "MyGame", "MyGameDisplay" )
.set({
  title: "Welcome Game",
  author: "Ivan Cockrum",
  description: "This is my great game! Thanks for playing!",
  version: "0.0.1",
});

MyGame.createAsset({
  class: "Room",
  name: "Welcome Room",
  descriptions:{ look: "You've entered the Welcome Room. " },
});

MyGame.createAsset({
  class: "Player",
  name: "Guest",
  is: { active: true, },
  place: { in: "Welcome Room" },
});

Private Constructor:

var foo = new adventurejs.Game(game_nameopt, displayElIdopt)

Parameters:

  • game_name String <optional>
    Default value: ""
    A string that matches the name of the var used to store the new Game instance. Used to give the game a reference back to itself, relative to the browser window. If no name is provided, the instance name will default to "MyGame". The chief reason you might want to use a custom game_name is if you want to run multiple instance of adventure.js on a single page; give them distinct names to prevent them from colliding. You also may want to refer to your Game instance if you write any custom javascript.
  • displayElId String <optional>
    Default value: ""
    A string that matches the ID of an existing DOM element into which to insert the game Display. If no ID is provided, a DOM element will be created with an ID of "MyGameDisplay" and class of "ajs-display", and appended to .
Inherited Overrides

Index

Methods:

Properties:

Methods Collapse all  |  Expand all

$directions() → {Object}

Defined in: adventure/game/$directions.js, line 9

Convenience method to get the exit directions of the current room asset.

Returns:

Object
$exits() → {Object}

Defined in: adventure/game/$exits.js, line 9

Convenience method to get the exits of the current room asset.

Returns:

Object
appendToOutput(msg) → {boolean}

Defined in: adventure/Game.js, line 502

Parameters:

  • msg String
Convenience method is a shortcut to game.parser.input_history[ 0 ].appendToOutput(). Provides a method for author to append custom text after default output for the turn.

Returns:

boolean
appendToOutput(msg) → {boolean}

Defined in: adventure/Game.js, line 516

Parameters:

  • msg String
This convenience method is a shortcut to game.parser.input_history[ 0 ].overrideOutput(). Provides a method for author to override default text output for the turn.

Returns:

boolean
clearInput()

Defined in: adventure/Game.js, line 291

An alias to method display.clearInput.
combineVerbs(verbs, intoVerb) → {object}

Defined in: adventure/Game.js, line 633

Parameters:

  • verbs object
  • intoVerb object
This convenience method is a shortcut to game.dictionary.combineVerbs().

Returns:

object
constructAsset(source) → {Object}

Defined in: adventure/game/constructAsset.js, line 9

Parameters:

  • source Object
    A generic object containing properties to copy to a game object.
Takes a generic object and returns a classed object.

Returns:

Object Returns an instance of whatever class was defined.
convertTemperature(temperature, parent_id) → {Boolean}

Defined in: adventure/utils/convertTemperature.js, line 4

Todos: Finish writing this.

Parameters:

  • temperature Number | String
    In Celsius.
  • parent_id String
    The ID of the game object the temperature applies to.
INCOMPLETE. A simple function to check whether a value is === false or null.

Returns:

Boolean
createAsset(asset) → {Object}

Defined in: adventure/game/createAsset.js, line 8

Parameters:

  • asset Object
    A generic object with properties to copy into a new classed object.
MyGame.createAsset({ "class":"foo", "name":"bar", [...] })

createAsset() is a constructor function available to authors, for creating all instances of Asset and its subclasses, which includes most of the objects you'd put in a game world.

The function takes one parameter: a generic object containing properties to be passed into a class instance. For most asset classes, the only required properties are 'class' and 'name'. You'd likely also want to specify 'location', though that's not a required property. Otherwise, an author only needs to define the properties they wish to revise away from default settings.

For example, to create a simple brass key with default settings and put it in a particular location:

MyGame.createAsset({
  "class":"Key",
  "name":"brass key",
  place: { in: "desk drawer" },
});

At runtime, createAsset() returns a new instance of the given class, uses the given name to create an id, validates the object properties, initializes the new object, and then adds it to the game world. Failure to pass any of these steps will throw an error to the console.

For more examples of how to use createAsset, see About Assets and other How To docs under Get Started.

Returns:

Object A new Asset of the class specified in asset.class.
createCompass(properties) → {Object}

Defined in: adventure/game/createCompass.js, line 8

Parameters:

  • properties Object
    A generic object with properties used to construct a compass.
createCompass is an alias to method game.display.createCompass()

Returns:

Object A new compass object.
createDeferredAssets()

Defined in: adventure/game/createDeferredAssets.js, line 9

Create objects - mainly exits - that were defined within other unclassed generic objects.

Objects created here also need to be validated, since they were added to the deferred list during the initial validation pass and therefore missed validation.
createGlobalCeilings()

Defined in: adventure/game/createGlobalCeilings.js, line 9

Create global ceiling (although there's only one).
createGlobalExits()

Defined in: adventure/game/createGlobalExits.js, line 9

Create global exits.
createGlobalFloors()

Defined in: adventure/game/createGlobalFloors.js, line 9

Create global floors (although there's only one).
createGlobalScenery()

Defined in: adventure/game/createGlobalScenery.js, line 9

Create global scenery.
createGlobalWalls()

Defined in: adventure/game/createGlobalWalls.js, line 9

Create global walls.
createImageDock(properties) → {Object}

Defined in: adventure/game/createImageDock.js, line 8

Parameters:

  • properties Object
    A generic object with properties used to construct an image dock.
createImageDock is an alias to method game.display.createImageDock()

Returns:

Object A new image dock object.
createImageLookup(asset) → {Object}

Defined in: adventure/game/createImageLookup.js, line 8

Parameters:

  • asset Object
    A generic object with properties to copy into the image library.
createImageLookup() is a method used to create an image lookup. Generally used for setting room background images. The function takes one parameter: a generic object containing an array of image id/url pairs.
MyGame.createImageLookup({
  images: [
    { id: "desert", image: "images/backgrounds/desert.jpg" },
    { id: "sea", image: "images/backgrounds/sea.jpg" },
    { id: "mountains", image: "images/backgrounds/mountains.jpg" },
    { id: "dungeon", image: "images/backgrounds/dungeon.jpg" },
    { id: "throneroom", image: "images/backgrounds/throneroom.jpg" },
  ],
});
The image library is accessible at game.image_lookup.

Returns:

Object A reference to the image lookup.
createInventoryDock(properties) → {Object}

Defined in: adventure/game/createInventoryDock.js, line 8

Parameters:

  • properties Object
    A generic object with properties used to construct an inventory dock.
createInventoryDock is an alias to method game.display.createInventoryDock()

Returns:

Object A new inventory dock object.
createVerb(verb) → {object}

Defined in: adventure/Game.js, line 607

Parameters:

  • verb object
This convenience method is a shortcut to game.dictionary.createVerb().

Returns:

object
createVerbDock(properties) → {Object}

Defined in: adventure/game/createVerbDock.js, line 8

Parameters:

  • properties Object
    A generic object with properties used to construct the verb dock.
createVerbDock is an alias to method game.display.createVerbDock()

Returns:

Object A new verb dock object.
debug(token)

Defined in: adventure/game/debug.js, line 8

Parameters:

  • token String
Prep the supplied string for printing to the display.
diff(baseline_object, updated_object) → {Object}

Defined in: adventure/utils/diff.js, line 5

Parameters:

  • baseline_object Object
    Old object
  • updated_object Object
    New object
diff function for comparing objects. Specifically intended to support UNDO and SAVE / RESTORE. It recurses objects, stringifies arrays, copies others.

Returns:

Object
disableAllVerbsBut(verbs) → {object}

Defined in: adventure/Game.js, line 583

Parameters:

  • verbs object
This convenience method is a shortcut to game.dictionary.disableAllVerbsBut().

Returns:

object
disableVerbs(verbs) → {object}

Defined in: adventure/Game.js, line 571

Parameters:

  • verbs object
This convenience method is a shortcut to game.dictionary.disableVerbs().

Returns:

object
enableVerbs(verbs) → {object}

Defined in: adventure/Game.js, line 595

Parameters:

  • verbs object
This convenience method is a shortcut to game.dictionary.enableVerbs().

Returns:

object
findSubstanceBodyOrHeld(asset_id) → {Array}

Defined in: adventure/game/findSubstanceBodyOrHeld.js, line 9

Parameters:

  • asset_id String
Find assets containing the specified substance.

Returns:

Array
findSubstanceContainers(asset_id, selects) → {Array}

Defined in: adventure/game/findSubstanceContainers.js, line 9

Parameters:

  • asset_id String
  • selects Array
Find assets containing the specified substance.

Returns:

Array
getAsset(identifier, params) → {String}

Defined in: adventure/game/getAsset.js, line 9

Parameters:

  • identifier String
    Name or ID of a game object.
  • params Object
    Used to check for 'prefer_substance' in cases of looking for substances in containers.
getAsset or shortcut get takes a string representing an asset name or id and tries to return an asset object.

Returns:

String An object ID.
getBaselineDiff(source_world) → {String}

Defined in: adventure/utils/getBaselineDiff.js, line 6

Parameters:

  • source_world Object
Get the diff between the baseline world state and the current world state to create a minimum data set for writing saved games.

Returns:

String Returns a stringified diff.
getCurrentRoom() → {Object}

Defined in: adventure/game/getCurrentRoom.js, line 9

Convenience method to get the current room asset.

Returns:

Object
getCurrentRoomExits() → {String}

Defined in: adventure/game/getCurrentRoomExits.js, line 9

Returns:

String A formatted list of exits.
getCurrentRoomFloor() → {Object}

Defined in: adventure/game/getCurrentRoomFloor.js, line 9

Convenience method to get the current room's floor.

Returns:

Object
getCustomSuccessMessage(asset, verbName) → {Boolean}

Defined in: adventure/game/getCustomSuccessMessage.js, line 9

Parameters:

  • asset Object
    A game asset.
  • verbName String
    A verb name.
Check to see if an Asset has a custom success message for the specified verb.

Returns:

Boolean
getExitFromDirection(direction) → {Object}

Defined in: adventure/game/getExitFromDirection.js, line 9

Parameters:

  • direction String
Does current room have an exit in that direction? If not use global exit. Always applies to currentRoom. If no exit found, returns false.

Returns:

Object An exit.
getExtendedExitName(exit, destination) → {String}

Defined in: adventure/game/getExtendedExitName.js, line 9

Parameters:

  • exit Object
  • destination Object

Returns:

String
getGlobalAssetDescription(asset) → {String}

Defined in: adventure/game/getGlobalAssetDescription.js, line 9

Parameters:

  • asset Object | String

Global assets are a bit (perhaps overly) complicated. They exist as singular objects in the game world, and they can be enabled/disabled and have their descriptions overridden per room and per zone.

For example:

  • MyGame.world.global_air is an asset
  • MyGame.world.room.room_scenery.global_air is a simple object that can be used to determine whether a global asset is available in a given room.
  • MyGame.world.zone.zone_scenery.global_air is a simple object that can be used to determine whether a global asset is available in a given zone.
  • Though global asset is singular, its description can be overridden by descriptions set in room_scenery and zone_scenery.

    Returns:

    String A description of the specified asset id.
    getInput() → {Object}

    Defined in: adventure/game/getInput.js, line 9

    Convenience method to get this turn's input.

    Returns:

    Object
    getLastTurn() → {Object}

    Defined in: adventure/game/getLastTurn.js, line 9

    Convenience method to get this turn's input.

    Returns:

    Object
    getPlayer() → {Object}

    Defined in: adventure/game/getPlayer.js, line 9

    Convenience method to get the player asset.

    Returns:

    Object
    getPrintableObjectList(objects, exclusions) → {String}

    Defined in: adventure/game/getPrintableObjectList.js, line 9

    Parameters:

    • objects Object
      An array of object ID strings.
    • exclusions Object
      An array of of object ID strings to exclude.

    Returns:

    String A formatted string.
    getStringLookup(verbs) → {object}

    Defined in: adventure/Game.js, line 546

    Parameters:

    • verbs object
    This convenience method is a shortcut to game.dictionary.getStringLookup().

    Returns:

    object
    getVerb(verb) → {object}

    Defined in: adventure/Game.js, line 558

    Parameters:

    • verb string
    Get the dictionary verb corresponding to provided string. This convenience method is a shortcut to game.dictionary.getVerb().

    Returns:

    object
    getWordCount() → {Array}

    Defined in: adventure/game/getWordCount.js, line 8

    getWordCount() is a utility method to get a count of all the unique words the game "knows".

    Returns:

    Array
    initializeAssets()

    Defined in: adventure/game/initializeAssets.js, line 9

    Initialize all game assets.
    isFalseOrNull(value) → {Boolean}

    Defined in: adventure/utils/isFalseOrNull.js, line 4

    Parameters:

    • value *
    A simple function to check whether a value is === false or null.

    Returns:

    Boolean
    isIdInMixedArray(array) → {Array}

    Defined in: adventure/utils/isIdInMixedArray.js, line 5

    Parameters:

    • array Array
    Convert an array of arbitrary strings to an array of IDs useable by game objects.
    • convert ' ' to '_'
    • convert ' and ' to '&'
    • convert '.' to '$'

    Returns:

    Array
    listCurrentRoomContents(room) → {String}

    Defined in: adventure/game/listRoomContents.js, line 9

    Parameters:

    • room Object

    Returns:

    String
    log(method, level, msg)

    Defined in: adventure/game/log.js, line 8

    Parameters:

    • method String | Number
      0=log, 1=warn, 2=error
    • level String | Number
      0=critical, 1=high, 2=medium, 3=low
    • msg *
      Message for console.
    Custom logging function.
    mergeWorld(source, dest) → {Object}

    Defined in: adventure/utils/mergeWorld.js, line 5

    Parameters:

    • source Object
    • dest Object
    Deep mergeWorld function for simple object types, used to merge restored save game files into baseline game state.

    Returns:

    Object dest
    patchVerb(patch_verb) → {object}

    Defined in: adventure/Game.js, line 647

    Parameters:

    • patch_verb object
    patchVerb enables an author to revise the properties of an existing verb. For example, let's say you want to revise the verb "plug" so that it works in the dark - meaning that players it can operate on assets the player can't see. You might copy the plug.phrase1 and in your game file, call patchVerb with line visible: true removed.
    MyGame.patchVerb({
      name: "plug",
      phrase1:{
        accepts_noun: true,
        requires_noun: true,
        accepts_preposition: true,
        noun_must_be:
        {
          known: true,
          tangible: true,
          present: true,
          visible: true,
          reachable: true,
        },
      },
    });


    ( game.patchVerb() actually forwards to game.dictionary.patchVerb() ).

    Returns:

    object
    play()

    Defined in: adventure/game/play.js, line 9

    Validate and initialize all classed game objects in world. Validation is internal to each object. Initialization draws connections to other objects.

    Returns:

    adventurejs.Game
    prependToOutput(msg) → {boolean}

    Defined in: adventure/Game.js, line 530

    Parameters:

    • msg String
    This convenience method is a shortcut to game.parser.input_history[ 0 ].prependToOutput(). Provides a method for author to prepend custom text before default output for the turn.

    Returns:

    boolean
    print(msg, classes)

    Defined in: adventure/game/print.js, line 8

    Parameters:

    • msg String
    • classes String
    Prep the supplied string for printing to the display.
    printCurrentRoom(params)

    Defined in: adventure/game/printCurrentRoom.js, line 9

    Todos: Formalize handling for description/brief/verbose descriptions

    Parameters:

    • params Object
    Print room description to game display. Includes input, room name, and room description. Calling the function with params.verbose set to true will override global verbosity settings and try to print a verbose description.

    For example:
    printCurrentRoom( { verbose: true } )
    printCurrentRoomContents()
    printCurrentRoomExits()
    printInput(input)

    Defined in: adventure/game/printInput.js, line 9

    Parameters:

    • input String
    printPlayerInventory()
    printRoomZoneEvents()
    printWithInput(msg, classes)

    Defined in: adventure/game/printWithInput.js, line 9

    Parameters:

    • msg String
    • classes String
    propercase(string) → {String}

    Defined in: adventure/utils/propercase.js, line 5

    Parameters:

    • string String
    Converts a string to Propercase (lower case with leading cap).

    Returns:

    String
    registerInterval(id, callback)

    Defined in: adventure/Game.js, line 683

    Todos: add number of turns as a param and only call per x turn

    Parameters:

    • id string
      id of Asset which owns the function.
    • callback string
      The function to call on interval.
    Intervals are callback functions used to fire in-game events every turn. For example, turn on a water faucet and the faucet pours water every turn until it's turned off. registerInterval adds functions to the list.
    replaceVerb(oldVerb, newVerb) → {object}

    Defined in: adventure/Game.js, line 619

    Parameters:

    • oldVerb object
    • newVerb object
    This convenience method is a shortcut to game.dictionary.replaceVerb().

    Returns:

    object
    restoreWorld(source)

    Defined in: adventure/utils/restoreWorld.js, line 6

    Parameters:

    • source Object
    For UNDO and RESTORE. Revert the world to the baseline snapshot and then merge in updates from a partial copy.
    sendToInput()

    Defined in: adventure/Game.js, line 282

    An alias to method display.sendToInput.
    sendToParser()

    Defined in: adventure/Game.js, line 270

    Takes an input and immediately forwards it to the parser.
    set(props) → {adventurejs.Game}

    Defined in: adventure/game/set.js, line 9

    Parameters:

    • props Object
      A generic object containing properties to copy to the Game instance.
    This is a shallow copy for setting global properties on the main game object. Returns the game object for chaining.

    Returns:

    adventurejs.Game Returns the instance the method is called on (useful for chaining calls.)
    setGlobalDescriptions(globals)

    Defined in: adventure/game/setGlobalDescriptions.js, line 9

    Parameters:

    • globals Object
      A list of globle Scenery Assets.
    A method to let author set default descriptions for global objects such as sun, moon, sky, floor, walls.
    setPlayerRoom(newRoom, params)

    Defined in: adventure/game/setPlayerRoom.js, line 9

    Parameters:

    • newRoom Object
      A room object to which to move player.
    • params Object
    Move player to the specified room.
    sortLookupValues()

    Defined in: adventure/game/sortLookupValues.js, line 9

    Sort lookupTable values that contain multiple IDs.
    stringToArray(string) → {Array}

    Defined in: adventure/utils/stringToArray.js, line 4

    Parameters:

    • string String
    Convert a string into an array containing the string.

    Returns:

    Array
    substituteHTMLTags(msg) → {String}

    Defined in: adventure/utils/substituteHTMLTags.js, line 5

    Parameters:

    • msg String
      A string on which to perform substitutions.
    substituteHTMLTags acts on strings prior to printing them to Display. Substitution is the last step of Game.print(). It replaces text in <angle>brackets</> with <span class="angle">brackets</span>, providing a shortcut method to adding CSS styles to text.

    For example:

    MyGame.createAsset({ class: "Room", name: "Standing Room", descriptions: { brief: "The north door is open. ", through: "Through the door you see a bright light. ", * verbose: return function(){ `The north door ${MyGame.world.aurora_door.is.closed ? "is closed, hiding the aurora. " : "is open, revealing the $(northcolor) aurora light" }` } } })

    Returns:

    String
    tryTravel(direction, params)

    Defined in: adventure/game/tryTravel.js, line 9

    Parameters:

    • direction String
    • params Object
    Tries to move the player in the specified direction.
    unregisterInterval(id, callback)

    Defined in: adventure/Game.js, line 702

    Parameters:

    • id string
      id of Asset which owns the function.
    • callback string
      The function to call on interval.
    Intervals are callback functions used to fire in-game events every turn. For example, turn on a water faucet and the faucet pours water every turn until it's turned off. unregisterInterval removes callback functions from the list.
    unregisterInterval()

    Defined in: adventure/Game.js, line 726

    callIntervals uses pointers to asset properties to print messages or apply custom logic every turn. For example, turn on a water faucet and have the faucet pour water every turn until it's turned off, or turn on a radio and have it play music lyrics. Properties can be strings or arrays or functions.
    unregisterInterval()

    Defined in: adventure/Game.js, line 750

    This convenience property is a shortcut to game.world._vars, which is a container for any custom variables set by authors. Variables stored here are saved within the scope of data that gets written to save files.
    updateDisplayCompasses()

    Defined in: adventure/Game.js, line 367

    Write current room's exits to the display's compass rose.
    updateDisplayInventory()

    Defined in: adventure/Game.js, line 392

    Update the inventory in inventory docks.
    updateDisplayRoom()

    Defined in: adventure/Game.js, line 334

    Concatenate room name + player situation and save to game.displayRoomName. If there's a room image, update that.
    updateDisplayVerbs()

    Defined in: adventure/Game.js, line 382

    Todos: this has no logic yet

    Update the verbs in verb docks.
    validateAssetPrecursor(child) → {Object}

    Defined in: adventure/game/validateAssetPrecursor.js, line 9

    Parameters:

    • child Object
      A generic object.
    Validate unclassed precursor object prior to creating an asset. Generic objects must have at minimum a valid class and a name. Name is used to generate ID. Exits are the exception, where ID is generated from location + direction.

    Returns:

    Object A classed object.
    validateAssets()

    Defined in: adventure/game/validateAssets.js, line 9

    Validate all assets in world.
    validateClassList(property) → {Array}

    Defined in: adventure/utils/validateClassList.js, line 4

    Todos: Is this unused?

    Parameters:

    • property String | Array
    Validate a list of classes. Unused?

    Returns:

    Array

    Properties  | 

    author :String

    Defined in: adventure/Game.js, line 320

    Default value: ""

    Get/set game author and pass to Display.
    baseline

    Defined in: adventure/Game.js, line 165

    baseline stores a copy of the initial game world, for comparison in save/restore and undo.
    class_lookup

    Defined in: adventure/Game.js, line 180

    class_lookup stores a lookup table containing the ids of all assets by class.
    currentRoom :Object

    Defined in: adventure/Game.js, line 463

    Deprecated
    • Use game.getCurrentRoom() instead.
    Convenience method to get the player's current room.
    game :Object

    Defined in: adventure/Game.js, line 92

    Default value: {}

    A reference back to this Game object. Chiefly used for consistency so we can refer to this.game, which is how we refer back to the Game from many functions.
    game_name :String

    Defined in: adventure/Game.js, line 101

    game_name holds a copy of the variable name used to store the current game instance, to which every asset in the game world holds a reference. (By default, we use "MyGame", but you can use any name.) The variable is scoped to window, and in order to get the game object, we call window[this.game_name]. Though it would be easier to use a direct object reference, doing so creates a circular reference, which complicates JSON encoding, which is how we save/restore the game state.
    image_lookup

    Defined in: adventure/Game.js, line 194

    image_lookup stores a lookup table for optional images supplied by author.
    input :Object

    Defined in: adventure/Game.js, line 472

    Deprecated
    • Use game.getInput() instead.
    Convenience method to get this turn's input.
    inventorydocks :Object

    Defined in: adventure/Game.js, line 252

    inventorydocks is an array that stores references to any custom inventorydocks.
    last_turn :Object

    Defined in: adventure/Game.js, line 481

    Deprecated
    • Use game.getLastTurn() instead.
    Convenience method to get last turn.
    player :Object

    Defined in: adventure/Game.js, line 454

    Deprecated
    • Use game.getPlayer() instead.
    Convenience method to get the player.
    room_lookup

    Defined in: adventure/Game.js, line 187

    room_lookup stores an array containing the ids of all rooms.
    score :String

    Defined in: adventure/Game.js, line 425

    Default value: ""

    Get/set game score and pass to Display.
    scorecard :Object

    Defined in: adventure/Game.js, line 230

    scorecard is a singleton class that stores all the game's score events and functions for managing score.
    settings :Object

    Defined in: adventure/Game.js, line 121

    settings is a singleton class that stores all the game's global settings.
    title :String

    Defined in: adventure/Game.js, line 304

    Default value: ""

    Get/set game title and pass to Display.
    version :String

    Defined in: adventure/Game.js, line 438

    Default value: ""

    Get/set game version and pass to Display.
    world

    Defined in: adventure/Game.js, line 132

    world stores all the game asset objects. It also stores a handful of variables such as _player and _currentRoom which are used for convenience. It also stores any global vars created by the game's author. This last is done to give authors a place to store vars that can be written out with saved games.
    world_lookup

    Defined in: adventure/Game.js, line 144

    world._vars is a namespace for authors to store any custom vars that they would like to be written out with saved games, so that they can be restored along with other saved game data in order to retain game state.
    world_lookup

    Defined in: adventure/Game.js, line 173

    world_lookup stores a lookup table containing indexed keywords for all game assets.