Archived

This topic is now archived and is closed to further replies.

vanevery0

diplomatic AI?

Recommended Posts

Can anyone point me at forums and people where diplomatic AI is discussed? By this, I don''t mean antiseptic Game Theory. I mean what it takes to win freeform alliance games with real human players. Games like Diplomacy, for instance. I''m actually working on a 4X TBS called "Ocean Mars" and hence my interest. There seems to be a dearth of discussion about diplomatic AI. For instance I asked on comp.ai.games and nobody had a clue. 20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
quote:
Original post by InnocuousFox
Hey Ferretman, does this sound like GDC 2002?!

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"


Hey Dave, I thought that guy that wanted to discuss Diplomacy AI was in my roundtable? Was he also in Steve''s?

Brandon: You are right, there is a dearth of discussion on diplomacy AI in the newsgroups and forums. It comes up here every once and a while, so you might try a search on the archieved forums here. When it does come up, I seem to recall there is little discussion of it.

Eric

Share this post


Link to post
Share on other sites
Geta, he was in a number of them... also in Denis Papp''s roundtables as well. Right along with the Brits from Carnegie Melon.

Perhaps I am nieve... I''ve never bothered to look into diplomatic AI or read any material on the subject... but I think it wouldn''t be terribly hard to model. It seems that a multi-facetted fuzzy machine would work using the following scales:

Trustworthiness (from our observations, how much can we trust this player?)
Strategic Value (how useful is this player strategicly?)
Political Value (how well liked and connected is this player?)
Threatening (how powerful is this player militarily?)
Gulibility (from our observations, how much can we get away with?)

Using scales such as those, you can define algorithms to decide whether or not to tell the truth to a player or lie to a player, whether or not we can trust this player, how much we can include him in our schemes, and how much we need to fear retribution from him or his enemies/allies.

Remember, I just pulled this outta my AIss so it''s a little rough.

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
I have a feeling it''s because you shouldn''t be reading programmer''s point of view on this sort of things.
Rather, you should try to find gamers who play those games.
I am quite sure there are sites dedicated to Diplomacy on the Net, possibly there could be a forum on the newsgroups ? This would sound like an ideal place to start digging.

For as long as I have been on those forums, I have rarely seen people actually discuss other types of games than computer games.
In this particular case, board games seem like the first thing you might want to investigate.

hope this helps ?


Sancte Isidore ora pro nobis !

Share this post


Link to post
Share on other sites
Actually, a lot of people on here play board games or other such things. Personally, I played Diplomacy quite often - although that was about 18 years ago!

The bottom line is, however, no matter how much you learn about the ins and outs of the game, the hardest part is designing and representational and decision structure that mimics the way people play the game.

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
Yes I was at GDC 2002 and did an AI roundtable, among many others. I remember discussing hierarchical AI and being disappointed that nobody really had any compelling answers. I was coming at it from a "real militaries break things up hierarchically and actually screw everything up at the boundaries" perspective. One might say all you can do is provide a hierarchical military organization, not a hierarchical "military intelligence." :-)

I''m not focused on board games. I''m focused on Civilization-style games. I just brought up Diplomacy because its diplomatic problems are fairly pure. I''ve actually posted on a Diplomacy programmer''s mailing list http://groups.yahoo.com/group/dipai/ . Actually got 1 reply back so far.

I''d hazard a guess that much like hierarchical AIs, the state of the art in diplomatic AI is: people don''t have a clue, they just wing it. Anyone beg to differ?

More on AI specifics after we see if anyone is goaded into elaborating "the right way to do diplomatic AI" by my unkind words.

Brandon Van Every www.3DProgrammer.com Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
I''m trying to figure out why you would say that people don''t know how to do hierarchical AI. Perhaps you didn''t get a response in a particular roundtable a few years back, but that doesn''t mean that it isn''t done regularly and rather well. If I recall, Eric and I touched on it in a roundtable this past year... the one that I had the audio from (which may still be around here... search this forum for the link to it).

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
Ok, people at the one AI roundtable I went to didn''t have a hierarchical clue, or didn''t care to vocalize it. Or I can''t remember the context of the discussion well enough over a year later to fairly brand it. But I distinictly remember being unimpressed with the level of discussion of the problem. Maybe that''s the luck of the draw. I recall my own interjections being deliberately "politic."

In general, I went to the GDC looking forwards to roundtables, but quickly found that from a technical content standpoint, they''re inferior to mailing lists. I think GDC is best regarded as a big party, not a serious undertaking. Or else I shouldn''t waste time on my strong suits like tech or game design stuff, and should instead go to biz/marketing/legal stuff that I know little about.

The question remains: who has a clue about diplomatic AI?


Brandon Van Every, http://www.3DProgrammer.com, Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
quote:
Original post by vanevery0
The question remains: who has a clue about diplomatic AI?



Before one could answer this question, you need to define what a diplomatic AI would be able to do! Presumably, it''s most prevalent activity would be to negotiate with the other agents in the game to achieve its goals.

Automated negotiation systems are a hot topic in AI and the business world. Nick Jennings at Southampton is doing excellent work in this area and has produced products for British Telecom and other large organisations. You might like to take a look at his work.

Timkin

Share this post


Link to post
Share on other sites
Good point Timkin. I want to negotiate about 4X TBS games. I don''t know how much "negotiation systems" in general impinge upon that, but it''s probably worth considering some of that material.

On the Diplomacy list, we''ve started to discuss how an abstract, simple game might be formulated that describes the general problem. I''m insistent that it must deal with spatial areas and logistics. It is not merely a political problem, it''s also about who''s tactically and strategically the biggest threat. I''ve proposed a square grid with certain amounts of military production per square. Also, the squares are initially unknown to the players. 4X TBS games are generally not games of perfect information.


Brandon Van Every, , Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
I believe I gave a rough cut of the indicators that I would use above. There is obviously much left unsaid there, but much of that would be game design and game balance dependant. I am confused (and somewhat annoyed) that you keep throwing a blanket question out there that has a billion different answers to it - and then imply that no one "has a clue". The bottom line is, with such a high-level concept as "diplomatic AI", you can''t have a cookie cutter problem solver. No matter what the facet, you have to design AI for the specific game space you are working with - not some nebulous concept.

As for the GDC, there is only so much you can do in an hour with 30 people and hoards of different topics. It isn''t meant to be a deep discussion - although we have hit on some interesting stuff in the past few years.

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
Dave, I just gave a game design, so what''s wrong with discussing that one? As for clues, here''s an acid test: can you name some games that have strong diplomatic AIs, and do you have any idea how they were implemented? As for the GDC, if the content is not exceedingly useful, then it is not profitable to spend one''s money to go to such an expensive event.


Brandon Van Every, 3DProgrammer, Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
quote:
Original post by vanevery0
Dave, I just gave a game design, so what''s wrong with discussing that one?

Really? Where? You mean this?
quote:
On the Diplomacy list, we''ve started to discuss how an abstract, simple game might be formulated that describes the general problem. I''m insistent that it must deal with spatial areas and logistics. It is not merely a political problem, it''s also about who''s tactically and strategically the biggest threat. I''ve proposed a square grid with certain amounts of military production per square. Also, the squares are initially unknown to the players. 4X TBS games are generally not games of perfect information.

That''s not a game design, it''s a concept. And I noticed you haven''t TOUCHED the suggestion I gave initially. Did you have any thoughts about those indicators at all? They seem to take into account some of the things you mentioned in your "game design". If you want to discuss, do so... if you want to be pissy and insulting, run along.

quote:
As for the GDC, if the content is not exceedingly useful, then it is not profitable to spend one''s money to go to such an expensive event.

"Usefull", "profitable", and "expensive" are all relative terms. Of course, if you thought that spending $1200 was going to get you volumes of AI specific information, then perhaps your focus was a little narrow.

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
Dave, frankly you are the one getting pissy.

You don''t like the facts I''ve stated about a particular GDC roundtable I attended and seem to be taking it personally. Which may be just as well: it may remind you that a certain level of performance is expected by a fair number of people at the conference. Most roundtables I went to were a waste of time, and that''s a feeling shared by a lot of my peers. Many of them go for lectures, not roundtables. I think a good roundtable probably has a strong central figure driving a preplanned agenda. More like a "lecture with extensive discussion and feedback."

The question still stands: what games can you point to that have strong diplomatic AI, and do you know what techniques they used? If you can''t point to them, and nobody else can, then I think my charge of "general cluelessness" is quite valid. I''m happy to be proven wrong, but I have not seen or heard of such a game.

As for your AI design ideas, sure we''ll get to them. But we haven''t even agreed on a game design yet. First things first. Also I wanted to give other people a chance to respond.


Brandon Van Every, 3DProgrammer, Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.

Share this post


Link to post
Share on other sites
Ok everyone ... a deep breathe, now let it out slowly.

Let''s keep the discussion civil in all respects, or this thread will be closed by the moderator.

As for GDC being worth it. One does not go to GDC for detailed technical information. One goes to it for the networking opportunities it provides (with no other event in the industry coming close). If along the way, one sits in on a great lecture or a great roundtable, or meets the author of an article or paper you are interested in, and the opportunity to discuss it face-to-face occurs, then so much the better. Just try not to think of GDC as being this great technical learning opportunity and no one will ever be disappointed that it is not.

As for "cluelessness" about Diplomacy AI, I believe that may be a bit over-suggestive. Perhaps, it is simply not the problem it appears to be? And hence rarely discussed. Also, I know for myself, there are a number of AI techniques that I use daily in my projects that I never discuss here. Does that mean I am clueless about their usage? No, I don''t think so. So, any hasty labeling of the general readership and participants of this forum as "clueless" is probably inappropriate.

Now, if anyone needs help with a diplomacy AI design, then I suggest that the design requirements be framed in enough specific detail, that others know exactly what is required, and then let the discussion return to something a bit more productive.

Eric

Share this post


Link to post
Share on other sites
Thanks Geta... one of the problems of being 16 hours ahead of many of you is that I''m fast asleep when arguments arise! Well, at least I get something out of them!

Dave, while I generally accept that a Game AI solution (and for that matter, most AI solutions) need to be optimised for the particular domain, I do believe that Diplomacy and games of that ilk do require a very broad approach to the AI. For example, you do need a diplomatic agent that can negotiate not just troop movements on the board, but also aliances and support. In essence, you really want an agent that can negotiate on any topic, so long as it knows the relative value of the resources under its control and can estimate the relative value of other resources available to other agents. This sort of agent is more likely to be successful in this game because it will be broadly adaptive to any scenario. Now, whether this is an easy development task or not is another question (although I do know that it is possible... I spoke to Nick quite extensively about his work several years ago).

If one did not want to approach such games from the negotiation standpoint, then one would have to at least define all of the possible actions that an agent could take and choose the appropriate action(s) at each turn in accordance with its beliefs about maximising some value function over the next state of the game (or some future state). Interactions with other agents would have to be restricted to mere requests for support, or acceptance or rejection of calls for aid, with the latter being determined by the profitability of the proposed action(s).

Timkin

Share this post


Link to post
Share on other sites
In any potential exchange, however, the profitability needs to be weighed against both a trust factor and a risk factor. One could even quantify the risk factor somewhat so that it can be expressed in the same terms as the profitability. Some of the items I proposed above are things that would likely need to be adressed for the trust and risk factors. In the end, however, what sets a diplmatic AI scheme apart from a simple commercial equality algorithm is those very concepts of trust and risk.

Dave Mark - President and Lead Designer
Intrinsic Algorithm -
"Reducing the world to mathematical equations!"

Share this post


Link to post
Share on other sites
Geta said
Just try not to think of GDC as being this great technical learning opportunity and no one will ever be disappointed that it is not.


Geta, I'm tempted to think you're either very well off or don't pay for your own GDC expenses. I think the technical conference should perform. If it doesn't, I think people are getting ripped off. I'm not the only one who feels the conference price is exhorbitant for what you get. If it were much less expensive, it would be much less of an issue.

I'll drop the "clueless" descriptor. The question still remains: what games have strong diplomatic AI? If there are none, then we need to acknowledge the current state of the industry as woeful on this point.

Dave, how do we establish trust? Previous track record? Initially nobody has a track record, so I suppose computer players would have to be very conservative about trusting humans at the beginning. Later on, how do you detect a human who's setting you up to backstab you? An analysis of Temptation would be prudent. Ask every turn, if the ally were to backstab you, how much would they profit from it and how much damage would it do to you?

Consider for the moment if the real world was suddenly mapped into a freeform alliance game. Imagine all the countries the USA could backstab! Why does S. Korea allow a pile of US troops inside it?

Computers, of course, cannot detect the subtle cues of trust like eye dilation, nervous speech, body posture, etc. A number of games have tried to put the humans and computers on a more equal footing, by forcing everyone to communicate through a set of standard orders. Of course, humans can always chat game externally, so this is not foolproof.




Brandon Van Every, 3DProgrammer, Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.


[edited by - vanevery0 on July 29, 2003 2:21:35 AM]

[edited by - vanevery0 on July 29, 2003 2:22:35 AM]

Share this post


Link to post
Share on other sites
vanevery0, InnocuousFox, i love you both

Vanevery0-san, here''s what i''m guessing about you (quite possibly incorrectly) - you want to write a diplomatic game but haven''t really started. You don''t know a thing about game AI, especially diplomatic AI. You want to find someone''s whose done it before to tell you what has worked and what to watch out for. You haven''t found it yet

So here''s my two cents. First, you''re right, you apparently haven''t stumbled over anyone whose written the game you''re thinking of (Civ is the only computer example you''ve given). No one has stepped forward and said "here are the problems that make up diplomatic AI, here''s how i solved them, here''s where i got stuck". So that sucks. If you keep looking you might find that guy

But until then, are you out of luck? i''m gonna say no. There are some smart and knowledgable people on this forum who can probably answer any specific question asked. That, unfortunately, makes you have to do some work. You have to be able to say, very specifically, what problem you need to solve. Which means either starting to code the AI or else designing it all in your head. In short, given that no one else (speaking) has done this before and no one here is really sure what you want, it''s up to you to spend some good quality mental time defining what, specifically, are the many, many subissues and problems in the kind of game you want to write. After which, given one small problem at a time, i think people here can help you

Yeah, i know, not what you wanted to hear. That''s because we don''t have any super fantastic answers to give. But as a plan B, a lot of people here are willing to work with you to get you to your answers. Even if they call you snotty


quote:
Original post by vanevery0
here''s an acid test: can you name some games that have strong diplomatic AIs



Easy - PacMan. He''s a circle that negotiates with dots and "ghosts". The ghosts also negotiate with themselves and use diplomacy to decide who takes which route. It''s all very impressive

If you disagree, well gee, maybe we''re thinking of different definitions of diplomacy. Maybe we should lay down some terms

On a side note, i''ve decided to dedicate a section of my cyber home to collecting game AI problem descriptions along with ratings as to how well each is addressed today. Each problem will have a general statement followed by semi-detailed variations followed by very specific examples. During my work on the IGDA AIISC i noticed that a lot of people don''t have a real clear idea of what kind of AI needs various games have. We spend a lot of our time asking for examples (i''m a strong believer in case studies). So i''m building some. And a description of diplomatic problems (an area i rarely deal with) would be a great thing to add

Captain Vanevery0, any chance you could give me some examples?

i''m rather clueless but here''s what i''d throw out

1. How do i know which nations to team up with?
Sub-questions:
a. Why would i ever want to team up with anyone?
b. What is my long term goal, if any?
c. What is my short term goal, if any?
d. What variables are relevant?
e. Give an example
1. Give example of a specific problem you have seen
human players encounter
2. How did the humans solve it? What was their answer?
2. When do i break an alliance?
3. When given a choice that requires making or breaking a
treaty, how do i respond?
Example - There are 6 teams, power rankings:
A=100, B=100, C=200, D=50, E=150, F=10.
You are team B and have an alliance with E and F.
F is at war with C.
You are approached by C and given a choice to align
with C and battle E and F, pay $500 to become neutral
or stay with E and F.
What info do you need to know to make this decision?
What decision does a normal human make?

That''s about all i can think of

Solutions would probably include something like:
quote:

Trustworthiness (from our observations, how much can we trust this player?)
Strategic Value (how useful is this player strategicly?)
Political Value (how well liked and connected is this player?)
Threatening (how powerful is this player militarily?)
Gulibility (from our observations, how much can we get away with?)



Here''s the big question in my mind - is solving a diplomacy problem really any different than solving any of a hundred other kind of problems? Is there anything about this domain that makes the developer have to approach it significantly differently than he would a target aquisition problem in an FPS or spell selection problem in an RPG or a build tree problem in an RTS? To the human, sure, the games look different, but underneath, is it anything more than a maximum expected utility calculation?

quote:

I''m insistent that it must deal with spatial areas and logistics. It is not merely a political problem, it''s also about who''s tactically and strategically the biggest threat



vanevery0 wants to include map stuff in his calculations. This little quote is far, far, far from a problem statement or example but it does reveal some information that might be useful. It tells us vanevery0 has several quite independent problems he needs to solve:
1. Who do i make a treaty with?
2. How do i determine the biggest tactical threat?
3. How do i determine the biggest strategic threat?
4. How do i use spatial arrangement to determine team strength?
5. How do i use logistics to determine team strength?

These are very different problems and can be solved independent of each other. They also quite likely require different tools and techniques

So how do we answer 1?

i could get into the whole software engineering mantra that code segments should always be short and talk about working memory limitations in humans and how that leads human thought to be made of small calculations on decomposable chunks of information, but the key concept is to write very simple code that calls functions that gradually unfold into details. An example for #1 is

boolean ProcessRequest(Request request, Team requestor) {
//--- Follow TakeTheBest strategy
//--- (defined in "Simple Heuristics That Make Us Smart")
if isMostImportantPerson(requestor) then return TRUE;
if isImportantPerson(requestor) then
return isGoodDecision(request);
if isDetestablePerson(requestor)
return FALSE;
return isGoodDecision(request);
}

Pretty obvious, huh? If you can''t write at least this level of code, we''re in trouble

Next step is to write the function isMostImportantPerson() method. It might look something like

boolean isMostImportantPerson(Team team) {
int topScore = importance(team);
boolean requestorIsMostImportantPerson = true;
//--- Must be stand out to really be the best
//--- Compensates for any near-ties, issues
//--- with our importance calculations and the
//--- fact that humans aren''t all that precise
float fudgeFactor = 0.20;

foreach t in teams {
int score = importance(t);
score = score + (score * fudgeFactor);
if (score > topScore)
requestorIsMostImportantPerson = false;
//--- We could break out of the loop at this point
//--- but humans don''t actually do that according
//--- to psych studies
}

return requestorIsMostImportantPerson;
}

Following so far? OK, now we have to write that importance function. And how do we do that?

int importance(Team team) {
return (tacticalValue(team) * tacticalWeight ) +
(strategicValue(team) * strategicWeight) +
(spatialValue(team) * spatialWeight ) +
(logisticsValue(team) * logisticsWeight);
}

Do other factors count? Add them in

And how do we write things like a function to score a team''s spatial value? Well, how do you do it as a human. Meditate upon this my child and gain wisdom. Or, if you don''t want to do that, look at William van der Sterren''s work on terrain reasoning where you use an overlaid grid that stores values on various traits like cover, field of focus, line of sight, kill count, stuff like that. It''s really brilliant. William makes me sick

And so on and so on. You get the idea? It''s all pretty easy when you take it a step at a time. Which leads to the questions a lot of people have which is, where are you getting stuck? Let us know and someone will be with you shortly to help

-baylor

Share this post


Link to post
Share on other sites
quote:
Original post by baylor
[I'm guessing, perhaps incorrectly that] you don't know a thing about game AI, especially diplomatic AI.



I would say I'm reasonably well versed in low level pathfinding and terrain analysis issues. These play to my strengths as a 3D graphics optimization jock, I'm used to doing computations on millions of grid cells. I have a design for my hexified icosahedron game, but I haven't implemented it yet.

High-level, diplomatic AI is not something I've even touched or considered.

quote:

To the human, sure, the games look different, but underneath, is it anything more than a maximum expected utility calculation?


We have to decide how we set the expectations. That's what makes a "diplomatic" problem different from other kinds of problems. Once you've got a pile of weights, sure, crunch 'em to your heart's content. But you must pick the weights in the first place. And they should be something other than random fudge.

For instance, your Trust strategy.

quote:

And how do we write things like a function to score a team's spatial value? Well, how do you do it as a human. Meditate upon this my child and gain wisdom.



Well, whatever the value, if your "ally" breaks trust there are only a few possible outputs:
- your "ally" could crush you like a bug, if they chose
- your "ally" could seriously hurt you
- your "ally" would clash with you
- your "ally" would lose resources to you
- your "ally" would be crushed like a bug by you
- you're really not sure what would happen

Part of the problem would be analyzing the branching paths of changes in Trust. You'd prune whatever seems unlikely due to terrain analysis.

But still, you need to know why the trust relationship is going to change. Very obvious Temptations would promote change, but muddled, uncertain Temptations would not necessarily. Perception is important here. Something may look terribly important and valuable to you, is it important and valuable to the opponent? What if you and your opponent think very differently and come to very different conclusions about the value of this-or-that piece of land?

Another problem is some opponents are emotional, stupid, chaotic, and/or crazy. And, um, some opponents are arrogant and overly self-assured. This is why I don't care about antiseptic Game Theory. It rarely dictates human action. More likely, Joe is mad at you that you've manipulated him in the past 10 games, so he just explodes and tries to kill you, even if he has no chance of survival and very little chance of hurting you doing it.

"Maximum expected utility" treads a dangerous line of reducing human diplomacy to rational minimax. Which is not actually the nature of the beast. "Gee, we didn't expect the Japanese to bomb Pearl Harbor...." "We didn't expect Al-Qaeda would blow up the WTC." I think we need a Denial factor!

Brandon Van Every, 3DProgrammer, Seattle, WA
20% of the world is real. 80% is gobbledygook we make up inside our own heads.


[edited by - vanevery0 on July 29, 2003 3:02:28 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by vanevery0
For instance, your Trust strategy.
quote:


Actually, that was Fox''s. i just ripped him off. Sounded like a good to me and i''m a big fan of plagiarism

Back to the point i''m not so sure about, i work best with concrete examples. If things stay too high level my creative side comes out and comes up with 20 different definitions for the same thing making me terribly confused


quote:

you need to know why the trust relationship is going to change



In psychology they have something called Theory of Mind. Basically, if you have an agent Captain A and he''s playing against someone named Major B, Captain A has in his head his own private instance of Major B that acts the way CA thinks MB acts. He basically asks "What Would Jesus Do?" only replacing Jesus with Major B because Jesus probably didn''t play a lot of war games

So you have two classes, Agent, which is your player, and something like PerceivedAgent, which is practically an Agent only you have to fill in his information from observation

class Agent {
PerceivedAgent opponent = new PerceivedAgent();

opponent.trustworthiness = 50; //--- start at avg
opponent.aggression = 50;
opponent.holdsGrudge = 50;
}

Action Agent::selectBestAction() {
Action bestAction;

foreach action in possibleActions {
State newState = predictResult(action);
Action reply = opponent.selectBestAction(newState);
newState = predictResult(reply);
score = valueOfState(newState);
}
}

Something like that. For each action you seriously consider (and it should only be ones you seriously consider), consider what the opponent''s response would be. Consider his feelings. It''s the polite thing to do

Will he break a treaty when he''s approached by an enemy? When you find out he''s being approached (or if you see some diplomat that you think will approach him), whip out your constructed mental model of your opponent and say "given what i know about Major B, how will he respond?".

As a note, i wouldn''t recommend having PerceivedAgent be able to mentally model you back. Infinite regress and all that. It doesn''t happen in humans - humans only predict to a level of 2 or 3 (i''m guessing) and stop after that because it gets too computationally expensive and humans don''t like that


>What if you and your opponent think very differently and
>come to very different conclusions about the value of
>this-or-that piece of land?

First, look at it from his stand point. That''s where the mental model of your opponent comes in

Second, you can guess what he''s going to do based on what you know about him. And you''ll probably guess wrong. That happens all the time in real life and that''s what you want to simulate

Third, you know all those movies where the guy acts tough but in private he pets kittens? You need a routine to change your mental model of someone based on the behavior of his you observe. Does he break treaties? Does he invade people easily? When you approach him, how amenable is he? Use that to update your model of your opponent

quote:

Another problem is some opponents are emotional, stupid, chaotic, and/or crazy. And, um, some opponents are arrogant and overly self-assured



You need to model your opponent''s personality. In psych theory there are 5 attributes that determine your personality. But since i haven''t taken that class yet, i say make some stats for whatever you think is important. That''s what Rainbow 6 did

So in my stuff (FPS), each squad member has goals of getting revenge/standing up for one''s self, not getting hurt, not letting friends get hurt, not letting civilians get hurt and following orders. Each goal has different weights. All actions are matched against the goals. So now some jerk shoots at you and runs away. The guy who has a high "follow orders" priority, a high "don''t get hurt" priority and a low "stand up for self" priority would let the guy run off. A guy with no concern for his own personal well being and who doesn''t take anything from anyone will chase after the guy down a dark alley

My old roommate played Stars!, this space alliance game. i watched him doing his backroom deals and badmouthing the other doing-well player and watched him get upset when people switched sides. But when the game started everyone treated everyone as normal. As the game goes on you learn about their traits. My guess is you should do the same. Determine who can be bribed, who switches alliances a lot, etc. And it only counts if you find out about it. i suppose in his case you''d also have adjust based on rumors and how much you trust the guy telling you the rumor

Oops, boss wants me. Hope that helps

-b

Share this post


Link to post
Share on other sites
Hey guys - some interesting stuff.

I won''t supply any of my own AI theories as I don''t really study it outside of making stuff in my games.. not neary as involved as you guys seem to be.

Anyway, you may want to check out the game "Rise of Nations". It''s an RTS where you expand and research through the ages to defeat your enemies - from very early Ancient Age with sling shots and spears to the Modern Ages, with heavy artilery, nukes, etc. Pretty cool stuff.

Anywho, the default mode of play is "Diplomacy" (last time I checked). The way it works is when you finally come in contact with another civiliztion, you get a set of Diplomatic options like "Declare War", "Propose Peace", "Ally", etc.

What you might find interesting is the way the Computer AI handles these options. I can''t give you anything concrete - only observations. Like it seems they like to propose peace and offer presents when you have a dominating army, they sometimes propose to ally specifically *against* another computer sometimes when it looks like they are getting to powerful, they withdraw offers if not responded to, and so on. I have no idea on the specifics, though - could be some really simple tests like "if they have more inits created, increase ally probability", but may be worth a look, if you can find any information on it.

Share this post


Link to post
Share on other sites