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
In <199703040508.FAA81286@out2.ibm.net>, on 03/03/97
at 12:13 PM, alexo@europa.com (Alex Oren) said:
>I know that C&C, Spoofs, Watchers, Affects/affects, etc. have been
>beaten to death in the previous (Wout's) incarnation of this list,
>but some of the later participants might benefit from a concise
>summary.
Is this still true?
>One of the things that were not discussed at length is the issue of
>parsing and handling user input. Could you comment on that too?
<shake head>
The only outstanding one I can remember here is suggesting command
compleation ala:
> get bag
Do you want the:
1 -- Mouldy sack
2 -- Paper bag
3 -- Leather satchel
0 -- Cancel command
>> 3
You take the leather satchel,
I currently do this, with caveats for nested compleations, multiple
character support (multi-playing) and priority interrupts.
>Some of the discussions that (IMHO) were left unfinished were:
>1) The combat system.
>* Limb based combat.
Someone else will have to resurrect this one/ I'm not a big fan.
>* 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.
-- Defenses, where defenses are any of magic, physical, mental, or
defensive attacks.
-- Feints, where a feint can be an illusory attack or defense.
-- Sequences, where a sequence is any ordered set of attacks,
defenses, and feints (including a sequence of one member).
-- 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.
-- Scripts, where a script is a statement of the various sequences and
reactions to attempt during a combat round.
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.
The oproblem here is to define a simple user-friendly scripting
language which is capable of expressing the sequences and reactions
constituting a script.
This also raises the doubt in my mind that my basic approach to combat
is flawed. Most MUDs treat a fight as some sort of special state.
Various commands are no longer available, new ones are added, motion
is commonly curtailed, etc. To an extent the combatants are removed
from the normal run of the game.
This creates verisimilitude problems. Bubba sits high on a cliff with
a sniper's rifle and shoots at some chap a couple miles away on the
plains. Are they *really* in a fight? What if the guy on the plains
climbs into a tank and fires a howitzer back? How about the sniper is
instead a spell caster and the plains hugger is a knight in a tin can?
How about the lurker in ambush who throws a knife? The guy in the
middle of the street who throws a knife? They guy who stabs you in
the back? The pitched battle? The melee? The two tanks sitting on
opposing hills trading shells?
There's a concept of level of engagement here that I'm not sure how to
deal with. It get messier when you realise that many actions are not
fighting actions in themselves, but may effectively act as attacks or
defenses when in a battle.
Consider the hyopothetical battle I posted earlier:
--<cut>--
UggUgg slashes at you with his Sword of Instant Beheading
and minor discomfort!
> cast soakhole on uggugg
You cast the dreaded mana eater soakhole on UggUgg!
UggUgg sneezes and buries your in green snot!
Your armour suddenly dissappears!
Your spell of magical summon protection fails!
Your spell of magical sight fails!
UggUgg's Nose Ring of Killer Snot dissappears!
UggUgg's Belt of Gas Containment dissappears! Phew!
UggUgg's dagger of wart removal dissappears!
> cast create mana
You create 5,000 units of mana!
Your mana stores are now empty.
>cast $my_protections
You are now magically potected from summons.
You can now see all magically hidden objects.
UggUgg thows a blade of painful castration at you!
> jump!
You leap mightily.
The blade misses! You are still a baritone.
> attack uggugg with spear
You ram UggUgg through with the spear of Icy Death!
UggUgg now has the flu and looks a bit watery about the eyes.
UggUgg picks up a rock.
UggUgg bases you with a rock! Ouch! That hurt!
> throw TC at uggugg
You throw the charmed trash collector at UggUgg.
The TC englobes UggUgg!
UggUgg gives you the Sword of Instant Beheading and minor
discomfort.
UggUgg gives you the Boots of Mighty Chilblains,
UggUgg gives you the Goggles of Big Farts.
UggUgg gives you Super Nose Hair Puller.
The TC has eaten everything UggUgg was carrying! Yech!
UggUgg is naked!
Your spell of magical summon protection fails!
Your spell of magical sight fails!
Your spell of magical tummy tuck fails!
Your spell of power voice fails!
Your spell of land control fails!
Your spell of bowel control fails!
Your spell of toe cheese protection fails!
> stat spells
You have no spells.
> stat mana
There is no mana here.
> strangle uggugg
You wrap your hands about UggUgg's neck and begin to squeeze!
UggUgg prays to the Great God GooGoo!
GooGoo mana blesses the area!
There is a LOT of mana here! You skin prickles!
> i
You have a mana shielding sack
> l in sack
There are 5,000,000 TC spores in the sack.
>empty sack on UggUgg
The spores eat all the mana!
There are 5,000,000 TC's here! Wow.
All the mana is gone!
...
--<cut>--
Your giving the charmed TC to UggUgg __acted__ as an attack in the
context of a fight because the TC attempted to eat UggUgg's inventory.
However, normally giving someone a TC, even a charmed TC would not be
an attack. Similarly, UggUgg giving you his magical inventory in an
effort to exhaust your mana stores and cause all your magical objects
to destruct in the context of this fight was an attack. However
giving someone a macgical item or items during a fight is often NOT an
attack. This same sort of dichotomy holds true for the TC spores.
These are not fighting actions any more -- but in the context of a
magical battle where indirect control and manipulation of the the mana
supply is the major weapon, they suddenly turn into fighting actions.
Think you have a rule?
What if Boffo the clown wanders into the fray, DOESN'T join the fight,
but does proceed to do all the same things as above (giving magical
objects etc). He could be trying to help you by giving you a super
magical weapon, or help UggUgg by accellerating your magical
inventory's decay...
Friend or foe? Context driven I'm afraid.
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.
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:
Bubba of the awful farts...
<<Still thinking>>
>2) Namespaces.
>* Allowing players to name one another.
>* Introduction systems.
>* The "familiar face" element and remembering/forgetting names. *
>Naming objects and exits.
I proposed this initially. I still rather like my solution where
there are no global names, there is no WHO command etc. Players can
assign whatever names they wish to whatever they see, be they rocks,
mobiles, other players, or whatever, and those name assignments are
private to that player.
I'll flesh this area out later if anyone is interested.
>3) Skills and skill trees.
Nathan: I like your recent comment on flat trees without
pre-requisites (eg anyone can *try* to fly, it just won't work if you
don't have wings/rocket assist etc) Care to expand?
>4) Rumors.
>* Decaying rumors.
>* "Alerting authorities".
We definitely need to get back into this.
>5) Containers and grouping.
>* Handling different yet similar objects.
>* Groups of people/mobs.
>* "Piles of junk".
>* Referring to specific items/individuals in a group.
Still no real idea how to handle.
>6) Global mob AI.
Ouch. Like it. Don't have an elegant solution yet.
--
J C Lawrence Internet: claw@null.net
(Contractor) Internet: coder@ibm.net
---------------(*) Internet: clawrenc@cup.hp.com
...Honorary Member Clan McFUD -- Teamer's Avenging Monolith... - 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 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 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