[vworld-tech] State of the art / Text muds

Richard richard at ccpgames.com
Sun Apr 4 01:32:34 PST 2004


A friend and I are yet again considering being more active on our
pet mud project.  When we last actively worked on a MudOS/LPC mudlib,
we were trying to change the game logic to get a different world model
and were planning to take advantage of that model to provide more
visual tools and development environments to build the world.

So, what I am curious about is what the general standard is for
text-based muds in two specific areas.  The game logic that provides
the basic world model and the development environment or tools that
builders use to create content within that world model.  I'll try and
elaborate on what I mean by both aspects.

I was last involved in developing text-based muds around 1994-2000,
and they were of the MudOS/LPC variety.  So, I am not familiar with
what the standard was in other approaches, but I imagine it was
pretty similar. So, hopefully anyone who used those approaches can
relate what the LP approach allowed to their own where I use the
LP approach as an example.

The game logic

As I mention above, I am considering game logic to be the set of code
that provides some form of world model that the builders can build
content within.  This generally included the following..

o The standard room system:
Physical locations consisting of hand-made rooms linked together by
exits. A room has a description, details that could be more closely
examined from that description, objects that could be obtained and
NPCs that perhaps wander from room to room and could be either
conversed with through keywords or operated on through the use of
standard commands. And so on.

o Game design base systems:
A character has a race.  Can belong to a guild.  Perhaps can gain
generic experience into a pool through various actions.  Has skills.
Might be able to spend the experience on additional levels in those
skills.  Might be able to advance those skills just by employing
them in day to day use.  Might have access to special ranges of
skills or actions that can be performed based on the guild they
belong to or level achieved.  Then theres object and NPC templates
that can be utilised for their specific functionality.  The ability
for players to group together to some advantage. And so on.

Now, most muds I had opportunity to visit were pretty standard in
their use of these features.  Some muds even advertised more races
or levels as advanced features at one stage.  There were big threads
discussing the advantages of muds created from scratch or reusing
some stock set of code or content.  Where stock generally implied
little deviation from the general standard.  There were muds that did
have more advanced features, of which I can only recall one offhand.

o Virtual terrain:
This was large areas of variable terrain types that were dynamically
described.  It allowed for the addition of large amounts of rooms
to a mud with little effort.  Even more advanced use of it was to
provide obtainable resources and NPC spawns that suited the type of

That this was as far as game logic went in providing a world model
is perfectly reasonable.  Even just building a game on top of this
standard model was a task that most people attempting failed to do.
When games were well made using it, players were more than happy
to play them and still are.  But as a programmer who didn't find it
particularily interesting to play within, I believed that if the
game logic was more complicated in the world model it provided then
the game based on it would naturally be deeper and more interesting.

We experimented with different room models.  Taking a polygon-based
landscape and adapting the room based approach to it.  We
experimented with limited physics in that world.  Gravity and a
defined water level.  When you moved you would follow the height of
the terrain.  If you tried to move north and the slope of the step
was too steep, then you would be told that that was the case and be
denied the move.  We never took it much further than that, while I
believe you could have created a more than playable MUD based on it,
we weren't satisfied with keeping artificial room model it was
constrained by.  We wanted to shed it and have a fully 3D world where
you could move and see freely based perhaps on weather.  I mention
this as one example of a direction that some MUDs might have gone to
some degree.  That we eventually gave up due to goals that were too
high, lack of experience and understanding of the technical methods
required and real life events is beside the point.

Another area we experimented in but never completed was a system for
was in the breaking down or composition of objects respectively into
and from their component parts perhaps through involved processes. We
eventually hoped to have all objects in the game based off this so
that you could have inherent behaviour or properties based on the
material used and so on.

Bruce (as I understand him) advocates a knowledge base and a reasoning
engine as functionality to base game logic around.  And it is a much
more sensible approach to get inherent properties or behaviours from
materials or composed objects.  And for a lot of other things.

I'd be interested to know if the bar has risen and perhaps even stock
muds have a deeper game world because of standard game logic which has
become more advanced.  Even if you have any interesting approaches or
advances over the standard in your personal project's game logic
I'd love to hear about it and how it worked out for you.  Has anyone
broken free of the room-based model and how has it worked out for you?

In terms of development environment/tools

In the LP world, the standard was for builders to edit the room,
object and NPC scripts.  Mostly they were just templates.  And there
were builders who could do wonderful things with them, even without
some use of scripting to add extra content in some form or other.
Builders would either edit the scripts online through the use of
perhaps a line editor or editing remotely and ftping the scripts in
and out of the MUD.  Near the end of my involvement, we even had form
based editing in the MUDs web server.

It was basically template based building.  It would have been
possible for the most part to make the building data driven through
the web server.  Frankly, editing through the in-game line editor was
hell looking back.  I'd paste in code and hope it didn't result in a
disconnection because of a bad telnet connection.  Noise would
disrupt the code on your screen - messages from people, chat
channels, the game or anything else that was around.  When I had a
computer of my own to run a copy of the MUD on and could switch
between virtual terminals to edit different files in an editor like
Pico, it was  a world of difference in how much easier it was to work.

The only advancements that I remember were the following.  Scripts to
take a text file which laid out a network of rooms and to generate
the script files with all doors and exits and basic environmental
settings taken care of.  The builder would still need to go through
them and fill them in with descriptions, details, npcs and objects.
But it was still handy.  Then later on, there were GUI applications
to create the scripts given data entry in forms.  Written in Visual
Basic or something.

Cue an example of how we hoped to do better.  Our 3D world
development was driven by interest in writing an editor so that our
builders could visually build and place the rooms.  Kind of seems at
odds with the text-based game but it is and was an interesting idea
to experiment with.  At the time it appeared that VRML and the Java
or Javascript EAI (external authoring interface) was a viable way to
do it and we even built pages in our in-game web server which allowed
VRML plugins to view the island which was our world. The interface
was going to be pretty simple, at least for a start, just a 3D view
where you could plop rooms beside each other, link them with exits
and fill out forms and so on.

Is there any change in how builders go about their work these days?
Have any muds created advanced tools or environments for their builders
to use?


More information about the vworld-tech mailing list