[MUD-Dev] question about tile-based games
AR Schleicher
ars at nwu.edu
Thu Aug 12 00:06:20 CEST 1999
At 01:22 PM 8/11/99 -0400, "Jeremy Music \"Sterling\"" wrote:
>On Tue, 10 Aug 1999, Chris Gray wrote:
>
> > I'm working on a tile-based demonstration world right now, and have run
> into
> > something that I'm not sure how to resolve. So, I thought I'd ask
> others out
> > there what they have done in this situation.
> >
>
><snip all the options except...>
>
>Why not have a starting area where everyone that logs on starts in a
>certain area (it kinda sounds like that is your intention, because if they
>just came back in wherever they left and you had a reasonable sized world
>it just wouldn't usually matter). That area has no traps, areas that
>shouldn't be gotten to, etc., and has 300 tiles that are flagged as
>startup tiles (increase number for increased numbers of concurrent
>logins). These 300 tiles are then used in order, if someone is standing
>on tiles 1 through 97 the next person to log in gets placed on 98.
An old version of Sierra's The Realm (a room based game) had four starting
rooms attached to different parts of the town. You logged into one of the
four randomly each time you entered the game, and walked from there through
the one exit from the room into town. These exits were one way, you
couldn't return to the starting rooms. The first lesson learned was to
make these rooms safe. No PVP combat allowed. After that, they seemed to
work fairly well, with the exception of times with high volumes of logins,
where users with lower end machines couldn't handle the massive quantitites
of people in the room with them, basically forcing them to wait for a
quieter time to login. Eventually, The Realm moved to a system of logging
you back into the room you logged out of, or, if that room no longer
existed, to your house.
>If you are having them log out and log back in standing in the same spot
>then I don't think it would be a problem if you had a reasonably large
>world, though you would have to put some minor error-checking to keep from
>putting somebody in a wall or whatever.
Hmm, this makes me start thinking about some of the various house exploits
Ultima Online has had in the past. Let's say we get a group of people and
walk up to a house. One logs out right next to the doorway, and the rest
of the group surrounds the area. Now, how far are you going to move this
person to get them to a clear space that's safe, when there's this nice
house interior just two spaces that's totally empty?
Speaking of UO, it should be noted that they originally had a system which
didn't allow two players to occupy the same space. They realized during
the beta testing that it just didn't work, too many people were abusing it,
and so they changed it to allow you to walk through people, at a cost (time).
Anyways, my opinion on this subject is that while it might be possible, it
is very difficult to work with a tile based system where players occupying
the same space is not allowed. By allowing players to move through each
other, you remove a number of potentially abusive situations.
One idea I've been considering lately related to this is tile-based systems
where the tile size is fairly small. If a player takes up a three by three
space, and you have a doorway six spaces wide, you can then easily scale
the amount of effort it takes another player to get past him, by
considering how much of the two characters intersect and collide. Such a
system would also (I believe) have many benefits in many other areas of the
game as well, making the game seem smoother and actually less tile
based. One interesting point of the system I've been considering is what
should you do for oddly proportioned beings, say 2x4 tiles. It seems to
add quite a bit of complexity to the situation, in particular as they rotate.
AR Schleicher (Jerrith)
ars at nwu.edu (old)
ars at iag.net (new)
_______________________________________________
MUD-Dev maillist - MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list