<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Combat messages --> <!--X-From-R13: Oqnz Ivttvaf <avtugsnyyNhfre1.vasvpnq.pbz> --> <!--X-Date: from fabius.globecomm.net [207.51.48.6] by in2.ibm.net id 868843942.51076-1 Mon Jul 14 01:32:22 1997 CUT --> <!--X-Message-Id: 199707140136.SAA18121#user1,inficad.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: Marcel-1.26-0713130732-345Ky&5#Gryphon,knoware.nl --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Combat messages</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:nightfall#user1,inficad.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="msg00121.html">Previous</a> | <a href="msg00123.html">Next</a> ] Thread: [ <a href="msg00115.html">Previous</a> | <a href="msg00370.html">Next</a> ] Index: [ <A HREF="author.html#00122">Author</A> | <A HREF="#00122">Date</A> | <A HREF="thread.html#00122">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Combat messages</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: [MUD-Dev] Combat messages</LI> <LI><em>From</em>: Adam Wiggins <<A HREF="mailto:nightfall#user1,inficad.com">nightfall#user1,inficad.com</A>></LI> <LI><em>Date</em>: Sun, 13 Jul 1997 18:36:24 -0700 (MST)</LI> <LI><em>Reply-To</em>: <A HREF="mailto:nightfall#inficad,com">nightfall#inficad,com</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> [Marian:] > On Sat 12 Jul, Adam Wiggins wrote: > > > Everything between { and } is what you eventually get on your screen? > > > everything between [ and ] is a command somebody has to give,though I > > > left the actual text of messages out, for clarity. Things between the > > > < and > are difficult as here the game must reformat the messages ge- > > > nerated by the commands to string them together. And in the case of > > > Yup. A few years ago this was a problem just because of processing time; > > now there's no reason you can't implement it. > > You can tell better than I can. What I was trying to ask was. Will it > be possible to look reasonably like english, and will it be pleasant > to read? To string together phrases you usually have to reformate one > or both phrases to make the resulting sentence flow. I don't believe > you should be aiming at anything resembling literature, but to get a > good flowing sentence might be difficult? Sure. I think your confusion is between a system which has some sort of fundamental understanding of english (or whatever language you happen to be using), and something which allows for a lot of varied phrases to be stuck together. This kind of message processing already exists in mosts muds today, and has for a long time. The person who creates the message makes something like this: $n smile$% as $e cocks $s $p. This, with very simple substitutions, can end up being any of the follow messages: You smile as you cock your 9mm pistol. Marian the dark-eyed minotaur smiles as she cocks a strange looking weapon. A dark-eyed minotaur smiles as she cocks something invisible. And so forth. The system doesn't understand or make intelligent use of pronouns or any other language devices; it just substitutes in strings at certain positions. Ie, it reaches the '$e' in the message and checks the gender of the person doing the action. If it's male, it substitutes 'he'; if it's female, 'she'; if it's neither, than 'it'. Now, we can get more complex with things like 'X grins and does Y' or even 'X grins as he does Y'; this requires a less line-oriented message system, but still not too bad. When you get into the realm of what Nathan is describing, you have to drop back to some slightly more descriptive messages (descriptive in terms of the system, not in terms of the wording) which can be interpreted a potentialy infinite number of ways. Thus, instead of just sending a straight text message which says '<object name> collides with <object name> and <verb>s' it actually sends a message to the *system* describing the nature of the event. Each interpreter object (ie, player's bodies) can then decide to display the message any number of ways. Thus you have the charred meat example shown below, or the grenade exploding against the bulkhead becoming a dull thump and vibration from the other side of the wall. There's certainly more than one way to handle this at the implementation level; you could have the wall actually act as a filter for the event, so that the message which reaches the player-interpreter object is just 'dull thump and boom' which is then processed through the player's senses; or you could just ignore the message on every object without an interpreter and then have the interpreter of each player try to figure out how the message will actually reach the player. Also, since you're not sending the messages 'immediately' (meaning you might wait as long as .1 seconds before sending the message) you can concat stuff together. Thus, player recieves an event about Bob grinning; .005 seconds later the player (object) receives an event about Bob cocking his gun. At this point no output has been sent to the screen. Another .005 seconds elapses, the system decides to queue up the messages and send them out. Finding that both 'Bob grins' and 'Bob cocks his gun' have the same actor, it gets stuck together and sent to the user as 'Bob grins and cocks his gun'. > > > Krr*ganfth being hurt makes him scream as well. Also it introduces a > > > Uh, well of course. Maybe I've been out of the mudding community for > > too long, but shouldn't someone getting hurt cause them to react as > > they actually would? *boggle* > > I'm not saying that they shouldn't. Just that the system must do it, and > in the example did. I have not yet seen any game that actually takes it > to that level of reality. *nod*, well, that's what we're here to fix. :) Actually, I have seen several attempts at attempted pain-modeling, but all were very crude. Ie you take 20% or more of your (ick) hit points, and your character drops to the ground, screaming in pain and basically unable to do anything for X number of combat rounds. Of course, trying to tack pain-modeling onto a completely non-health based combat abstraction like hitpoints is pretty pointless to my mind. > again, not the fact that it can't be done, but that, to improve the im- > mersive quality of the combat descriptions it must be done. What nathan > wrote included this, and it's not something I've ever seen done. I can > not tell if it is simple or difficult, that's what you guys are good at > but I wanted to point out that the example implied this type of message Yes, it's difficult, but not as difficult as it looks. Mainly it involves starting your mudbase from scratch and re-thinking basic message-handling and so forth in such a way as to make it possible. Trying to do Nathan's message system on an existing codebase would probably be about as much fun as a dental appointment. In the end you'd probably end up having to rip out all the basic stuff and re-doing it for anything more complex than simple concatination. > I snipped the comments because this was an example of how things work > nowadays. Not how I think they should. The above is what you get if > each action produces its own message and sends it to each player yes? > To get from that to something like Nathan wrote is the real challenge Yes, there's two sides to this. I think you could probably implement 'You grin and cock your rifle' on a standard mud by simply delaying the messages and allowing some filter to shove them together before output. Doing the sensory stuff is a whole other ball of wax. </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00115" HREF="msg00115.html">Re: [MUD-Dev] Combat messages</A></STRONG> <UL><LI><EM>From:</EM> Marian Griffith <gryphon#iaehv,nl></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00121.html">Re: [MUD-Dev] not about pk anymore</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00123.html">What about drugs?</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00115.html">Re: [MUD-Dev] Combat messages</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00370.html">Re: [MUD-Dev] Combat messages</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00122"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00122"><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: [MUD-Dev] not about pk anymore</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00103" HREF="msg00103.html">Re: [MUD-Dev] not about pk anymore</A></strong>, Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Sat 12 Jul 1997, 16:31 GMT <UL> <LI><strong><A NAME="00107" HREF="msg00107.html">Re: [MUD-Dev] natural language parser (Output)</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Sun 13 Jul 1997, 07:19 GMT </LI> <LI><strong><A NAME="00110" HREF="msg00110.html">Combat</A></strong>, Adam Wiggins <a href="mailto:nightfall#user1,inficad.com">nightfall#user1,inficad.com</a>, Sun 13 Jul 1997, 12:53 GMT <UL> <LI><strong><A NAME="00115" HREF="msg00115.html">Re: [MUD-Dev] Combat messages</A></strong>, Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Sun 13 Jul 1997, 19:17 GMT <UL> <LI><strong><A NAME="00122" HREF="msg00122.html">Re: [MUD-Dev] Combat messages</A></strong>, Adam Wiggins <a href="mailto:nightfall#user1,inficad.com">nightfall#user1,inficad.com</a>, Mon 14 Jul 1997, 08:32 GMT </LI> <LI><strong><A NAME="00370" HREF="msg00370.html">Re: [MUD-Dev] Combat messages</A></strong>, Martin Keegan <a href="mailto:martin#cam,sri.com">martin#cam,sri.com</a>, Mon 04 Aug 1997, 16:00 GMT <UL> <LI><strong><A NAME="00378" HREF="msg00378.html">Re: [MUD-Dev] Combat messages</A></strong>, Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Tue 05 Aug 1997, 00:04 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00303" HREF="msg00303.html">Re: [MUD-Dev] Combat</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 31 Jul 1997, 08:12 GMT </LI> </UL> </LI> <LI><strong><A NAME="00117" HREF="msg00117.html">Re: [MUD-Dev] not about pk anymore</A></strong>, Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Sun 13 Jul 1997, 20:21 GMT </LI> </UL> </LI> </ul> </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>