<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: Issues from the digests and Wout's list --> <!--X-From-R13: pynjerapNphc.uc.pbz --> <!--X-Date: from babe.globecomm.net [207.51.48.8] by mx4.ibm.net id 861057845.42054-1 Mon Apr 14 22:44:05 1997 --> <!--X-Message-Id: 199704142248.PAA25033#xsvr3,cup.hp.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199703040508.FAA81286#out2,ibm.net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: Issues from the digests and Wout's list</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:clawrenc#cup,hp.com"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00136.html">Previous</a> | <a href="msg00138.html">Next</a> ] Thread: [ <a href="msg00144.html">Previous</a> | <a href="msg00145.html">Next</a> ] Index: [ <A HREF="author.html#00137">Author</A> | <A HREF="#00137">Date</A> | <A HREF="thread.html#00137">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: Issues from the digests and Wout's list</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Re: Issues from the digests and Wout's list</LI> <LI><em>From</em>: <A HREF="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</A></LI> <LI><em>Date</em>: Thu, 10 Apr 97 18:57:45 -0700</LI> <LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> 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... </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00136.html">Threads and Sockets (Was Ho hum)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00138.html">Re: Strings & Memory Usage</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00144.html">Steward</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00145.html">Re: Issues from the digests and Wout's list</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00137"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00137"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>Re: r.g.m.* - worthwhile thread</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00160" HREF="msg00160.html">Re: r.g.m.* - worthwhile thread</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 19 Apr 1997, 01:47 GMT </LI> <LI><strong><A NAME="00163" HREF="msg00163.html">Re: r.g.m.* - worthwhile thread</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Sun 20 Apr 1997, 03:04 GMT </LI> <LI><strong><A NAME="00170" HREF="msg00170.html">Re: r.g.m.* - worthwhile thread</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 21 Apr 1997, 04:04 GMT </LI> </ul> </LI> <LI><strong><A NAME="00144" HREF="msg00144.html">Steward</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 16 Apr 1997, 17:12 GMT <LI><strong><A NAME="00137" HREF="msg00137.html">Re: Issues from the digests and Wout's list</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 15 Apr 1997, 05:44 GMT <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00145" HREF="msg00145.html">Re: Issues from the digests and Wout's list</A></strong>, Shawn Halpenny <a href="mailto:rsh#dos,nortel.com">rsh#dos,nortel.com</a>, Wed 16 Apr 1997, 21:45 GMT </LI> <LI><strong><A NAME="00147" HREF="msg00147.html">Re: Issues from the digests and Wout's list</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Thu 17 Apr 1997, 03:33 GMT </LI> <LI><strong><A NAME="00150" HREF="msg00150.html">Re: Issues from the digests and Wout's list</A></strong>, Shawn Halpenny <a href="mailto:rsh#dos,nortel.com">rsh#dos,nortel.com</a>, Thu 17 Apr 1997, 21:28 GMT </LI> <LI><strong><A NAME="00153" HREF="msg00153.html">Re: Issues from the digests and Wout's list</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Fri 18 Apr 1997, 04:08 GMT </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>