The combat-system works about so that we someone gets shot (or hit)
there isn't any
hit-points but the target get a wound somewhere.
Now, the problem I have is that how should I represent the positions of
people within one room.
Or would it be a better idea to allow to shoot from one to another room
that are connected (how) ?
Messages like "Mystran [5,3] jumps up and down" are kind of confusing,
especially for newbies.
Nethack style is no good either.. to hard to tell what (printed)
character is which player, and it's slow
and/or does not work with mud-clients/windows9x telnet.. (what does work
with that ?)
any suggestions ?
You might want to narrow that down a bit, although at this point it
makes no difference.
> The combat-system works about so that we someone gets shot (or hit)
> there isn't any hit-points but the target get a wound somewhere.
>
> Now, the problem I have is that how should I represent the positions of
> people within one room.
> Or would it be a better idea to allow to shoot from one to another room
> that are connected (how) ?
I'd do both.
> Messages like "Mystran [5,3] jumps up and down" are kind of confusing,
> especially for newbies.
Do you need to know their exact position? Couldn't you just work out
the distance and display something like "Thirty feet to your left, Mystran
pulls out a pistol and points it at you"?
KaVir.
What you can do (I am trying to build it) is giving each room a size. When
combat commences you recreate a matrix,
based on either the roomsize or the highest ranged weapon. (positions
depends on the tactic skills in the following categories :
melee,ranged,mounted,aerial and naval). In addition you can use a speed stat
to calculate to movement within this new matrix.
> Or would it be a better idea to allow to shoot from one to another room
> that are connected (how) ?
If the range of a weapon is greater than the size of the room it is possible
to fire at adjecent rooms or further.
>
> Messages like "Mystran [5,3] jumps up and down" are kind of confusing,
> especially for newbies.
The biggest problem is to visually show the matrix (I don't know the
duration of calculating such a matrix to every player in combat).
A solution is to increase the time between combat rounds that way players
get more time to think about tactics and when the time gap
is large enough a party can talk with each other to work out a better group
tactic (I had in mind 4 to 5 secs per combatround).
I don't think it is important to represent a perfect scale of the size of
the matrix just a crude positional display of the combatants involved.
If you're working with color you can easily enchance the readabilty of the
matrix
Other features :
If not too cpu intensive you can calculate LOS (line of sight)
spells can now be used with a radius and ranged property
speed can be taken into account for using lance attacks
> Nethack style is no good either.. to hard to tell what (printed)
> character is which player, and it's slow
> and/or does not work with mud-clients/windows9x telnet.. (what does work
> with that ?)
>
> any suggestions ?
>
Rick Roubos (7th Gate - work in progress)
Strange way to go, but hey, to each his own.
<snip>
I think that may be too complex. Well, depending on how you see this.
LoS in most games is recogised as some where between 180 and 90 degree
frontward arc (from center of character). so, if you've designed the MUD
with a specific NESW (cumpas) berrings, you should be able to figure out who
a character can see.
As for weapon range, how big are you designating rooms? or is it
varriable. the typical hand gun has an effective range of say 250' which is
what, the loby of a corprate office, (or bill gates' garage :-) ). But, if
you want to try and simplify this, you could say that a hand gun (running
under the idea that we are talking about modern firearms) can only hit
anybody in the room. More powerful weapons could be able to hit in say the
next 3 adjacent rooms (can you hear your CPU screaming?) and even more
powerful weapons could hit further.
HtH is bound to happen in this situation, but the attacker would have to
first make it into the same room, then the defender would have say 2 or 3
free shots at the attacker as he runs at the guy with the gun (why he's not
running away, I'll never know). this free shot situation could possibly be
avoided by covering fire from others in the attacking group (provided that
this Mud supports travelling in a group).
Telling someone how to visualise this? Hey, I helped with some of it.
--
"Nobody is innocent; there are merely varying degrees of guilt"
--Dredd
Have you ever fired the typical hand gun? When you first start it
can be difficult to hit something 10 feet away (it really helps make a
person appreciate being able to hit anything). Typically the bigger the
gun the harder to hit anything.
Given that a character is trained in its use, the real max would
probably be 50 feet or so. Probably less. Short barrels really do not
help.
This all sums up to use the weapons you are simulating.
Marc Hernandez
Hmm.. I didn't not quite understand what you mean (well.. bad english)..
> > The combat-system works about so that we someone gets shot (or hit)
> > there isn't any hit-points but the target get a wound somewhere.
> >
> > Now, the problem I have is that how should I represent the positions of
> > people within one room.
> > Or would it be a better idea to allow to shoot from one to another room
> > that are connected (how) ?
>
> I'd do both.
well.. I think i will..
> > Messages like "Mystran [5,3] jumps up and down" are kind of confusing,
> > especially for newbies.
>
> Do you need to know their exact position? Couldn't you just work out
> the distance and display something like "Thirty feet to your left, Mystran
> pulls out a pistol and points it at you"?
That is a good idea.. well.. then some "goto Mystran" or something to
walk to
someone ?
Sounds good. Even could do that with emotes..
"Thirty feet to your left, Mystran jumps up and down" :)
Or would it result in too much text ? hmm.. (maybe some color coding..)
--
- Mystran the Dark-Elf, Mage from Higher Realms of Mind
God of Destiny, writer of the Songs of the Ancients.
Hmm.. I forgot to tell I think that the this is NOT going to be
very combat intensive game.. characters only live once and to bullets
most likely kill one. Maybe "TraumaTeam(tm)" or something can bring you
back from dead but I will cost (f***ing lot) and somebody have to alert
them..
> > > Now, the problem I have is that how should I represent the positions of
> > > people within one room.
> >
> > What you can do (I am trying to build it) is giving each room a size. When
> > combat commences you recreate a matrix,
> > based on either the roomsize or the highest ranged weapon. (positions
> > depends on the tactic skills in the following categories :
> > melee,ranged,mounted,aerial and naval). In addition you can use a speed
> stat
> > to calculate to movement within this new matrix.
> >
> > > Or would it be a better idea to allow to shoot from one to another room
> > > that are connected (how) ?
> >
> > If the range of a weapon is greater than the size of the room it is
> possible
> > to fire at adjecent rooms or further.
> I think that may be too complex. Well, depending on how you see this.
> LoS in most games is recogised as some where between 180 and 90 degree
> frontward arc (from center of character). so, if you've designed the MUD
> with a specific NESW (cumpas) berrings, you should be able to figure out who
> a character can see.
As politics and trade are intended to be have the main role in this game
I don't think it is worth of the work (and players effor to control) to
have
any LOS or similar systems.. I think you see everyone in the room and
is you want everyone in adjecent room as far as the way (f.ex. door) is
open..
one possibility is that rooms can have windows throught which you can
look and
but not walk.. maybe even jump if not too high.. (or well.. i won't mind
if some
of my players jumped from the 134th floor to the street :)
> As for weapon range, how big are you designating rooms? or is it
> varriable. the typical hand gun has an effective range of say 250' which is
> what, the loby of a corprate office, (or bill gates' garage :-) ). But, if
> you want to try and simplify this, you could say that a hand gun (running
> under the idea that we are talking about modern firearms) can only hit
> anybody in the room. More powerful weapons could be able to hit in say the
> next 3 adjacent rooms (can you hear your CPU screaming?) and even more
> powerful weapons could hit further.
I really had not thought about the ranges of the weapons.
As you most likely need a licence to carry a gun (or buy it with awful
price
from black market), most guns will be pistols and submachinenguns..
shotguns going to be one of the heavies weapons I think..
Thanks for the information 'bout typical ranges (YES I HAVE READ Marc
Hernandez's
comment on this and I believe it is even closer to the truth..)..
I am no weapon expert. I believe that one can shoot within the room and
to adjecent
rooms (as I stated above)..
> HtH is bound to happen in this situation, but the attacker would have to
> first make it into the same room, then the defender would have say 2 or 3
> free shots at the attacker as he runs at the guy with the gun (why he's not
> running away, I'll never know). this free shot situation could possibly be
> avoided by covering fire from others in the attacking group (provided that
> this Mud supports travelling in a group).
>
> Telling someone how to visualise this? Hey, I helped with some of it.
Richard Woolcock gave me a good idea for that.. (even supports RP)..
This sounds interesting. I have always liked perm-death muds.
>As politics and trade are intended to be have the main role in this game
>I don't think it is worth of the work (and players effor to control) to
>have
>any LOS or similar systems.. I think you see everyone in the room and
>is you want everyone in adjecent room as far as the way (f.ex. door) is
>open..
This is good, and fairly easy to accomplish in code.
>one possibility is that rooms can have windows throught which you can
>look and
>but not walk.. maybe even jump if not too high.. (or well.. i won't mind
>if some
>of my players jumped from the 134th floor to the street :)
This is an interesting concept. I had almost finished coding in windows and
might now add the ability to jump out of them :)
>I really had not thought about the ranges of the weapons.
>As you most likely need a licence to carry a gun (or buy it with awful
>price from black market), most guns will be pistols and submachinenguns..
>shotguns going to be one of the heavies weapons I think..
A pet peeve of mine... Black market weapons are rarely more expensive than
legal counterparts. For instance, I can go buy a beretta pistol for around
$400 legally, but I could find the same pistol on the street for
considerably less, probably $150 to $200. The illegal weapon seller is not
bothered by manufacturing costs, overhead, and often didn't pay any money
for the weapon to begin with, or payed very little (as in a fence).
It sounds like you are heading in the right direction though, as the ideas
sound like they would make a good, "gritty" mud.
Sterling @ Wyld Knight
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Wyld Knight - wyld.qx.net 3333
http://wyld.qx.net/~rezo
re...@lords.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > > Messages like "Mystran [5,3] jumps up and down" are kind of confusing,
> > > especially for newbies.
> >
> > Do you need to know their exact position? Couldn't you just work out
> > the distance and display something like "Thirty feet to your left,
Mystran
> > pulls out a pistol and points it at you"?
>
> That is a good idea.. well.. then some "goto Mystran" or something to
> walk to
> someone ?
> Sounds good. Even could do that with emotes..
> "Thirty feet to your left, Mystran jumps up and down" :)
> Or would it result in too much text ? hmm.. (maybe some color coding..)
>
I've thought about this a lot myself, but to me it just seems to cause
conflict.
It's as if you are having rooms within rooms, why not just go to a purely
hex/grid
based system? You could set rooms up to drop a description of the general
area, or even add some kind of radius-effect to do that automatically when
someone enters the new area (or old-style "room"). This way you wouldn't
be limited to only having vision within the one "room" you are located in,
which somehow has magic walls blocking all vision outside of its almost
holo-deck nature (hey, you want an RP-mud right?).
The main problem I've had with the grid system is deciding whether or not
to allow multiple people per room, and defining the amount of space one
room or grid-spot should take up, etc.
In all my of thinking, I have concluded that realism is bullshit. You must
make
the compromise somewhere, so the best thing to look for is gameplay. If
you have guns and are somewhat a modern mud (I didn't read the whole
thread) I would just stick with a basic grid-like system that allows one
person per room.
Otherwise, if I were not to stick with a grid-like system and still wished
for
guns and range-attacks, I would only allow players to "fire" within a single
room and give them different defense variables based on skills, armor,
personal settings, etc. Otherwise if you allow room-to-room range attacks
you are still looking at a grid system, and having a grid system inside of
a grid system, is, well, silly.
borlak
Because of the number of grid cells required to map both a fine scale
(such as rooms within a house) and large areas (such as a continent).
> You could set rooms up to drop a description of the general
> area, or even add some kind of radius-effect to do that automatically when
> someone enters the new area (or old-style "room").
radius effects are pretty cool but suppose you have a large grid map
with radius effects coming from about 1000 locations and varying the size
of the radius. Calculating any point on the map requires checking all
1000 locations to see if their radius effect overlaps the point in question
(unless you can think of a way to store the radius effects such that the
nearby ones are checked first). Think further that many MUDs have 10000
rooms (of which maybe 10% are visited) and then think of checking a bullet
trajectory for obstacles, you may need to test 10 or so points for each
shot.
> This way you wouldn't
> be limited to only having vision within the one "room" you are located in,
> which somehow has magic walls blocking all vision outside of its almost
> holo-deck nature (hey, you want an RP-mud right?).
> The main problem I've had with the grid system is deciding whether or not
> to allow multiple people per room, and defining the amount of space one
> room or grid-spot should take up, etc.
> In all my of thinking, I have concluded that realism is bullshit. You must
> make
> the compromise somewhere, so the best thing to look for is gameplay. If
> you have guns and are somewhat a modern mud (I didn't read the whole
> thread) I would just stick with a basic grid-like system that allows one
> person per room.
This can still be made realistic, the problem is storing the grid and scanning
a region of that grid. For example, how to check the propagation of sound?
What about spell effects? etc.
> Otherwise, if I were not to stick with a grid-like system and still wished
> for
> guns and range-attacks, I would only allow players to "fire" within a single
> room and give them different defense variables based on skills, armor,
> personal settings, etc.
If you do this then a gun becomes just a long dagger or a bigger club.
Visualise a situation where a guy in street clothes has a pistol and is
fighting some underworld creature with venomous fangs and claws. Range and
available cover are going to have a big effect on the outcome. With a lot of
obstacles strewn around, the creature is going to have an easy time slithering
up close for a shredding session and the pistol won't be much use. In a wide
open arena, the man is going to get several good hits in before he is even
threatened.
> Otherwise if you allow room-to-room range attacks
> you are still looking at a grid system, and having a grid system inside of
> a grid system, is, well, silly.
Not totally because the local grid can be virtual and only needs storage space
when someone is in combat, in the room. The larger grid is always stored but
does not require as many locations -- messy but efficient. Also sounds can
ignore the local grid and effect the whole room equally which saves a lot of
computation.
- Tel
> If you do this then a gun becomes just a long dagger or a bigger club.
> Visualise a situation where a guy in street clothes has a pistol and is
> fighting some underworld creature with venomous fangs and claws. Range and
> available cover are going to have a big effect on the outcome. With a lot of
> obstacles strewn around, the creature is going to have an easy time slithering
> up close for a shredding session and the pistol won't be much use. In a wide
> open arena, the man is going to get several good hits in before he is even
> threatened.
That is why I ever posted my article :)
Anyway, any ideas how to enable people to sneak behind obstacles ?
It is a must for my game. (a modern city, maybe a bit of cyberpunk)
> > Otherwise if you allow room-to-room range attacks
> > you are still looking at a grid system, and having a grid system inside of
> > a grid system, is, well, silly.
>
> Not totally because the local grid can be virtual and only needs storage space
> when someone is in combat, in the room. The larger grid is always stored but
> does not require as many locations -- messy but efficient. Also sounds can
> ignore the local grid and effect the whole room equally which saves a lot of
> computation.
I thought something like that. I still have the problem of representing
this
to players (so that someone will understand it).
Telford <tel...@iggy.triode.net.au> wrote in message
news:7lpejc$t7q$1...@hyperion.triode.net.au...
> Because of the number of grid cells required to map both a fine scale
> (such as rooms within a house) and large areas (such as a continent).
What?
> radius effects are pretty cool but suppose you have a large grid map
> with radius effects coming from about 1000 locations and varying the size
> of the radius. Calculating any point on the map requires checking all
> 1000 locations to see if their radius effect overlaps the point in
question
> (unless you can think of a way to store the radius effects such that the
> nearby ones are checked first). Think further that many MUDs have 10000
> rooms (of which maybe 10% are visited) and then think of checking a bullet
> trajectory for obstacles, you may need to test 10 or so points for each
> shot.
What? Say you have a radius effect to work for a 5 room radius beginning
at point (5,5). You are the player, the mud keeps track of your location,
once
you move to the perimeter, say (0,0), you only check the room you are moving
too, and if it has a radius-description-effect set, it sends it to you.
That is
not hard at all and is does nothing to the processor.
Are you even a programmer? It doesn't sound like it, I wouldn't respond
unless
you knew what you were talking about. I have myself developed a grid system
like this and even put ascii graphics to it (so you see yourself and others
move around on the map), and could show you if you wanted.
> This can still be made realistic, the problem is storing the grid and
scanning
> a region of that grid. For example, how to check the propagation of sound?
> What about spell effects? etc.
This is all EASILY done. Maybe you didn't know where I was coming from in
my original post.
> If you do this then a gun becomes just a long dagger or a bigger club.
> Visualise a situation where a guy in street clothes has a pistol and is
> fighting some underworld creature with venomous fangs and claws. Range and
> available cover are going to have a big effect on the outcome. With a lot
of
> obstacles strewn around, the creature is going to have an easy time
slithering
> up close for a shredding session and the pistol won't be much use. In a
wide
> open arena, the man is going to get several good hits in before he is even
> threatened.
No no no. Read my above paragraph, I said "realism is bullshit". And the
more you game, the more you realise that. What matters in games is more
gameplay than realism. That is where the defensive stats come into play.
We are talking about a fireweapon mud, so you would have skills in firing
weapons, dodging weapons, hiding/taking cover, maybe different armors,
which would all affect gameplay and make it look good and "realistic".
The idea is not to make it realistic but SEEM realistic, that is the first
goal
of any game programmer. If you include swords and use the standard
single-room idea, there are other stats to look at when calculating hits or
misses. Who cares if the guy has a gun and "might be" 20 feet away from
you? Players don't need to know how it's implemented, as long as it feels
good to them and they believe they are getting a good end of the bargain
(it's fair).
So lets talk realism. I have gun, I shoot, you're dead. Start over. You
were
perm-killed, sorry. Players love that kind of stuff dont they? There are
always compromises to be made and that is what I am talking about.
> > Otherwise if you allow room-to-room range attacks
> > you are still looking at a grid system, and having a grid system inside
of
> > a grid system, is, well, silly.
>
> Not totally because the local grid can be virtual and only needs storage
space
> when someone is in combat, in the room. The larger grid is always stored
but
> does not require as many locations -- messy but efficient. Also sounds can
> ignore the local grid and effect the whole room equally which saves a lot
of
> computation.
>
> - Tel
>
Computation, why are people so ignorant today. You can run any stock diku
mud on a dx2-66mhz system with 12meg ram and have no lag, did you know that?
You think adding a simple "large grid" would do anything? Do you know that
even if you were to go through an entire 1000x1000 grid every second and
check if "sounds" were being made by combat and then go through the entire
char list to see if a character is within one of these sounds that were
being made,
you wouldn't even make a pentium flinch? Now granted this is completey the
WRONG way to do it, it's just an example.
borlak
If you were to create the grid-system I was talking about, using a
two-dimensional array *cough*, this would be easy. Each room
has its own type. Some are walls, some are forest, some are
gravel, etc. Each room would also contain a list of objects and
characters. You could also add elevation if you wanted. To see
another player, you have to figure out line-of-sight. That is, for
me to see you, there should be nothing blocking our way. So
one way to sneak would be to hide behind walls/buildings.
To make it to where you could sneak behind or around obstacles
requires a little more, considering you want to be able to move
through the rooms that have obstacles. What I would do is add
a hide variable to the characters, and for how much a room is
"obstructed" their hide variable increases. Also for a sneaky
type class or a character with a sneak skill, once invoking this
skill they might move slower but be hidden more in these more
obstructed rooms.
borlak
So you have a grid (an array) representing room types in addition to
the standard hash-table system of rooms. The grid is used to determine
the room type, description, stats, etc. The players are stored within
the old-style rooms. Correct?
> Telford <tel...@iggy.triode.net.au> wrote in message
> news:7lpejc$t7q$1...@hyperion.triode.net.au..
>
> > Because of the number of grid cells required to map both a fine scale
> > (such as rooms within a house) and large areas (such as a continent).
>
> What?
You described a system whereby each player takes up one room. Let's
assume each player takes up an area of 3x3 feet - that means that a
12x12 foot bedroom in a house would take up 16 rooms. An entire house
would take up hundreds of rooms. A city would take up millions of
rooms.
> > radius effects are pretty cool but suppose you have a large grid map
> > with radius effects coming from about 1000 locations and varying the size
> > of the radius. Calculating any point on the map requires checking all
> > 1000 locations to see if their radius effect overlaps the point in
> > question (unless you can think of a way to store the radius effects such
> > that the nearby ones are checked first). Think further that many MUDs
> > have 10000 rooms (of which maybe 10% are visited) and then think of
> > checking a bullet trajectory for obstacles, you may need to test 10 or
> > so points for each shot.
>
> What? Say you have a radius effect to work for a 5 room radius beginning
> at point (5,5). You are the player, the mud keeps track of your location,
> once you move to the perimeter, say (0,0), you only check the room you are
> moving too, and if it has a radius-description-effect set, it sends it to
> you. That is not hard at all and is does nothing to the processor.
Nor does it solve the problem.
I shoot my gun. Everyone within 5 'rooms' radius can hear it. There are
two ways to find out if people can hear it - the first is to go through
the list of all the characters, calculate the distance between me and them,
then display them the appropriate message. The second method is to spiral
outwards from the room I am in until I reach the maximum range, displaying
the appropriate message whenever I hit a room with someone in it. With
lots of characters in the game, the first method would be cpu intensive.
With the second method, long range messages would be cpu intensive. They
would be fine for one-off's, but if you're going to use it for all sounds
(talking, footsteps, etc) then it will quite possible impact the mud.
Of course the above only caters for sound - you'd also have to scan the
surrounding area every time you looked to see who was there, and every
time you moved (so that other people could see you walking around).
Firearms would require calculating a line between your location and that
of your opponent, then checking all the rooms in-between to see if your
shot was intercepted. Weapons with (roughly) cone-shaped attacks (such
as flamethrowers) would require even more complex calculations.
> Are you even a programmer? It doesn't sound like it, I wouldn't respond
> unless you knew what you were talking about. I have myself developed a
> grid system like this and even put ascii graphics to it (so you see
> yourself and others move around on the map), and could show you if you
> wanted.
Simple enough to implement, but does it automatically update whenever
someone else moves? Does it use line-of-sight to work out what people
can see? Does it calculate distances for sounds and projectile weapons?
> > This can still be made realistic, the problem is storing the grid
> > and scanning a region of that grid. For example, how to check the
> > propagation of sound? What about spell effects? etc.
>
> This is all EASILY done. Maybe you didn't know where I was coming from in
> my original post.
Yes, it is easily done if you don't mind your mud hogging the machine
resources. Let's suppose my character shouts something, and can potentially
be heard up to 1500 feet away. That's 500 rooms in radius - over 0.785
million rooms in total that have to be checked. Alternatively, let's scan
through all 10 thousand mobs and players, calculate a direct line between
them and myself, checking for anything which might muffle the sound somewhat.
Now apply the same code to any action which results in sound or movement,
and tell me that it won't impact your machine.
[snip]
> Computation, why are people so ignorant today.
I often wonder.
[snip rest of rant]
KaVir.
> Are you even a programmer? It doesn't sound like it, I wouldn't respond
> unless
> you knew what you were talking about. I have myself developed a grid system
> like this and even put ascii graphics to it (so you see yourself and others
> move around on the map), and could show you if you wanted.
I want to see it in action (and in sources if possible).
Something like Nethack ?
> So lets talk realism. I have gun, I shoot, you're dead. Start over. You
> were
> perm-killed, sorry. Players love that kind of stuff dont they? There are
> always compromises to be made and that is what I am talking about.
Well I am the one that originally asked for help.
I just want to remind you that in the game for which I plan to use
the ideas I have got from here, the realism's going to be JUST like
above.
I even have a dozen of players waiting for me to get it running...
and I have not even advertised :|
I think there are enough players for realistic RP-mud too...
> Computation, why are people so ignorant today. You can run any stock diku
> mud on a dx2-66mhz system with 12meg ram and have no lag, did you know that?
> You think adding a simple "large grid" would do anything? Do you know that
> even if you were to go through an entire 1000x1000 grid every second and
> check if "sounds" were being made by combat and then go through the entire
> char list to see if a character is within one of these sounds that were
> being made,
> you wouldn't even make a pentium flinch? Now granted this is completey the
> WRONG way to do it, it's just an example.
You can run few diku muds on a dx2/66 system at the same time with no
lag :)
Well to be honest, I'm having a terrible time calculating line of sight
because by the time you have all of the LOS figured out, you might as well
have full graphic rendering too -- most of the work is already done!
What I plan on doing is get the large scale LOS (i.e. hide behind a whole
building) and then have a terrain modifier that just puts a blanket
penalty on missile weapons depending on available cover. At least that
forces the players to give some strategic consideration to when and where
they start a fight.
> > > Otherwise if you allow room-to-room range attacks
> > > you are still looking at a grid system, and having a grid system inside of
> > > a grid system, is, well, silly.
> >
> > Not totally because the local grid can be virtual and only needs storage space
> > when someone is in combat, in the room. The larger grid is always stored but
> > does not require as many locations -- messy but efficient. Also sounds can
> > ignore the local grid and effect the whole room equally which saves a lot of
> > computation.
> I thought something like that. I still have the problem of representing
> this
> to players (so that someone will understand it).
Ideally, the players see it as a large grid of fine scale. The fact that there
is really no such grid should be no problem because it is all internal.
OK, that's the ideal, any given implementation will probably have holes
at or near the boundaries.
- Tel
I was once building a similar mud, an lpmud with the simple traditional
style rooms. My original design was:
- all reasonable sized objects had an integer "cover" attribute (or
fudged using an encumberance/size values).
- you could hide behind any object, and it's cover value (among others)
was used to determine the likeliness of someone being able to see you.
- the layout of the objects was not defined. You were hidden equally
well from anyone in the room, regardless if they were unhidden or
hidden, unless you were both hidding behind the same object.
- By default, you could only what was in your current room, but you
could "look <direction>" and see what was in the next room. Projectile
weapons could be used between rooms.
- Interestingly, you had to manually fire projectile weapons every
round. The round wasn't fast so only the most severe lag gave you a
disadvantage. I implemented this part of it and we had some fantastic
shoot-outs.
I remember seeing this movie at the time (1993)... I think it was
called Nemesis. Set in the future, you could cybnetically replace just
about any part of your body. In the gunfights people would stand about
8 feet apart and blast the crap out of each other with every kind of
weapon imaginable. Exactly what I imagined the mud to be like. :)
Anyway, it was a simple design easily tacked onto the basic room
system. Even now if I were doing this on a simple room based mud, I'd
handle the hidding part pretty much the same, with the exception of
grouping things into containment heirarchies. Ie, the room description
might be:
Hamburger/Takeaway joint:
serving counter, refridgerator, and deep fryer
alluminium chair
overturned table, and 3 alluminium chairs
table
So you get things lumped together without having to worry about
locations. You'd be less exposed when moving between sibling objects
than groups of objects. Perhaps you could loosely base the layout of
the room on the order of the object list. That is, the counter and
second table are the furthest apart objects in the room. To get from
one object in the list to the other, you'd have to traverse all the
objects in between, or just break your cover and walk directly to it.
That'd allow you to put more or less distance between your opponent.
Such simple stuff... why hasn't anyone done anything like this? Or
rather, opened it to the public? :)
Paul
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
<snipped>
>What? Say you have a radius effect to work for a 5 room radius beginning
>at point (5,5). You are the player, the mud keeps track of your location,
>once
>you move to the perimeter, say (0,0), you only check the room you are moving
>too, and if it has a radius-description-effect set, it sends it to you.
>That is
>not hard at all and is does nothing to the processor.
>Are you even a programmer? It doesn't sound like it, I wouldn't respond
Well, given that he has recently been plugging his code here, he might be,
perhaps you should download a few then question his programming ability.
Why do you only check the room you are moving to, doesn't it matter what is
between them (a wall/river/dimensional rift/etc)?
<snipped>
>Computation, why are people so ignorant today. You can run any stock diku
>mud on a dx2-66mhz system with 12meg ram and have no lag, did you know that?
Hahahaha. No lag is a myth. All sorts of things can cause a mud to pause,
hostname lookups, file accessing, outside processes, dumb immortal forcing
all to drop all, etc.
>You think adding a simple "large grid" would do anything? Do you know that
>even if you were to go through an entire 1000x1000 grid every second and
>check if "sounds" were being made by combat and then go through the entire
>char list to see if a character is within one of these sounds that were
>being made,
>you wouldn't even make a pentium flinch? Now granted this is completey the
>WRONG way to do it, it's just an example.
Hmm, each square is 1m x 1m [yes, this example is in metric, get over it ;)],
so your grid covers a square kilometre with 1 million squares. Let's try
three dimensions with a cubic kilometre, thats 1 billion squares. A small
island of 100x100 kilometres modelled to a height of 100m is
1,000,000,000,000 squares. Is your pentium getting squimish yet?
Let's be kind and model rooms that are 10m x 10m x 10m. Now we are down to
1,000,000,000 rooms, a mere billion...
Propagation is rarely linear. If person A shoots person B in an open field
(well, in the head actually), sound radiates from that "room". Person C
however is in woodlands which reduce the distance sound travels, so whilst
the sound may travel 5 "rooms" across the field, when it strikes the woodlands
2 "rooms" out it will only travel another 1 room in that direction. Same goes
for the person who lets off their gas bomb which covers 1000 cubic metres, it
wont just fill the ten surrounding rooms, as some may have walls/ceilings...
--
|\ _,,,---,,_
I see your pentium, raise you a ZZZzzzz /,`.-'`' -. ;-;;,_
four processor Sparc, and you'll |,4- ) )-,_..;\ ( `'-'
still _choke_. '---''(_/--' `-'\_)
I have been thinking of using a "size" number for each object.
Something like this could be used to derive a "cover" number
(basically a difference). It is hard for a big person to hide
behind a small object. I can see where a "cover" attribute
would also be helpful. A bush, for instance, might be large
but not provide cover commensurate with it's size. Then there
is also the issue of hard vs. soft cover, and visibility.
Certainly, bullet proof glass provides good hard cover, but
you can still be seen through it.
Mystran, are you locked into a code base, or are you free to
make radical alterations to how data is represented? The idea
of grids of uniform sized rooms seems very limiting to me. I
am not sure "rooms" are the right way to represent space
outside of rooms (and local grids within rooms seems like a
good idea).
--djk, keeper of arcane lore & trivial fluff
Home: David95037 at aol dot com
Spam: goto....@welovespam.com
Well, I plan to write all the code myself.. I have not started yet.
I think it is better idea to first know what there is to come and
then start building the engine. That is, I can do what ever I want :)
I have during the few last days though, that a "room" would be an are
of about 2 x 2 metres (maybe larger, the actual size does not matter),
and that people would see to "rooms" around their "room".
They would be told were are they, who are with them and
f. ex. that "Mystran and a man are standing on an alley to the east."
So if you were hiding behind a crate, that would be another "room" from
where you can see rest of the actual hall, but others in the hall
possibly
cannot see you, and you would get cover when shooting.
As I plan to have combat system where one bullet can be lethal
(perm-death),
having good covers will be necessary..
As this is RPG (and ingame-limited-PK, that is, if you have an ingame
reason
to kill someone, only limit is how you can handle the police forces
running after
you (which I intend to be mostly player characters) as in real life (?))
and it is NOT going to have much combat (surprise)..