A
/ \ _ Play Now Nemesis on
| | | | _______ _ _ _______ _______ _ _______
| |\ | | | ____| | \ / | | ____| / ____| | | / ____|
/-------/-------------------------------------------------------------------,
O= Home <=XX| About News Pics Adventurers Wizards Download Connect >
\-------\-------------------------------------------------------------------'
| | \ | | |____ | | | | | |____ ___ \ \ | | ___ \ \
| | \_| |_______| |_| |_| |_______| |_______/ |_| |_______/
\ /
V
Documentation Area
Document Path: /doc/misc/concept
IDEA BEHIND THIS GAME. (by Lars Pensjoe)
I played Abermud a lot, and wanted to do something better (who doesn't).
1. A wizard can extend the game.
2. The game can be extended on fly, without rebooting the mud.
3. There is no difference between objects. Rooms, players and things
are just objects.
4. All objects are specified in interpreted C. The specifications are
compiled (loaded) first time they are referenced.
5. There is no player parser. All commands are defined by the objects.
For example, the knife defines the command 'wield', and the
leather jacket defines 'wear'. An object defines a command by
associating it with a local function, defined in the object. When
the user types that command, the corresponding function will be called.
If the user types 'wear jacket', then "jacket" will be sent as an
argument to the wear function in the jacket object. If the user
types 'wear plate', the jacket wear function will detect that
"plate" != "jacket", and return false. Then, another 'wear' command
is tried, until success. When the user drops the jacket, all commands
are removed that were associated with that object.
6. The rooms are just objects that define some commands like 'look',
'east', 'north' and such things. When the user then types 'north',
the room function will do something to the player.
7. An object may define a function "heart_beat". It will be called every
third second. This can be used for automoving monsters, torches burning
down and time delayed traps...
8. The most complex object is the player object. It defines commands like
"get", "smile" and "kill".
9. When a player becomes wizard, he will get a small portable castle.
He can delelop it and if it is approved by the archwizards, he can place
it somewhere in the landscape and extend it. It is okey to rename it
to "entrance to hell" or anything.
10. The language that defines objects are similar to C. It is interpreted.
11. There is a builtin ed-compatible editor for wizards creating objects.
There is also 'ls' and 'cat' and many more (mostly Unix-like) commands.
This page was generated in LPC
Imprint / Impressum