I do not have time to read articles, books, or even a long-winded Wikipedia entry on Artificial Intelligence. What little I know about it is that true AI does not exist in computer games; it doesn't even exist in chess engines, yet. However, AI is the term I am comfy using, because I'm not part of the inner circle of game design. Let it suffice that I placed the term in quotes to prove I don't expect to discuss true Artificial Intelligence here in my little bl*g. From here on out, I will call it AI simply because I don't know what else to call it. Probably some kind of algorithm. You can correct me later.
So I am still plugging away at MUD design, all by my lonesome self, and I've decided to hop a few pages in the design document to AI. So far, my hypothetical model features these four elements of /mob AI:
Desire
Perception
Deduction
Behavior
That's almost even a logical sequence, but not quite. Desire is plugged in by the creator. A /mob might have Peace and Entertainment with high values in both. Or, a /mob might not even have Peace as a desire but have Sport. That would -- surprise! -- probably be an orc. Sport without Peace means the orc's desire for competition drives all the way into the realm of bloodlust. I'll have to make sure there is a small amount of Companionship desire in there somewhere, so the orcs don't kill each other too much. If we wanted orc rapists for whatever reason I guess they might also get a Sex desire. I think my games will do fine without the gratuitous sex violence, though.
Perception is based on "Awareness Flags" (AFs) which turn on and off depending on the /mob's knowledge of itself and its environment. Basic AFs would include things like Health, Inventory, Location, Local Obj. Some of these may actually cause behavior in the /mob immediately, but most of them will lead to processes called...
Deductions. This is where the /mob must further investigate what he is aware of. If an unrecognized /mob walks into the room, the decuction will be to figure out all the characteristics of that /mob that are important. All of these characteristics are advanced AFs themselves. Does the orc spy a deer? Since a deer is an archetypal /mob, no deduction is necessary, and the orc's AI will immediately activate a flag that says "weak opponent" and "not orc". "not orc" would bring about the deduction "poor companion".
So, the orc would begin to engage some kind of behavior. I wonder what that would be in this case. So far, the idea is that every time a flag changes, that /mob's Desires and AFs are compared on some combination chart that links certain combinations with behavior. Whenever a behavior is found, it happens. Well, it's not quite that simple. There will have to be a logical ordering of behaviors. It wouldn't be good for a goblin to enter a room with both a chest of gold and a helpless merchant and attempt to both open the chest and attack the merchant at the same instant. That would be rather clumsy. Well, not on the goblin's part; he's quite the multi-tasker.
Anyone have any ideas or comments? The things I'm struggling to figure out are: how to handle the fact that each instance of a /mob has separate "knowledge", and what to do with a /mob's flags when the zone that /mob belongs to is unloaded. Obviously a game using this system would have to feature some kind of loading and unloading of /mobs or else things would become over-loaded very fast with all this flag checking and deducing going on.
ID:5592
Nov 19 2005, 6:19 pm
|
|