home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
new
/
game
/
role
/
amigamud
/
client
/
doc
/
intro.txt
< prev
next >
Wrap
Text File
|
1994-06-04
|
22KB
|
441 lines
AmigaMUD, Copyright 1994 by Chris Gray
Introduction to the AmigaMUD System
The AmigaMUD system is a software system for the Commodore Amiga line
of computers which implements a MUD (Multi-User-Dungeon). MUDs have
existed on various computers for about 20 years, usually run at
universities on networked computers. In a typical MUD, several people
connect to the system at the same time and interact by typing in
messages and commands to the MUD. MUDs are usually set up somewhat
like text adventures, in that they contain a small world in which the
players can explore, solve puzzles, etc. MUDs add to the adventure the
possibility of interaction, within the world, of the various players.
Players can talk to others in the same location; they can cooperate in
solving puzzles; they can compete in improving their characters or
personnas; they can engage in combat, etc.
The world in which the MUD is set is chosen and built by one or more
people who are the implementors or "wizards" or "gods" of the MUD. MUD
worlds have been set in various fictional as well as real situations,
such as Star Trek, Xanth, the Discworld, etc. Other MUDs specialize in
role playing, where the players pick a persona and do their best to
stay within it. For example, "furries" on FurryMUD all pick a furred
animal as their character.
Many MUDs exist on the 'internet', the international network of
computer systems, mostly supported by various governments. Amiga
computers are not often on this network, so they will usually get
their multiple players through serial ports and modems. Amiga-based
BBS systems often have multiple lines, and these can be used for
connections to AmigaMUD.
Today, most MUDs are strictly text based. That is, users do all
operations in the MUD by typing commands, and all output is via text
messages. In the last couple of years, colour graphics have become
quite common on home computers and workstations. MUDs are beginning to
take advantage of that capability by introducing simple graphics
output. Sound output is also possible.
AmigaMUD provides graphics and sound output as a standard element. It
also allows the use of the mouse and numeric keypad as input. The
system still provides the full text input and output interfaces,
however, and can be used in a text-only mode. The standard
availability of graphics output and mouse input can change the nature
of a MUD, and make it available to those who aren't terribly good at
typing, or who are uncomfortable with computers.
Basic Capabilities
The main function of the AmigaMUD system is to allow the playing of a
MUD, which is a multi-player text adventure game. As such, several
people can be playing the same game at the same time. There is no
inherent limit on the number of simultaneous players, but the CPU time
needed to handle the server and the serial port activity will likely
limit a top-end Amiga to under 50 active players.
The AmigaMUD system does word wrapping on output. This means that long
lines are automatically broken up on word boundaries. The designers of
the scenarios and the builders of new rooms and objects, etc. do not
have to worry about properly formatting things. The formatting is done
with respect to the actual output width of the MUD text window, which
varies depending on the amount of overscan the user has setup.
Graphics output is to a 320 pixel wide by 100 pixel high by 32 colour
graphics window at the top of the visible display (unless the user has
chosen to hide it). Primitives exist in the system to draw and fill
lines, circles, polygons, etc. A scenario can also scroll regions of
the graphics window, and can dump IFF ILBM graphics images (from the
machine on which the MUD client program is running) to the window.
The scenario can add "mouse buttons" to the graphics window. These are
small rectangular areas containing text that the user can click on
with the mouse. Doing so triggers an action in the scenario, such as
moving in a specific direction. The scenario can also set up regions
of the display which are sensitive to mouse clicks. Clicking within
such a region sends to the server a message indicating the position
within the region which was selected. This capability is used by the
icon editor in the standard scenario.
The MUD client program can use the Amiga's speech synthesizer software
(libs:translator.library and devs:narrator.device) to generate speech
output. This capability requires that libs:translator.library exist on
the server machine, and that devs:narrator.device exist on the client
machine. Note that these items are not currently shipped with version
3.0 of the Amiga OS software package.
Scenarios can request that sound samples (IFF 8SVX files) be played on
client systems. Since the Amiga has four hardware sound channels, up
to four samples can be played simultaneously. These samples are loaded
from the AmigaMUD:Sounds directory on the client Amiga.
The MUD program supports the concept of icons. These are small (up to
16 x 16 pixels) one-bit-per-pixel images that are overlayed on top of
the main graphics imagery. They are used to indicate the presence, in
the same "room" as the player, of other players and NPCs.
The MUD program can "cache" local copies of descriptions of graphics
imagery, commands to play sounds, icons, etc. This caching can greatly
reduce the amount of data that must be continually retransmitted over
the serial connection, thus speeding up gameplay.
The MUD program includes a builtin full-screen text editor, which can
be used to edit room descriptions, object descriptions, etc. It can
also be used, when in wizard mode, to edit AmigaMUD functions, and is
integrated with the AmigaMUD programming language parser to show the
location of errors. MUD can also call out to an external editor for
these purposes.
The text adventure aspect of AmigaMUD includes a set of fairly
powerful routines to assist in writing code that "understands" pseudo-
English commands. For example, when the scenario is parsing a user
input line like:
Put the apple, the pear and the black sword into the brown paper bag.
the code that understands how to put things into other things will be
automatically called three times, one for each object to be put into
the bag. Also provided are routines to aid in identifying the objects
being referenced.
The AmigaMUD system includes a fairly efficient interpreted
programming language which is used to build the scenarios or worlds
that run under the system. Note, however, that with the current
scenario, building of rooms, objects, etc. can be done entirely
without using any of this programming language. The language is a
strongly typed, structured language that should be usable by anyone
with a bit of programming experience. The entire scenario is built
using this language - rooms and objects are created dynamically by
executing code in the language. The standard scenario includes a large
set of utility routines designed to simplify the building of rooms,
etc. Here is an example AmigaMUD programming language routine, which
is a part of the standard scenario. It is used to draw the random
coloured rectangles which are the graphics imagery for the "SysAdmin's
Study" room:
define tp_mall proc drawStudy()void:
int i, x, y;
for i from 1 upto Random(20) + 10 do
GSetPen(nil, Random(32));
x := Random(159);
y := Random(99);
GAMove(nil, x, y);
GRectangle(nil, Random(160 - x), Random(100 - x), true);
od;
/* force a re-draw on look */
Me()@p_MapGroup := UNKNOWN_MAP_GROUP;
corp;
The standard scenario provided with AmigaMUD includes "builder
commands", which allow non-wizards to build new rooms and objects into
the scenario, while it is running. If the player is using the full MUD
client program, this building can be done using mouse-buttons and a
full-screen editor.
The standard scenario also provides some functions which can draw a
simple overhead view of a room based on the obvious exits from that
room. Several styles are available, including pathways, tunnels, and
interior rooms. These simple graphics can be attached to rooms using
mouse-buttons. The colours used can be changed for variety.