Logo Platform
logo amplifiers simplified

Secret Layer of diplomatic-behaviour?

Reply
Copied to clipboard!
12 years ago
Oct 5, 2012, 11:13:15 AM
Thank you for your comment on that!

It's interesting to know.



What I'd really like to see was if the Condition:



would be used globally.

Like: "If I already have a war, I better do not declare another one."
0Send private message
12 years ago
Nov 1, 2012, 12:39:43 AM
What really solved my problem was removing the "PriceOffset". Doing so for almost everything in Term.xml surprisingly resulted in much more trading-activity and much fairer trading aswell.



And yes, I wanted them to make peace immediately when they don't want war or have an invasion going which justifies staying at cold-war. Because other than that, there is no logical reason to not go to peace ASAP as being able to utilize trade-routes is quite vital.



See my other thread if you are interested in the results of the whole measure.
0Send private message
12 years ago
Oct 31, 2012, 8:34:22 PM
Ail wrote:
Is the AttitudeMalusOffset something that means, that I need 50 Attitude if I want peace and would setting that value to 0 probably solve my problem?


I think yes, because the attitude raises after some of your "actions" (long term peace etc..)

but wouldn't setting it at 0 make them want to have peace immediately?
0Send private message
12 years ago
Oct 31, 2012, 8:30:20 PM
I somehow can't get the AIs to make peace with eachother when I replace the normal Attitude-System with something else.



In my new system I don't have Trends for example. Things just go to their fix value.



They will indeed suggest peace and go to peace if I accept their suggestion. But they won't accept it, when I suggest it first or when they suggest it to eachother.



I think the reason why they don't make peace (and most likely none of the other positive agreements) is somewhere with that:

[CODE]
AttitudeMalusCoef="-10" HyperbolaCoef="80" AttitudeMalusOffset="-50" AttitudeTrendCoef="10"

PriceOffset="-2.85" PriceMin="-10" PriceMax="10" AssessmentTrend="1" WaitingPeriodSensitive="true">[/CODE]



What exactly do those things control?

Is the AttitudeMalusOffset something that means, that I need 50 Attitude if I want peace and would setting that value to 0 probably solve my problem?
0Send private message
12 years ago
Oct 8, 2012, 11:47:44 AM
I would say: The more the merrier!



The more conditions that are available the better are the possibilities for modders to create the most logical behaviour about when to go to war.



For example I could also imagine accessing a trade-routes-percentage. (How many of my trade-routes come from them?) So they don't attack their economic backbone.

Or a counter that tells them how many empires have access to them so they weight the risk of multiple frontier-wars better.



There could be many more steps in the Attitude-values for different considerations.
0Send private message
12 years ago
Oct 8, 2012, 11:11:32 AM
Ail wrote:
I think that another condition is required:



bool HaveBorderWith



So that wars where 2 empires can't even reach each other could be prevented.




Wouldn't it be better to have two bools that say something about connectivity?

bool HaveConnectionWith (either by wormhole or starlane, direct)

bool HaveAccessTo (nothing in the way for a warpdrive attack or access by friendly territory)



Then have different conditions apply for waging a war with close enemies and/or enemies that you can only attack indirectly?
0Send private message
12 years ago
Oct 8, 2012, 11:07:38 AM
I've tried using it in my last game. It worked as it should, but a problem that happened was, that the Sowers, who were in Rebellion-state and thus not competative at all, declared war to the Amoeba, who where score-leaders at that time. But they could not reach each other because I and the UE where between them. So the Amoeba's "war-slot" was blocked due to that. Luckyly for them the UE declared war on them later so they could conquer em. ^^



I think that another condition is required:



bool HaveBorderWith



As the name suggests, it should return whether there is a possibility to reach the empire in question or not.



This way wars where 2 empires can't even reach each other could be prevented.
0Send private message
12 years ago
Oct 8, 2012, 10:01:09 AM
You're right the difference is very small.

At war is a comparison of diplomatic with all empire, whereas diplomatic status is with a just with an empire.
0Send private message
12 years ago
Oct 5, 2012, 4:04:51 PM
Tichau wrote:
The rule "AtWar" is explained in the comment line 15 of DiplomaticBehavior.xml.


Then chances are I overlooked it because it sounded so similar to "DiplomaticStatus" Value="War" smiley: ohh
0Send private message
12 years ago
Oct 5, 2012, 2:46:20 PM
Ail wrote:
Wait, so a condition for that actually does exist?

So this means that the list of possible conditions in this file lacks at least this one... Are there probably even some more conditions, that are not mentioned in the comment-section of this file?




The rule "AtWar" is explained in the comment line 15 of DiplomaticBehavior.xml.



Ail wrote:
It would be most helpful if one could access all the classes of all the empires variables to make very reasonable rules as to when declare war.




It could be a very good improvement of the diplomatic behavior system.
0Send private message
12 years ago
Oct 5, 2012, 2:29:53 PM
Wait, so a condition for that actually does exist?

So this means that the list of possible conditions in this file lacks at least this one... Are there probably even some more conditions, that are not mentioned in the comment-section of this file?



It would be most helpful if one could access all the classes of all the empires variables to make very reasonable rules as to when declare war.
0Send private message
12 years ago
Oct 5, 2012, 1:02:05 PM
Ail wrote:
Thank you for your comment on that!



would be used globally.

Like: "If I already have a war, I better do not declare another one."




No, this is quite useless, it's a double protection "if I am already in war with you, I don't try to declare another war".

It's also improve compute time (but it's quite insignificant).



You can add the condition "If I already have a war, I better do not declare another one." with :

0Send private message
12 years ago
Oct 3, 2012, 10:19:47 PM
After playing around with approval-alteration a lot during in the past, I now have skipped that part completely and just created a new DeclarWarTerm:



[CODE]









[/CODE]



The thing that I find extremely interesting about it:



Other than one might think, It does NOT cause everyone to declare war on everyone else! They actually behave more reasonable than they ever did, when I was trying to make them behave that way via Attitude.



I think there is another logic behind war-declarations other than Attitude. Attitude actually seems to just be an additional filter for it, wheras the underlying core would follow other rules. I think distance might play a role and probably also considerations about wars that the other party is already engaged in.



In my current game with that really simple change, there are a lot of wars going on. Way more than in a regular game. But there's still Alliances, Peace-Treaties and all that Non-War-Stuff going on as well.



The Amoeba, for example, first went to peace with me, despite having a bad attitude to me. Then the Hissho declared war on me and later the Amoeba and the Cravers as well. At this time everyone of those was at war with everyone else and it looked like unreasonable agression. But then the Amoeba and Hissho went back to peace and even formed an Alliance. The other Hissho, I met later, also is really nice to me and agreed to Open-Borders, despite being the 2nd strongest in the whole galaxy (I'm the 6th ... or 2nd weakest of those still alive, so definatly the conditions of the DeclareWarTerm are met but something prevents him from doing it).



I'd like to learn about what's going on there. Because I think, whatever controls their diplomatic-behaviour on this non-attitude-layer actually is pretty good in what it does!



So any dev can give a comment on this?
0Send private message
12 years ago
Oct 5, 2012, 11:01:30 AM
Hi,



Indeed the diplomatic behavior layer act more like a filter on all diplomatic term choice. When the compute of this layer is finished, the AI has the list of term it can consider.

It compute a score for each possible term, this score represent the envy/benefit for the AI to propose this term .... except for the war term smiley: smile.

We wanted a very aggressive behavior for the AI so if a war behavior is validate, a war preparation request is immediately send to the military AI.

Only one war preparation can be ask in one compute (The deal-building AI is compute each 5-15 turns) so it can take some time to declare war to all galaxy.



This is a very interesting experiment, AI success to create alliance in this context, it's very surprising.
0Send private message
12 years ago
Oct 5, 2012, 6:31:38 AM
Ail wrote:
This thread actually contains very little insight. ^^ It was more or less based on false assumptions that have been proven to be what they are: false assumptions.




I meant it more "generally" - not just this thread smiley: biggrin
0Send private message
12 years ago
Oct 4, 2012, 10:45:54 PM
This thread actually contains very little insight. ^^ It was more or less based on false assumptions that have been proven to be what they are: false assumptions.
0Send private message
12 years ago
Oct 4, 2012, 10:16:58 PM
Oh Ail what would we do without you? smiley: biggrin



I'm far too lazy to look up all this stuff.. thank you for providing us insights!
0Send private message
12 years ago
Oct 4, 2012, 10:14:41 PM
Well, more observations and other players feedback seem to have shown, that there is no other layer. At least none that makes sense or is reliable in any way.

Eventually they would declare war. Maybe the only reason they did not do that before was a limit to how many diplomatic terms they are allowed to do in a set amount of time. And I believe that there also is some war-preperation time they go through before actually declaring.



Btw. The reason I posted this was that I hoped that a Dev would stumble over it and give some input... like the numbers you were referring to.

I was just saying, that Attitude for each other cannot possibly be of importance, when I declare the whole Attitude-Spectrum from -200 to 200 as a viable Condition.
0Send private message
12 years ago
Oct 4, 2012, 6:20:26 PM
Again, aware that you could check their status when I made the post you responded to.



You'd need to extract the approval values for every faction to every faction, or at the very least load up a save and see what they think of each other through the basic indication in the diplomacy screen.




If you're going to seriously consider the idea that there is a "secret" layer then you need to actually understand all the diplomatic reactions and actions as they happen. The AI is designed to act within the structure and variables of the system, within that system one of the methods of determining their interaction with a player or another AI is the approval system.



If you can absolutely, with referenced examples showing how that system works and how the AI interact with it, discount that system as having any impact on the actions you see them taking then so be it. As it stands I can see a dozen possible reasons why the AI would act that way, based on the negative and positive values applied by that system to AI/player relations but it would be pointless for me to make an assumption based on that as I don't have access to any actual hard data on what you're experimenting with.



Numbers>Wall of text



Every time.
0Send private message
12 years ago
Oct 3, 2012, 11:51:26 PM
I'm not so sure if this really applies. You can pretty much see the approval for each other to them by clicking them into the mid and then looking on the faces for the other races. Each face reflects a certain approval-ratio.



The reason why I think that their approval for eachother does not matter is because after a few more turns one of the 2 alliance-partners declared war on the other, as soon as the Cravers where wiped out. It also caused the "friendly teal hissho" to declare war on me and the green Hissho.



Status is now: Everyone I know is at war with everyone else except for: Amoeba (1st) <=peace with=> Teal Hissho (2nd) and Green Hissho(3rd) <=alliance with=> blue Sophon(5th)



I'm pretty sure I'm the next one to be wiped out (4 of my 6 systems are currently invaded and my ships where destroyed).
0Send private message
12 years ago
Oct 3, 2012, 11:34:46 PM
Ail wrote:
This term is not limited to the player. It's global for everyone, regardless if player or AI.




I was aware of that when I made my post, I just specifically related it back to a player.



What I'm suggesting is that, despite whatever alterations you have made, the AI's approval of each other is significantly more important in terms of determining their reactions to each other. If you want to really discover the specifics of this then asking a question, without much in the way of specific numbers from every involved faction, isn't going to go anywhere.



You'd need to extract the approval values for every faction to every faction, or at the very least load up a save and see what they think of each other through the basic indication in the diplomacy screen.
0Send private message
12 years ago
Oct 3, 2012, 10:36:42 PM
Yes and no.



This term is not limited to the player. It's global for everyone, regardless if player or AI.

It basically means: Everyone can declare war on everyone else, regardless of relationship. The only limitation is that he has to have a stronger Military.



But they don't. The Teal Hissho, who is a close 2nd in score behind the evil Amobae and very likely far ahead of myself, when it comes to military, only has 1 war against one of the 5 other factions I met and is at peace with all the others. I think he has a war with the one faction I've not met yet, though.



I've also noticed that without this term, that some empires, even if they are filled with hatred for you, still won't declare war, if something else prevents them. And that "something else" is exactly what I'd like to learn about.



One theory was, that is for all empires. But in this case the Cravers should not have declared war on me because they already had a war the Hissho before.
0Send private message
12 years ago
Oct 3, 2012, 10:25:17 PM
If I'm interpreting that code correctly what you are essentially allowing is that the AI can/will declare war on you, regardless of your relationship with them. Whereas the current rule system restricts the AI to only declaring war below a certain Approval level?



On the assumption that I'm correct here, what defines the AI's Approval of each other? Perhaps the AI declared war on you because you were still considered "a common foe" to essentially farm approval with each other. Leading to the later alliance between the two.
0Send private message
?

Click here to login

Reply
Comment