Thread: AI Idea.
View Single Post
  #11  
Old 04-01-2002, 02:06 AM
Malevolent
Hill Giant
 
Join Date: Mar 2002
Posts: 171
Default

I'm not sure I'm on the same page as you all, so let me describe what I'm working on.

I'm working off the theory that no NPC may have their actions controlled directly, but may be guided indirectly for all circumstances. This has the immediate consequence of a player not being able to control a group of NPCs directly. These I'm defining as half-pets.

Each NPC has needs. Presently, this need consists of hunger. Now, as of today, each NPC is capable of reporting to a personal master based on a certain set of criteria. Level, species, faction, and maybe class too will go in to determine who the master is. Right now, there can be only two options while I debug some things. These two options are (1) you obey yourself or (2) you obey the zone master. For the technical and more aspects of this, refer to the animal instincts thread.

I've also added in the ability to do donations for both food and money. So, when an NPC kills another player (soon) or other NPC, it takes the money that is on the corpse and routes it over to the zone master's bank account. For food, it updates the food status.

The point to donations is to promote the safety of an individual spawn through and like the implied social contract that comes about when ever three or more sapient creatures are near one another. For example, in crushbone I'll spawn five loyal commandos that obey only me. Next, I'll call on #zonefamine and starve the zone. As the orcs and slaves come charging in to beat them down (to eat), I will offer my protection to the commandos. That's for the client. Sometime this week, I'll be changing that to work with NPCs themselves.

Further, I'll be putting in special code that 'upgrades' an NPC's armor, weaponry, and the like once they have achieved so much money. This will, hopefully, cascade down to their group members.

Now combine some of what I've said. You have social contracts emerging dynamically (the way I have it set, it is very difficult to engineer a contract directly, but could be possible) that elevate masters and promote general group safety. Further, if a master is killed the NPCs of that now dead master will search out for a new one. Should the master meet the certain qualifications, they will join the indirect "group". Direct grouping where you have organized mobs moving about doing things based off their own needs is something I'd like to get to, but probably won't be able to touch it until next week.

Example:

In crush bone the elves select one of their own as their leader. They find the need to go strike down some orcs, do so, and they donate food and money. The elven master attains 1000 pp. This permits the elf to buy a new piece of equipment for all his members, including himself. Since the elven master is satisfied with his people, that is, he no longer is hungry (a master has no maximum hunger cap) he will protect them whenever they fall into danger.

Now let's say that not only money is introduce, but also experience (kinda like AC). Thereby allowing NPCs of a 'click' to level. What happens if you let the zone run by itself? It's a kind of interesting thought experiment. Remember, a NPC will only go after something to eat if it is within 5 levels, not of the same faction and same race. In a zone like freeport, there might be many masters. But, in a zone like crushbone, there might only be one. Moving another step down the lane, let's suggest that when an NPC on team A kills an NPC on team B, it takes the 'home location' of the NPC from team A. If the elves are lucky, they might actually take over the castle, and the master, the only person capable of likely fighting dvinn (but the group click could aggro on to him) would take dvinn or crush's spot.

A good question to ask is where the player is in all of this. My hope is that the player is not related whatsoever to any of the above unless they spawn their own army. Then, if they have their own army, the mobs will, until such time as commands like #sackthezone are introduced, slowly take over the zone and donate heavily to the bank account of the client. Since the client doesn't have the luxory of working directly to equip the mobs on a rolling basis, I plan at an even later point to introduce what I call the 'client scribe'. He'll be like a pet, only small and has wings (or maybe a levitating gnome of size 1), and will respond to basic commands such as "#accountbalance", "#sackzone", and the like. Also note that since mobs may replace the 'home location' of killed NPCs, it is then theoretically possible for a player to take control of a city, and have to contend with the issues of running it (just that you'll have to interface with another mob, which I find more interesting).

[edit: small details ]

--MV
Reply With Quote