<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] New topic: AI and NPCs --> <!--X-From-R13: Oqnz Ivttvaf <avtugsnyyNhfre2.vasvpnq.pbz> --> <!--X-Date: Sat, 30 Aug 1997 21:37:04 +0000 --> <!--X-Message-Id: 199708302145.OAA10567#user2,inficad.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199708300222.VAA07885@dfw-ix2.ix.netcom.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] New topic: AI and NPCs</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:nightfall#user2,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="msg00862.html">Previous</a> | <a href="msg00864.html">Next</a> ] Thread: [ <a href="msg00852.html">Previous</a> | <a href="msg00997.html">Next</a> ] Index: [ <A HREF="author.html#00863">Author</A> | <A HREF="#00863">Date</A> | <A HREF="thread.html#00863">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] New topic: AI and NPCs</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] New topic: AI and NPCs</LI> <LI><em>From</em>: Adam Wiggins <<A HREF="mailto:nightfall#user2,inficad.com">nightfall#user2,inficad.com</A>></LI> <LI><em>Date</em>: Sat, 30 Aug 1997 14:45:07 -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> [Jon L:] > On 27 Aug 97 at 11:22, Nathan Yospe wrote: > > to match some currently existant PC population, a heartbeat behind. This > > gives NPCs a frightening intelligence. (I'm assuming that, by the time this > > project is finished, I will have figured out how to handle enough > > simultanious users to make this work. Its already distributed, so possibly > > links could be garnered from remote servers as well.) > > This is fascinating. Are you saying that a creature/NPC will lock on > to a currently existing combat in another part of the mud world and > attempt to perform similar actions in it's current combat turn? > This does sound like it could be "frightening". With enough player > base, you could lock on to specific types (NPC mages implementing > other PC mages). Hmmm, while I like the idea, I have a hard time envisioning it actually working. Are you syaing, Nathan, that a random PC (in combat) is chosen, and the NPC mirrors their actions directly? This seems like it would result in creatures fleeing when they are doing just fine, or a barbarian with a 30 lb club trying to fence. I assume there's more to it than this? > I've been thinking of another possibility. A given intelligent NPC > could produce a virtual session log of combats against it. This log > could be immediately parsed into some sort of "computerese" shorthand > an is used to modify a weighted table of that NPCs "archetype" or > prototype. The success or failure of given tactics could be applied > to the weighted table. The table might also figure in the perceived > PC "archetypes" attacking it. e.g. "Hmm, mage in party" "Choose > entry 434 - Take mage out with missile" etc. I know this is a strange thing to mention, but fighting games over the last six years or so (starting around the time of Street Fighter II) have been using this to stunning effect. When the games first enter the arcades, everyone is still learning the games, and the computer is just doing whatever default actions the programmers happened to have tossed in. As the players get better and learn tricks and techniques, the computer begins to duplicate them. It's truly scary - after a while the difficulty level has to be manually turned down because the computer is so damn good. It basically does the ideal move in every possible situation, always timed perfectly - the only possible way to challange it is to be completely unpredictable, which is fairly difficult given the limited number of movements and attacks you can actually make with a given character. Another nice effect of this system is that the game mirrors it's players playing style. Ie, when I used to play Samurai Showdown II at the campus game room, certain characters were absolutely devestating, while others were weaker because few people played them. I'd go play one in the city, though, and completely different characters would be the tough ones, while the ones I was used to kicking ass would be pushovers. Possibly the spookiest thing is seeing the computer start using a technique that you pioneered, especially since it can freqeuntly do it with better timing and accuracy than you can... > I think I'm getting into neural net areas, no? This area is new to > me although I do have some samples around dealing with handwriting > recognition. Nathan, Do you know of some good web/ftp addies that > might lead me to some introductory applications? Like neural nets, yes...I'm not sure of the mechanisms used by the learning systems in those fighting games, but I would imagine it's fairly customized to the game, as opposed to a more general net of weights and nodes. Possibly a very simple list of cause-effects that resolve themselves into chains, ie: When player does move X at range Y and I am in position Z, do: 12%: nothing 35%: jump backwards 8%: defend 24%: uppercut The percentages on the left are weighted by what players do in that same situation. You could also store a second percentage which indicates the success rate of that action. Thus if the machine was set for a high difficulty, it would be more likely to choose a high success-rate maneuver than a low one, and vice versa. The 'chains' of moves occur when a certain move (which can be triggered in more than one place, of course) has a high percentage chance of going to another move immediately. Thus you may have left jab having a 75% chance of leading to right jab, which has a 75% chance of leading to an uppercut. One problem when applying this to a mud is that these fighting games are dealing with a *very* finite set of states. The human controlled Genjuro is identical to the computer-controlled Genjuro, and Genjuro only has probably around a couple hundred distinct moves he can do. The only way to parallel this on a mud, that I can see, is to have a sort of 'are they like me?' evaluation for mobs. Thus the baker won't run out and learn fencing when he sees Cyrano do a few moves in his shop, but he will try to learn his competitor's recipes if they are doing better than he. Or could this lead to mobs changing professions? > ' a loaf of bread please The baker says, 'Sorry, all I have left is what's on the shelves. As soon as I sell this place I'm off to go become a monk.' </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="00852" HREF="msg00852.html">Re: [MUD-Dev] New topic: AI and NPCs</A></STRONG> <UL><LI><EM>From:</EM> "Jon A. Lambert" <jlsysinc#ix,netcom.com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00862.html">Re: [MUD-Dev] MUD Design Fundamentals (Was: Looking for books...)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00864.html">Re: [MUD-Dev] Character evolution</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00852.html">Re: [MUD-Dev] New topic: AI and NPCs</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00997.html">Re: [MUD-Dev] New topic: AI and NPCs</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00863"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00863"><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>New topic: AI and NPCs</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00767" HREF="msg00767.html">New topic: AI and NPCs</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Wed 27 Aug 1997, 16:17 GMT <UL> <LI><strong><A NAME="00773" HREF="msg00773.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Wed 27 Aug 1997, 18:22 GMT <UL> <LI><strong><A NAME="00778" HREF="msg00778.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Wed 27 Aug 1997, 22:28 GMT </LI> <LI><strong><A NAME="00852" HREF="msg00852.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sat 30 Aug 1997, 02:22 GMT <UL> <LI><strong><A NAME="00863" HREF="msg00863.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Adam Wiggins <a href="mailto:nightfall#user2,inficad.com">nightfall#user2,inficad.com</a>, Sat 30 Aug 1997, 21:37 GMT </LI> <LI><strong><A NAME="00997" HREF="msg00997.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 02 Sep 1997, 08:38 GMT <UL> <LI><strong><A NAME="01150" HREF="msg01150.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 08 Sep 1997, 02:26 GMT <UL> <LI><strong><A NAME="01164" HREF="msg01164.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Mon 08 Sep 1997, 18:08 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00802" HREF="msg00802.html">Re: [MUD-Dev] New topic: AI and NPCs</A></strong>, Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Thu 28 Aug 1997, 12:42 GMT </LI> </UL> </LI> </ul> </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>