March 1997
- Linear Quadtrees Carter T Shock
- Linear Quadtrees gzhang1234@yahoo.com
- q-tree stuff Chris Gray
- q-tree stuff Carter T Shock
- q-tree stuff coder@ibm.net
- Issues from the digests and Wout's list Alex Oren
- Issues from the digests and Wout's list coder@ibm.net
- Issues from the digests and Wout's list coder@ibm.net
- Issues from the digests and Wout's list coder@ibm.net
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Shawn Halpenny
> :>* Staged combat (scripts).
> :>} > By default chop at Bubba's legs with the shield. But, if Bubba swings
> :>} at my head, buck and stab at him with the sword. If Bubba attacks my
> :>} legs, jump clear while smashing his head with the shield. If Bubba
> :>} attacks my middle or arms, block with the shield and stab his legs with
> :>} the sword.
> :
> :I'd like to ressurect this one. There's a lot of value in there to go
> :yet. My current model for the combat scripts is woefully crude, and
> :not very human readable. My recent moves to de-emphasise physical
> :combat in place of stressing magical and/or mental battles is also not
> :helping. I need something a lot more freeform.
> :
> :Hurm. A combat script needs to be able to express the following:
> :
> :-- Attacks, where blows are any of magic, physical, mental, or
> :aggressive defenses.
>
> How about: an attack is any action which deliberately harms you, from your
> POV. If it was unintentional, but the attacker is of a sort unfamiliar
> enough to you that you didn't realize his electric buzz was a joke and not
> an attempt to fry you, then to you, that was an attack. No matter what the
> attacker intended it as. I can't see these scripts going inactive when not
> "in combat", mainly because combat is an arbitrary description of a state
> in which you and another entity are mutually attempting to cause each
> other damage, in my system.
The attack doesn't even have to be one such that it deliberately harms you.
Intention isn't a factor, since the decision to retaliate will always rest
with the victim (who can code his scripts appropriately: that is, if he's
the jumpy sort, almost everything will cause him to retaliate, whereas
someone more calm would perhaps let an "attacker" get away with more). For
example, if I'm sitting in a tavern, someone across the room chucks an
ale at me and it hits me in the head, I think whether or not I'd consider
it an attack would depend on my personal mood at the moment. In any case,
it's my choice to get up and kill him, or just let it pass. To a point,
though, I suppose that sort of decision cannot truly be automated, since
the number of factors seems (to me) to be substantial. This implies that
the victim has to actively begin his retaliation combat script, rather than
having it kick in automatically (note that the jumpy sort has it easy,
since everything can kick in automatically).
> :-- Defenses, where defenses are any of magic, physical, mental, or
> :defensive attacks.
>
> Why must the script be able to recognize these as a seperate class of
> actions? Or do you mean successful defenses against your own actions, ie.
> failure of the target to display damage after you threw everything you had
> at it?
>
> :-- Feints, where a feint can be an illusory attack or defense.
>
> Again, why does this stand alone? There are too many ambiguities
> associated with breaking non harmful actions into categories..
I understand Nathan's PoV on this one, I think because I'm leaning the same
way: I don't plan to make any distinction between offensive and defensive
actions, short of saying that offensive means damage can be done and
defensive means damage can be prevented. Will the user coding his combat
script care if his defensive action is an illusory attack or just a
straight parry? If there is a different advantage to using one over the
other, then yes, but does the combat engine require a distinction between
the type of defense?
> :-- Sequences, where a sequence is any ordered set of attacks,
> :defenses, and feints (including a sequence of one member).
>
> Do you mean like "charge, dodge, swing, parry, duck, block"? Hmmm.
Can sequences simply be chained-together commands with the odd conditional?
And then extrapolate to chained-together scripts?
> :-- Reactions, where a reaction is a defined sequence to be used in
> :response to a stated sequence or sequence characteristic from a
> :defined or undefined opponent.
>
> OK, this I can see. But why does it require recognizing the actions as
> "defensive", "feint"?
If you build the conditional into the combat scripting, then I'm not sure
you'd need reactions, since anything inside the conditional would be the
reaction to an action that the conditional evaluated to true.
> :-- Scripts, where a script is a statement of the various sequences and
> :reactions to attempt during a combat round.
>
> *nod*
>
> :The design is for every combatant to submit a script (as above) to the
> :controlling Combat Object for the fight for each round (I use round
> :based combats). At the end of the round, the combat object resolves
> :the scripts against each other (eg feedback loops between reactions),
> :and sets the sequences attempted by each combatant. These resolutions
> :are then sent back to the combatants, they do them, the relevant
> :damages are levied (this is all automatic), and the next round starts.
>
> Ack! Round based combat. That explains a lot. *gag* Sorry, but this went
> out the door for me a long time ago. It tends to spoil the momentum of a
> good story sequence, whereas reactive and monoactive events do not. In
> other words, it doesn't flush with the rest of the game.
I'm curious, Nathan, how long your "average" combat...er, session...lasts?
Is it fast-paced (assuming, say, a couple of matched-ability guys knocking
about with swords)? Does each combatant have control over each atomic
attack (i.e. Ugg swings sword at Bubba. Bubba sees this and then has a
slice of time to choose his reaction to Ugg's swing. Etc.), or is it more
automated? I'm not happy with the traditional combat model: I want there
to be more thought and involvement in it, rather than just swinging your
sword, automatically blocking, and casting spells left and right. I just
haven't hit upon a comfortable solution yet.
> :The oproblem here is to define a simple user-friendly scripting
> :language which is capable of expressing the sequences and reactions
> :constituting a script.
>
> That is extremely difficult. I'm still trying to create one of these
> myself. (My reflex system)
Well, is it plausible to simply use the commands that a character already
has available, with the addition of a conditional that would allow checking
to determine what a char's reaction will be? This will definitely become
more involved (and possibly quite messy) with multi-character combat...
> :I'm beginning to think that fights should be handled like any other
> :player interaction. Let each player enter individual commands for
> :each blow which are then handled as if they were exactly the same as
> :every other command. Allow automation of this process via scripts
> :etc, but forget the whole deal of combat objects, rounds, etc. Let
> :the guy pick his nose one command, shoot his neighbor the next, and
> :water his garden the third.
>
> Yup. Now your talking sense. *grin*
I have an affinity for this scheme, but I agonize over it being too slow
to give the "feel" of combat. However, perhaps continuous speed from the
start of the battle to the end isn't a factor: Have any of you seen the
duel at the end of "Rob Roy"? It wasn't a particularly speedy thing (and
that makes sense, I suppose...a claymore is probably a bitch to whirl
around), so perhaps some speed can be sacrificed in the interests of
combat "feel". <shrug>
> :Problem: Fast typists and fast clients have a massive advantage.
> :Solution: All commands need to be paced. Problem: This makes for a
> :laggardly game. Next thing you know you'll be insisting that
> :characters rest and sleep, feed and shit, and wear holes in their
> :longjohns. Whaddya want? Toothbrushes and cavities? Athletes foot?
> :Jock itch? Flatulence? I can see it now:
>
> I do insist that there be a little of that... I have rest and sleep, and
> passing out from blood loss, and recovery time for a serious injury,
> though all of these can be remedied by cybernetics and nanotech,
> purchasable at a later time in the game. But seriously.. the solution is
> make combat fast, not slow. Really, really fast. The guy who gets in the
> first initiative wins, half the time, if he sets it up right. Client isn't
> part of it, nor is the connection, if there is hardly time to think once
> the blows have started to fly.
If things are going so fast and furiously, are people then relying on their
scripts to go through the action-reaction motions for them (since I think
it will be difficult to keep track of a really fast battle if you're
manually typing each action and reaction command)?
--
Shawn Halpenny - Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list coder@ibm.net
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Miroslav Silovic
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Miroslav Silovic
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list Caliban Tiresias Darklock
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Caliban Tiresias Darklock
- Issues from the digests and Wout's list Miroslav Silovic
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Caliban Tiresias Darklock
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Caliban Tiresias Darklock
- Issues from the digests and Wout's list coder@ibm.net
- Issues from the digests and Wout's list Miroslav Silovic
- Issues from the digests and Wout's list Jon A. Lambert
- Issues from the digests and Wout's list Ling
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list Ling
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jon A. Lambert
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list S001GMU@nova.wright.edu
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list Travis Casey
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Jon A. Lambert
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list Ling
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list Orion Henry
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Ling
- Issues from the digests and Wout's list Shawn Halpenny
- Issues from the digests and Wout's list Nathan Yospe
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list Jon A. Lambert
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list Jon A. Lambert
- Issues from the digests and Wout's list clawrenc@cup.hp.com
- Issues from the digests and Wout's list Jeff Kesselman
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list Chris Gray
- Issues from the digests and Wout's list Adam Wiggins
- Issues from the digests and Wout's list Jeff Kesselman
- ListMail dupes coder@ibm.net
- Threads, IO handling, and Event Queues Nathan Yospe
- Threads, IO handling, and Event Queues Chris Gray
- Threads, IO handling, and Event Queues coder@ibm.net
- Threads, IO handling, and Event Queues Carter T Shock
- Threads, IO handling, and Event Queues Nathan Yospe
- Threads, IO handling, and Event Queues claw@null.net
- Threads, IO handling, and Event Queues coder@ibm.net
- mud grammar (was Just a bit of musing) Carter T Shock
- mud grammar (was Just a bit of musing) Nathan Yospe
- mud grammar (was Just a bit of musing) Chris Gray
- mud grammar (was Just a bit of musing) claw@null.net
- mud grammar (was Just a bit of musing) Chris Gray
- mud grammar (was Just a bit of musing) claw@null.net
- mud grammar (was Just a bit of musing) Chris Gray
- mud grammar Carter T Shock
- mud grammar Nathan Yospe
- mud grammar Alex Oren
- mud grammar Nathan Yospe
- mud grammar Adam Wiggins
- mud grammar Chris Gray
- Just a bit of musing (VRML) Dmitri Kondratiev
- Just a bit of musing (VRML) claw@null.net
- Room coding Nathan Yospe
- Room coding Furball
- command parsing Chris Gray
- command parsing Adam Wiggins
- command parsing claw@null.net
- Room coding S001GMU@nova.wright.edu
- Room coding Chris Gray
- Resets and repops Furball
- Resets and repops claw@null.net
- Resets and repops Jon A. Lambert
- Resets and repops claw@null.net
- Resets and repops Nathan Yospe
- Resets and repops Jon A. Lambert
- Resets and repops Nathan Yospe
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops Nathan Yospe
- Resets and repops Adam Wiggins
- Resets and repops Nathan Yospe
- Resets and repops Chris Gray
- Resets and repops Chris Gray
- Resets and repops Adam Wiggins
- Resets and repops Travis Casey
- Resets and repops Chris Gray
- Resets and repops Adam Wiggins
- Resets and repops Shawn Halpenny
- Resets and repops Jeff Kesselman
- Resets and repops Chris Gray
- Resets and repops Nathan Yospe
- Resets and repops Jon A. Lambert
- Resets and repops Nathan Yospe
- Resets and repops claw@null.net
- Resets and repops claw@null.net
- Resets and repops claw@null.net
- Resets and repops claw@null.net
- Resets and repops Nathan Yospe
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops Nathan Yospe
- Resets and repops claw@null.net
- Resets and repops Jon A. Lambert
- Resets and repops Furball
- Resets and repops Chris Gray
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops Chris Gray
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops claw@null.net
- Resets and repops S001GMU@nova.wright.edu
- Resets and repops coder@ibm.net
- Resets and repops S001GMU@nova.wright.edu
- Resets and repops clawrenc@cup.hp.com
- Resets and repops S001GMU@nova.wright.edu
- Resets and repops Chris Gray
- Resets and repops Nathan Yospe
- Resets and repops claw@null.net
- Resets and repops Nathan Yospe
- Resets and repops Adam Wiggins
- Resets and repops Nathan Yospe
- Resets and repops Adam Wiggins
- Resets and repops Nathan Yospe
- Resets and repops Chris Gray
- Resets and repops Nathan Yospe
- Resets and repops Chris Gray
- Resets and repops Adam Wiggins
- Resets and repops Chris Gray
- Resets and repops claw@null.net
- Resets and repops lhulbert@czn.com
- Resets and repops claw@null.net
- Resets and repops Chris Gray
- Resets and repops claw@null.net
- Resets and repops Adam Wiggins
- Resets and repops Chris Gray
- Resets and repops Chris Gray
- Resets and repops claw@null.net
- Resets and repops claw@null.net
- Resets and repops claw@null.net
- mud grammar claw@null.net
- mud grammar Nathan Yospe
- mud grammar claw@null.net
- List software claw@null.net
- List software Nathan Yospe
- List software Chris Gray
- List software claw@null.net
- List software claw@null.net
- I got your message..! MAYA DASWANI
- 3D graphics claw@null.net
- Sorry for the dups (again) coder@ibm.net
- mud grammar Jon A. Lambert
- mud grammar claw@null.net
- mud grammar Nathan Yospe
- mud grammar coder@ibm.net
- mud grammar Nathan Yospe
- mud grammar Chris Gray
- mud grammar claw@null.net
- EVOLUTION response claw@null.net
- EVOLUTION response Jon A. Lambert
- EVOLUTION response claw@null.net
- Garbage Collector Artur 'Revinor' Biesiadowski
- A perspective out of time - the mudreport document Nathan Yospe
- A perspective out of time - the mudreport document claw@null.net
- Old missing posts from old list coder@ibm.net
- Execution Chris Gray
- Mixture Furball
- Resets and repops (a really short post) claw@null.net
- Resets and repops (a really short post) Nathan Yospe
- Resets and repops (a really short post) claw@null.net
- Resets and repops (a really short post) Adam Wiggins
- Resets and repops (a really short post) claw@null.net
- Resets and repops (a really short post) Nathan Yospe
- Resets and repops (a really short post) Nathan Yospe
- Resets and repops (a really short post) <= hah! Chris Gray
- VT100 codes ... Khanone@aol.com
- VT102 codes Adam Wiggins
- VT102 codes Adam Wiggins
- VT102 codes Adam Wiggins
- Dupes coder@ibm.net
- Efficiency Chris Gray
- Event Handling Nathan Yospe
- Event handling Shawn Halpenny
- Event handling Vadim Tkachenko
- Event handling Maddy
- A brief introduction.. ok, you got me: an introduction Greg Munt
- A brief introduction.. ok, you got me: an introduction Adam Wiggins
- A brief introduction.. ok, you got me: an introduction coder@ibm.net
- Greetings. :) Michael Hohensee
- Greetings. :) claw@null.net
- Greetings. :) Nathan Yospe
- Greetings. :) Michael Hohensee
- Greetings. :) coder@ibm.net
- Greetings. :) Nathan Yospe
- Greetings. :) Chris Gray
- Greetings. :) coder@ibm.net
- Greetings. :) Chris Gray
- Greetings. :) Nathan Yospe
- Greetings. :) Jeff Kesselman
- Greetings. :) Chris Gray
- Greetings. :) Greg Munt
- Greetings. :) Jon A. Lambert
- Greetings. :) Nathan Yospe
- Greetings. :) clawrenc@cup.hp.com
- Greetings. :) Furball
- Greetings. :) Chris Gray
- Greetings. :) clawrenc@xsvr1.cup.hp.com
- Greetings. :) Shawn Halpenny
- Greetings. :) Jeff Kesselman
- Greetings. :) Shawn Halpenny
- Greetings. :) Jeff Kesselman
- Greetings. :) Shawn Halpenny
- Greetings. :) Jon A. Lambert
- Greetings. :) Jeff Kesselman
- Greetings. :) Shawn Halpenny
- Greetings. :) Jon A. Lambert
- Greetings. :) clawrenc@cup.hp.com
- Greetings. :) Jeff Kesselman