 |
|
child of Thor
|
|
There are flaws with the Civ3 approach, or there was, doesnt it sometimes agree to really bad treaties? We'd need a very good AI routine to avoid unbalanced deals......dont want to give the player more advantages in the game?
|
|
|  |
 |
|
child of Thor
|
|
ok. I've not played it yet so i wasn't sure on all the details, but i guess the kind of 'offer anything for anything else' approach would require you had a balance cost to 'all' items that could be used in the diplomacy - some hidden(or not) value that everything adheres too? eg:
"i will give you a non-trespass treaty(value=30x)+our knowledge of trade(value=50x) in exchange for your Maps(value=10x),300 gold(value=??x),your knowledge of Iron working(value=70x), and a non-aggresion pact(value=50x)"
the x value could be gold i guess or something hidden? but the AI would need this to get an idea of the deal you want to work out with it, and wether or not it was a reasonable thing to ask for.
So for CTP2 i would guess this would be a whole new addition to the way it does its diplomacy ?
|
|
|  |
 |
|
Martin Gühmann
|
 |
Berlin, Germany
Mar 2001 time: 06:32
|
|
quote: Originally posted by Solver
The flaws in Civ 3 were those related to gameplay. The interface is what I'm mentioning as (near) perfect. |
And the interface is the topic of this thread in the first place.
quote: Originally posted by Solver
After all, it should be obvious that the "anything for anything" approach is much more fun for the end player. |
Yes and I think this is also the intention behind the CTP2 system. But is missing is a value system, of course you have the regard system, but there is no cost function for the single offers, requests and treaties. For instance if Civ A gives to Civ B gives a city than this treaty should have a high prize for Civ A of course for Civ B it is a very high gain. So if the Ai gives that city it needs something in return maybe a better located city. Well this has to be worked out more.
quote: Originally posted by Solver
On an unrelated notice. I believe there should be no "no trespass treaty" - rather, trespassing shouldn't be allowed, unless a Right of Passage agreement is signed. One of the things I like about Civ 3 - AI gets angry if you wander in its land. |
In the default game the first diplomatic proposal you get from an AI civ is a no trespass request. Is needed because before contact is made you have no idea where there teritory is needed, but it needs a fixed length and if there are needs again and again for such requests than the AI should get mad. But by default I think the AI gets mad if you are trespassing, espeacilly with treaty but it is not very obvious. So such a right of passage should be granted. Maybe a right for seapassage only should be cheaper than the same treaty for right of land passage.
And another remark about diplomacy itsself but more interface related. In the current model we have three types of proposals treaties, offers and requests. Of course a civ can offer a treaty or can demand it, but in the end it appears on both sides of the leader image. We can put the offers and demands on differnt sides but then why the difference between request give map and offer give map, we need just one of these proposals, and who gives whom should be clear from the screen side.
And here something from the Apolyton Directory so that we all know how the screen looks in Civ3:

-Martin
|
|
|  |
 |
|
Peter Triggs
|
|
Gone Fishin, Canada
Jan 2000 time: 05:32
|
|
quote:
"i will give you a non-trespass treaty(value=30x)+our knowledge of trade(value=50x) in exchange for your Maps(value=10x),300 gold(value=??x),your knowledge of Iron working(value=70x), and a non-aggresion pact(value=50x)"
the x value could be gold i guess or something hidden? but the AI would need this to get an idea of the deal you want to work out with it, and wether or not it was a reasonable thing to ask for.
So for CTP2 i would guess this would be a whole new addition to the way it does its diplomacy ?
|
Yes and no. The CTP2 AI does employ a system sort of like you describe above. Here's part of the printout from a debug log with some comments added:
quote:
Diplomat.cpp@3349: Player 1 sets New Proposal for player 4: first = REQUEST_GIVE_ADVANCE .
Diplomat.cpp@3351: second = OFFER_GIVE_ADVANCE.
Diplomat.cpp@2502: Player 1 set Response: INVALID for player 4.//initialize
Diplomat.cpp@2502: Player 4 set Response: INVALID for player 1.
Diplomat.cpp@690 : Player 4 has initiative.
Diplomat.cpp@3374: Player 1 executes New Proposal for player 4: first = REQUEST_GIVE_ADVANCE .
Diplomat.cpp@3376: second = OFFER_GIVE_ADVANCE.
Diplomat.cpp@2418: Player 4 considers Response: REJECT for player 1.
// first check if we want to swap
ProposalRespons@549 : Executing AdvanceExchange_ProposalResponseEvent: C:\Activision\Ctp2\ctp2_code\ai\diplomacy\Proposal
ResponseEvent.cpp@517
// a whole bunch of stuff that you can't see has happened at this point
ProposalAnalysi@88 : Evaluated NEW PROPOSAL [sender = 1, receiver = 4]
ProposalAnalysi@89 : first = REQUEST_GIVE_ADVANCE
ProposalAnalysi@90 : second = OFFER_GIVE_ADVANCE
ProposalAnalysi@95 :
ProposalAnalysi@96 : Sender Result:
ProposalAnalysi@97 : science = -6563
ProposalAnalysi@98 : gold = 0
ProposalAnalysi@99 : production = 0
ProposalAnalysi@100 : regard = 45
ProposalAnalysi@101 :
ProposalAnalysi@102 : Receiver Result:
ProposalAnalysi@103 : science = 6563
ProposalAnalysi@104 : gold = 0
ProposalAnalysi@105 : production = 0
ProposalAnalysi@106 : regard = 96
// next check if we want to sell it
ProposalRespons@370 : Executing PayForAdvance_ProposalResponseEvent: C:\Activision\Ctp2\ctp2_code\ai\diplomacy\Proposal
ResponseEvent.cpp@338
// more unseen stuff
ProposalAnalysi@88 : Evaluated NEW PROPOSAL [sender = 1, receiver = 4]
ProposalAnalysi@89 : first = REQUEST_GIVE_ADVANCE
ProposalAnalysi@90 : second = OFFER_GIVE_ADVANCE
ProposalAnalysi@95 :
ProposalAnalysi@96 : Sender Result:
ProposalAnalysi@97 : science = -6563
ProposalAnalysi@98 : gold = 0
ProposalAnalysi@99 : production = 0
ProposalAnalysi@100 : regard = 45
ProposalAnalysi@101 :
ProposalAnalysi@102 : Receiver Result:
ProposalAnalysi@103 : science = 6563
ProposalAnalysi@104 : gold = 0
ProposalAnalysi@105 : production = 0
ProposalAnalysi@106 : regard = 96
Diplomat.cpp@2418: Player 4 considers Response: REJECT for player 1.
Diplomat.cpp@2418: Player 4 considers Response: ACCEPT for player 1.
Diplomat.cpp@693 : Player 1 has initiative.
Diplomat.cpp@2418: Player 1 considers Response: REJECT for player 4.
Diplomat.cpp@2418: Player 1 considers Response: REJECT for player 4.
Diplomat.cpp@2502: Player 1 set Response: REJECT for player 4.
Diplomat.cpp@2602:
Diplomat.cpp@2604: >>> Agreement REJECTED by player 1. //'by player 2 for player 1' would read better
|
You can see what factors it takes into account: science, gold, production and regard. But this isn't done uniformly: the way it takes them into account depends on the Proposal and many other things. Even though I (player 1) was offering player 4 a good deal, they rejected it (I think) because they didn't like me.
|
|
|  |
 |
|  |
 |
|
child of Thor
|
|
quote: Originally posted by Peter Triggs
Yes and no. The CTP2 AI does employ a system sort of like you describe above. Here's part of the printout from a debug log with some comments added:
You can see what factors it takes into account: science, gold, production and regard. But this isn't done uniformly: the way it takes them into account depends on the Proposal and many other things. Even though I (player 1) was offering player 4 a good deal, they rejected it (I think) because they didn't like me. |
Looking at the list you pasted - i would ask why is palyer 1's(your) science at -6563, whereas player4 is at +6563? maybe this is the reason for the rejection, and if it is what would cause such a large difference between your science levels? the fact that the values are the same(except one negative and one positive), seems a little odd too dont you think? Or is it just like this in computer land?
|
|
|  |
 |
|
Peter Triggs
|
|
Gone Fishin, Canada
Jan 2000 time: 05:32
|
|
The science result is based on the relative costs of the two proposals: I requested Communism (13756) and offered Mass Media (20319). So the sender's net science gain was -6563 and the receiver's was +6563. But the first thing it does after it does this analysis is to check the receiver's regard towards the sender. If it's less than NEUTRAL (500 out of a 1000), it rejects by default.
Martin's right, BTW, we're going to have to supplement both the way that proposals are generated from motivations and the AI's response logic if we want a more robust system. But I think this is going to need some careful thought: I've always thought that there's a serious clash when you allow both a conquest victory and a diplomatic victory. In order to allow for the possibility of the latter, you've got to have an AI that will allow it's players to make friends with the human player. If it does this too easily, the human player can exploit it when he's going after a conquest victory.
I've actually never played for a diplomatic victory. Has anybody? How hard is it? And finally, has anybody tried a diplomatic victory in multiplayer.
|
|
|  |
 |
|
Maquiladora
|
|
Diplomatic victories are the easiest and quickest victory in single player, its just a case of threatening the AI into allying when you have a much better military.
I never got a Diplomacy victory in MP but thats because we exclude Diplomats so in 2v2 games you cant exchange techs and we reach War Walkers in 200 turns.
|
|
|  |
 |
|
Protra3211
|
|
That looks good E hope thats going to be in the next playtest
|
|
|  |
All times are GMT. The time now is 05:32. Apolyton Time is 00:32. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|