[MUD-Dev] (fwd) Re: DESIGN: Proposed topic of Discussion (Injecting Pure Signal)
J C Lawrence
claw at under.engr.sgi.com
Tue Dec 22 18:37:02 CET 1998
-- forwarded message --
From: <telford at xenon.triode.net.au>
Newsgroups: rec.games.mud.admin
Subject: Re: DESIGN: Proposed topic of Discussion (Injecting Pure Signal)
Date: 23 Dec 1998 01:10:49 GMT
An on-topic thread is generally doomed to failure but I might as
well give it a stab.
> Administrators, designers, and coders - what are you creating?
> Some seem to want to recapture your first mud, or get your very
> own mud... I've no interest in those. But for the rest of
> you... what is your objective? Do you want a lot of players?
> Mature players? To show of your art?
My main spare-time project at the moment is movement and mapping.
To put it simply I want to get something that goes beyond the
discrete nature of rooms and exits. In a conventional MUD you map
the mud by using graph theory and you explore by enumerating the
rooms.
My feeling is that this doesn't offer enough scope for designing
interesting maps and playing the game gets too mechanical. I want to
store the position of each MOB (including characters) as a floating
point vector to allow similar type of virtual world modeling that
Quake uses (sans the graphics :-)
The first main issue I wanted to address was scaling. A step in a
discrete map is a step whether you be walking the wilderness or
shopping in the main street or wandering the corridors of a
castle. This is totally unrealistic, especially when movement points
are taken into consideration. I am working on a multi-scaling map
that is built from squares where the squares have a range of
sizes. It only stores the squares that exist -- not the entire grid
-- so memory efficiency is good. It can also take a given position
and search for the region that the position is located in, the
search is currently O(log N) where N is the total number of regions
because I use B-tree storage. In theory, a suitable hash table could
bring the search to O(1).
What's implemented so far:
* defining a square region at a given location and a given size
* finding the region that contains a given location
* drawing an ASCII map of the area around a given location at a given scale
* adding arbitrary additional properties to a region
(e.g. description, modifiers, etc), none of these additional
properties do anything yet.
* Loading and saving the entire map to text file.
What is currently holding me back:
* building maps using this method is difficult because judging where to add
new regions to get the desired effect can be difficult, especially when scale
is taken into account. Quantising of position and scale is necessary for the
search speed to be viable and the quantising can confuse the builder because
the new room often won't appear exactly where it was requested.
* moving around is easy enough when you specify the exact distance to move
but most players want to just give a direction and have the move distance
implicit. With suitably chosen implicit move distances the system should
`feel' quite similar to room-oriented MUDs that players are familiar with
while still allowing the realism of a virtual reality world.
If I can get solutions to the above two that I am comfortable with
then I'll build up a sample map, add descriptions to the regions and
put a demo version online for people to walk around in. Players
probably won't have access to the mapping facility because it's
still quite CPU intensive and it makes life too easy. Online mapping
will be for builders only (at this stage). I might snapshot the
maps of a few common areas (the main parts of town for example) and
put them on display in the centre of those areas. Since these maps
are generated straight from memory they will be fast and then a
builder can look over them to ensure that they don't give away too
much (secret rooms for example).
- Tel
-- end of forwarded message --
--
J C Lawrence Internet: claw at kanga.nu
(Contractor) Internet: coder at kanga.nu
---------(*) Internet: claw at under.engr.sgi.com
...Honorary Member of Clan McFud -- Teamer's Avenging Monolith...
More information about the mud-dev-archive
mailing list