Skip to content
arendjr edited this page Dec 12, 2012 · 13 revisions

Every object in the game is a so-called "game object". This includes characters, room, items, etc.. Here is an overview of all the game objects that are currently defined.

Character (derives from StatsItem)

Characters are in-game characters. There are two major types of characters: players and non-playing characters (NPCs). The former are controlled by human players, the latter aren't.

Class (derives from GameObject)

A Class defines the class of a character. For example, "knight", "soldier", "mage".

Container (derives from Item)

Containers are items that may contain other items.

Event (derives from GameObject)

Event is a template object from which visual, sound, or other game events may be generated.

Exit (derives from GameObject)

Exits provide a way for characters to move from one room to another. Exits are not created in their own right. Instead, the are generated from the definitions of portals between rooms.

GameObject

GameObject is the basic type that all game objects adhere to. It defines many useful properties and methods applicable to all other objects. GameObject is not an independent type, so you cannot instantiate objects of it.

Group (derives from GameObject)

A group is not a physical or tangible entity. Instead, it simply defines which characters form a group or party together.

Item (derives from GameObject)

Every item you may see or collect (weapons, potions, decorative items in rooms, etc..) is an Item. When talking about items we typically don't include characters even though technically, characters are also items. This make them share common properties and methods with items.

Player (derives from Character)

Players are player-controlled characters.

Portals (derives from GameObject)

Portals are connections between two rooms. They may be used by characters to move between rooms, though not all portals allow this. Portals can also be created so that they only allow sounds or visuals to travel between rooms.

Race (derives from GameObject)

A Race defines the race of a character. For example, "human", "animal", "elf".

Realm (derives from GameObject)

The Realm encompasses the entire game world. There is only one Realm, and it used for tracking things that affect the entire game world, no, realm.

Room (derives from GameObject)

Rooms are locations where characters can be. They may be actual physical rooms, but really any place where you can go to counts.

Shield (derives from StatsItem)

Shield are items that can be used for defensive purposes.

StatsItem (derives from Item)

Stats items are items which have associated character stats. They may have modifiers attached that modify the current effective stats. StatsItem is not an independent type, so you cannot instantiate objects of it.

Weapon (derives from StatsItem)

Weapons are items that can be used for attacking characters.

Useful Commands

Get an overview of all methods defined on a game object:

list-methods #<object-id>

Get an overview of all properties defined on a game object:

list-props #<object-id>

Further Reading

Read how you can create triggers, or how you can implement your own commands.

You may want to take a look at the Frequently Asked Questions.