[MUD-Dev] Better Combat

John Buehler johnbue at msn.com
Mon Aug 2 20:51:03 CEST 2004


David Kennerly writes:
> John Buehler wrote:
>> cruise writes:

>>> So what ways could depth be added to combat?

>> If we start to lose, our characters will run away.

> Did you propose that a player character runs away against its
> player's wishes?

Yes.  I believe that this is one possible next step for multiplayer
games.  Instead of driving a character around and micro-managing its
every action, it is my hope that characters can be more like they
were in the days of Dungeons & Dragons; a player issues high level
commands, and the character executes them as well as it is able,
according to its stats, abilities, equipment, environment, etc.

Within the context of current games, I hard argued vehemently
against other characters controlling my character.  That's because a
hallmark of entertainment in current games is my ability to directly
control my character. To have that removed or blocked is anathema.

In the context that I'm talking about, I'm starting with the
assumption that the player has a different mindset for interacting
with a character.  They herd it more than they drive it.  Because
their control is imprecise, the game is about trying to get the
character to navigate and accomodate the influences that affect it.
It may be that encouraging such a separation between character and
player will encourage socialization - which implies a certain loss
of control.

Roleplayers need not be overly concerned about this because the
herding effect is greatest in cases where realtime reactions are
needed.  But it can be applied to less time-restrictive situations.

>>  Not as single values, but as a set of vectors that the computer
>>  knows about, and that the player can only guess at.

> It may be wise to assume that the player population has perfect
> knowledge of the game state.  Any vector can be represented as a
> sufficiently large single value, albeit not as elegantly.  And, in
> my limited experience with MMPs, there are two cases of variation:
> relations (as in generalizations of functions) and randomness.
> Players, over time and with a level of esprit de corp that would
> make a Communist blush, catalogue relations.  In the other case,
> even when the result is random, players catalogue its
> distribution.

I'm not trying to fake out players by introducing complexity.  I'm
trying to introduce variety for the purpose of entertainment.  I'd
like players to go with their instincts instead of trying to
reverse-engineer the game.  By making any game interaction that
takes place in real time sufficiently complex, it won't matter if
players know the internal workings or not - they'll have to go with
their instincts to deal with the immediate situation.

The experience that I'm drawing on here is that of flight
simulation.  I could hand you the equations that we used to model
vehicles, weapons and the world.  Atmospheric densities, lift and
drag curves, engine performance, the whole nine yards.  But when
you're flying along in real time, having to juggle a
three-dimensional problem that is not linear, all that knowledge
affords you nothing.  You still have to fly your aircraft.  So long
as the context in which your decisions are being made remains fluid,
so will your reactions.  That characteristic of fluidity contributes
to the appeal of PvP.

Which takes us back to the herding tactic.  Imprecise control over a
character impairs a player's ability to micro-manage the character.
Given that knowledge, the game need not be predicated on players
micro-managing characters, running treadmills optimally, etc.

Applying what I'm talking about to a current game would probably be
rather pointless.  Players would be insensed that they could not get
their characters to do exactly what they want so that they could
complete their tasks in minimum time.  The whole goal of this
technique is to encourage players to stay in the encounters instead
of racing through them.  This entire system would be what I call a
'barrier to entertainment' if the bottom line remains an issue of
achieving the highest level.  Players will want their opponents
dead.  My ideas are predicated on the idea that they want the fight
to keep going in new and interesting ways.

I want players to relate stories of what happened in a single
encounter, not talk about how many hours they camped a mob.  The
stories that I've heard and told are invariably the ones where
something unexpected happens, and usually because a player made some
mistake.  Imprecise control by herding a character can aid in making
encounters more involved and unpredictable.

>>  3. Involve the environment.  In a combat system with blunt
>>  weapons, anything that is hard enough can be used as a weapon.
>>  Improvisation becomes an art.  Grab a chair and have at it.
>>  Punch this guy, throw a rock at that guy.  Daylight combat
>>  tactics versus night combat tactics.  Slippery wet grass versus
>>  dry rock.  Falling down on rocks versus falling down on sand.
>>  Dodging and diving on a steep slope versus the same on a flat.

> Assuming this is a persistent game.... :) Once someone has a
> weapon that she likes, why would she then choose to improvise with
> the items that she already turned down in previous play sessions?
> Are items non-persistent?

Items are persistent.  You just dropped your staff.  It just broke.
You're in a narrow corridor and the staff cannot be used there.  You
improvised earlier and used your staff to prop open a door, and the
rest of your group is moving through that doorwy to join you and
help you out with your problem.  Staffs are not permitted in town
because they are recognized as the weapon of a warrior.  Somebody
big grabbed your staff during combat and you let go of it for fear
of being dragged away. Your staff became entangled in the
environment and you were forced to release it, at least temporarily.
It's a brawl and you'd be thrown in jail for using an actual weapon.

Further, we needn't assume that the game is a treadmill grind.  If
many activities are available to me, I may not even pursue combat as
my avocation, but instead concentrate on other activities.  When I
do that, improvisation against an opponent of moderate skill may be
the normal means of getting into a fight.  That is, combat could be
moved to being a sidelight instead of the main entertainment of the
game.  Perhaps political and economic cooperation and competition
are the cornerstone of the game's entertainment.

> From what you said so far, it sounds like the worst-case is more
> fun if it is instanced than if it is public.  In a public
> environment, in the worst-case, there is nothing worth using on
> the ground anywhere, because if there was, it would have already
> been used.

If you are herding a character and your character is behaving
according to the computer's mandates as well as your own, then when
you pick up a bucket to bonk someone over the head, you can't keep
that bucket.  It belongs to someone already.  If you break it, you
have to pay for it.  You are probably annoying the bucket owner by
grabbing it and bonking your opponent.  If the game's faction system
is appropriately sophisticated, the shop owner will either be
doubly-mad at you for hitting his son-in-law or thankful that you
saved him from bandits.  These things are all enforced by the game.
Further, in the wilderness there are lots of sticks and stones that
can be picked up and thrown or used as a cudgel.

>>  4. Multiple opponents.  This requires careful collision
>>  detection to ensure that opponents don't overlap, etc.

> How can careful collision detection be done on the Internet at a
> pace that feels somewhat like combat?  There's several techniques
> for client-side simulation in MMPs and MP FPSs, but is there one
> anywhere in existence that guarantees collision detection on the
> Internet in the US?  In Korea they can play arcade games on the
> Internet, but Korea is wired to the gils and is a tiny landmass.
> But for the rest of the world, we're stuck between the rock
> (reverting the client state) the hard place (inaccurate collision
> detection) and the other rock (an authoritative client).  At least
> until our Internet catches up.

Herding a character is the key.  Clients send directives to the
server to get them implemented.  Such directives cannot be
fine-grained, such as 'move left 1 foot'. They would be directives
such as 'go to the bakery'.  The server then relies on the design of
the player's character to decide how to get to the bakery.

The character might stay on the sidewalks and say hello to people,
or it might trudge right through gardens and scowl at people.  Those
are the sorts of decisions that a player makes about a character
when it is designed, and the server implements them.  Of course,
those decisions will have consequences in the game.  But back to the
design.

As the character is moved by the server, the server ensures that
spatial integrity is retained.  It will not permit any two objects
to intersect.  It knows when two people are going to blindside each
other as they walk around a corner.  They'll bump, but not pass
through each other.

As the server changes the state of the game world, it notifies
interested clients.  This ends up meaning that you get notified of
what your character does at the same time and in the same way that
you are notified of everyone else's character, including the NPCs
and monsters.  The difference is that you are sending directives to
herd your character.

In combat, this means that characters must be able to operate fairly
autonomously because of all the real time reactions that go into
combat.  Ducking, dodging, etc.  This doesn't mean that players lose
control of their characters nor does it mean that all characters
fight in the same way.  It means that players will design the
realtime elements of combat tactics in advance.

One tactic might be "Generally aggressive".  Into that tactic, you
make incapacitation a top priority.  Lower priorities are pushing
the opponent back, knocking it down, disarming it, personal safety,
etc.  Personal safety could be further broken down into a
prioritization of which skills to use in defense.  Block before
duck, duck before dodge, dodge before backing up, etc.

The interactive control that the player provides should happen
perhaps once every two or three seconds.  "Get to there" "Prioritize
this target" "Defend Boffo" as well as changes of tactics.  Instead
of "Generally aggressive", the choice is made to "Hold ground" or
"Berserk", where each of those sets of tactics is defined by the
player.

The server is relying on all of that up-front information to decide
how to have a given character behave in real time.  One nice thing
about all this work that is going into operating player characters
is that the same techniques can be used on NPCs and monsters.

Consider too the possibility of running a game instance in a
metropolitan area, where network delays will tend to be reduced.

>> Or the sky is cloudy, and that mirror distraction trick isn't
>> going to work.

> I missed that.  Could you explain it again?  It sounds
> fascinating.

It's just another factor that goes into interactions.  After-images
from bright lights, including reflected sunlight, magical flashes,
etc., should impair a character's abilities.  A mirror might also be
used to attract the attention of a guard (characters have
perceptions, after all) so that another character might sneak up on
the guard from the opposite direction.  Without a bright light
source, that's difficult to do.

JB
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list