Aurora 4x

Aurora => C# Aurora => Topic started by: Desdinova on August 28, 2019, 07:05:05 PM

Title: Ideas for Diplomacy
Post by: Desdinova on August 28, 2019, 07:05:05 PM
It looks like diplomacy is one of the last major areas left in C# development, but it's also one of the areas of Aurora that's traditionally been lacking, and one of the least discussed, which is why I'm making a new thread. The current state of diplomacy in Aurora is extremely simplistic. Basically, in VB6, if you can generate more diplomatic points than the enemy xenophobia threshold, you will eventually becoming allies, otherwise, total war is inevitable. I know Steve mentioned adding territorial claims and limited wars, which is a huge step forward, but there's a lot of room to expand.

Aurora is a great wargame, but historically, diplomacy has been pretty pointless, since fighting NPRs is fun, whereas allying with NPRs basically gets you some trade income and eventually tech sharing while the AI sends their fleets zigzagging dumbly around Sol in circles forever, slowing the game to a crawl, at least in my experience. I've been thinking about how to make diplomacy a worthwhile endeavor. I think it's critical that diplomacy be expanded because, for the first time, having several, or maybe even many, NPRs in a single game will actually be practical, and the games needs more interactions beyond shooting at each other in order to create a convincing populated universe.

My initial suggestions/ideas are:
Diplomatic relations between races are a sliding scale between, say, -100 and 100. The initial value is set based on the relative races xenophobia levels, and changes dynamically due to events. There is no hard cutoff of a negative value resulting in war, or a positive value alliance, instead the diplomatic relation score affects the probability of the AI accepting treaties or engaging in hostile actions. You can't guarantee peace by pumping out diplomacy points. Add some random variation, like "Xenoblob-UN relations take a sudden turn for the worse" - although maybe with some better flavor text - that directly affect the relation score.

Diplomacy points as generated by diplomacy modules, instead of directly affecting relations, are basically diplomatic currency. You can spend diplomacy points on actions to improve relations, or suggest treaties, or trade.

For territorial claims, have a tiered claim system. A more xenophobic race might demand complete exclusion of all aliens from their systems; a moderate race might be OK with another empire transiting their space as long as they maintain separation from their colonies, and a xenophilic race might even tolerate sharing system bodies.

Allow for mutually-beneficial trades between races that aren't necessarily allied. I think it makes more sense for civilizations to start trading first, and then become friends, not the other way around. It would be nice to be able to trade resources or even technology directly.

Make allies actually do things. It might be hard to make AI usefully support player fleets, but it appears the C# AI already has a priority tasking system for its forces - maybe, if allied with a player race, it can be made to temporarily assign surplus ships to player control. Likewise, there might be a "support allied forces" fleet order that places a fleet under the friendly AI's control while active, since the player might not have a complete enough picture to interoperate effectively.

Add some form of information sharing between friendly races. If I'm allied with an NPR that's getting wrecked by another NPR, they should inform me of the threat and ask for help.

Make the AI opportunistic. If I'm at war with an NPR, make them more likely to seek out another NPR as an ally; likewise, if a NPR I've been hostile with starts losing ground to another let them start making concessions. If the player is at war with an NPR, a third party might see it as an opportunity to attack either party. And so on.
Title: Re: Ideas for Diplomacy
Post by: Scandinavian on August 29, 2019, 12:17:16 AM
Allow for mutually-beneficial trades between races that aren't necessarily allied. I think it makes more sense for civilizations to start trading first, and then become friends, not the other way around. It would be nice to be able to trade resources or even technology directly.
Among humans, the historical order is conquest, then assimilation, then trade.

There are good reasons why trade follows the flag; merchants need secure transit, dispute resolution, common understandings of contracting and other commercial practices, etc.

Government-to-government tech transfers, to the extent that they happen, typically happen in the context of building up a patron-client relationship, following, not preceding, the inclusion of a new colony into the patron's sphere of influence. And are usually less transfers of the underlying capabilities (as would be represented by tech lines in Aurora) and more transfers of individual blueprints or hardware, or construction of physical infrastructure: The colony being sold the right to license build a certain model of airplane that is beyond its own ability to engineer, or the overlord building a port and rail network for facilitating raw materials exports.

There are exceptions, typically when two great powers contest a colony which both claim as part of their sphere, but those are exceptions, not the rule.
Title: Re: Ideas for Diplomacy
Post by: Zincat on August 29, 2019, 01:16:33 AM
It is true that I hope c# aurora will have a better diplomacy system.

But personally I would not really want the AI to be TOO opportunistic. Or at least, not all AIs. Maybe the "opportunism" level could be based on the AI xenophobia or something, but the player should have SOME indication of how reliable other races are.

My point is simple. Aurora is a rather dangerous game if you play it with hard settings. You can literally encounter a very hard opponent at any moment (because of the chance of NPR generation when you enter a system). Not to mention, you can get a nice shiny purple wormhole, even in you home system.

Because of this, you don't want very unreliable allies. If the AI is too opportunistic, and willing to betray you at any given moment... I will have to do what I usually do in 4x games with treacherous AIs. That is, exterminate anything that moves. I'd rather kill everything first, if the alternative is being betrayed as soon as a shiny purple wormhole opens up nearby.

I'd rather not be pidgeonholed in this type of gameplay. The AI's willingness to "betray" you should drop vertically with very good relationships / alliances. Or at least, something in the intel / diplomacy screen should warn you "You know, this race is not... really trustworthy. You sure you want to ally with them?"
Title: Re: Ideas for Diplomacy
Post by: Doren on August 29, 2019, 12:30:31 PM
I kind of think the diplomacy should be a traditional score system where all the stuff you and Empire X has done together form a final score of relationship.

What I'm thinking of though is a system where AI would have certain Goals. AI would try to fulfill these Goals and depending on empire characteristics and current situation it would depend on how they would try to fulfill them.
For example let's say that there's a Goal "Secure duranium supply". For militaristic expansionist empire this would mean that they would not most likely hesitate to have a war to secure one. A less militaristic empire might look at trying to outright buy a planet outright. If it cannot buy one maybe it could try to deepen the relationship with another empire and have a deal to coexist on duranium rich planet.
Idea here is that AI would always have these Goals and then it would have a set of possible actions to solve them. Depending on empire characteristics they then would weight the actions and go with one. If the action fails it would gain negative weight so that other options become more enticing to AI. These actions could have even a minimum and maximum characteristic values meaning that very xenophobic military empire would consider coexisting as "securing duranium supply".

I'm imaging a system where AI would try to do some very specific things and it would actually communicate these things forward to other empires. If it needs some resource and other empires have claimed all possible locations then it would start weight which locations would be easiest to get possibly diplomatically first and a war as a last resort. If a lot of empires are running a lot of military ships in it's systems or in direct vicinity of it's systems maybe it would start strong arming other empires to leave it's systems or make deals to allow ships near it's system with price (could be minerals, money, mining location,tech? or maybe military rights to allow them to move at certain systems).

Idea here is that AIs take a Goal and try to achieve it depending on their empire characteristics and it would be somewhat predictable what certain empires would try to do and if they start making a lot of certain type of requests from you, you might want to take a hint that the empire is up to something or doesn't like the way you are currently operating with them.
AI could also outright state their Goal(s) and possible actions to player empire if they are being very diplomatic or if they think that the player empire could help them achieve their and possibly help player empire achieve goal of their own. For example most empires would most likely be rather open when their goal is to reduce player empire ships in systems they claim. Diplomatic empire might state to player empire that they want their colony removed from their system while militaristic empire might just come in with troop transports and state that "the player empire was encroaching on their territory and should have known better".
In another example if AI was having a hard time with another empire Y maybe they would talk to player empire that they are looking for ways to weaken the Empire Y. Player could possibly show their interest in the matter and make some for of deal with Empire X. Let's take this example to a bit different direction and say that Empire X is looking to weaken Empire Y and the player empire. Let's say that there's no kind of deal with Empire X and Player empire and Empire X goes to war with Empire Y and Player empire decides opportunistically also wage a was with empire Y in order to gain System 1. Let's say that the Player empire was attacked by Empire Z opportunistically and takes system from Player empire. Now Empire X would actually start improving their relationship with Empire Z since they see it as a way to reach the goal of "Weakening Player empire" and they could even give Player empire stern warning that the system now belongs to Empire Z.

I think that relationstip should play quite a big role on what kind of actions AI empire would take when dealing with other empires. Being militaristic expansionist would just mean that the threshold for being excluded from a action is higher but once you are in good terms they would very much look at other options first and possibly would determine that they would rather go conquering another empire and could even ask if you would like to join the war and get some spoils from it as a reward.

To sum it up AI empires would have certain Goals that they would be trying to achieve. These Goals would have a list of possible actions while empire characteristics and empire relationship could close off some of the actions. AI would pick the most favorable one and try to achieve that. Diplomacy would be just a possible action to take to achieve the goal. They wouldn't really be predatory and opportunistic on current wars but rather see them as a possibility to have a goal fulfilled and they would settle to just fulfill that goal (for very xenophobic empire goal might be completely wiping the empire off the galaxy though).
Title: Re: Ideas for Diplomacy
Post by: Father Tim on August 30, 2019, 02:41:42 AM
. . . There is no hard cutoff of a negative value resulting in war, or a positive value alliance, instead the diplomatic relation score affects the probability of the AI accepting treaties or engaging in hostile actions. You can't guarantee peace by pumping out diplomacy points.

This is a huge problem.  It puts us back in Starfire's territory of "either amalgamation and complete takeover of the NPR (turning them into your empire forever) or they inevitably go crazy and attack you."

If there is no guranteed peace, then there must inevitably be war.  That's how math works.  If the chance that the NPR will attack me is greater than zero, then at some point it will happen.

Now, I'm not suggesting player empires should be able to bully NPRs without consequence, but those that are abiding by 'good neighbour' policies should be confident that they won't get stabbed in the back.
Title: Re: Ideas for Diplomacy
Post by: Panopticon on August 30, 2019, 03:19:46 AM
I think it depends on what we mean by "good neighbor" policies, like if the empires just sort of exist next to each other then yeah I would feel like unprovoked attacks might be a thing, if on the other hand there are trade agreements and so on exchanged then it would seem unlikely to get stabbed in the back without warning.

On the other hand going to amalgamation all the time maybe isn't ideal either. So perhaps it gets based on something like a Xenophobia score for each race?How willing they are to accept others would set the maximum closeness they will tolerate, so some might eventually decide to go to amalgamation or client state relationships, but others won't go farther than trade deals or exchanging embassies.

Races could have policy changes too, perhaps communicated via diplomacy teams or maybe an ambassador function.

I envision a message something like "The ambassador from the Empire of Ooze informs you that a new Emperor has ascended the throne who is not favorably inclined towards Earth." Maybe we get more detail as to what that exactly means, maybe not, but we then at least have warning to move ships around or change research or diplomacy goals or something.
Title: Re: Ideas for Diplomacy
Post by: Father Tim on August 30, 2019, 06:45:24 AM
To be clear, I'm not saying "amalgamation or annihilation" should be the goal, or that it is a good thing, or that I want it.  Exactly the opposite.

I'm saying that it is ineveitable if NPRs have some chance of going hostile regardless of player actions.  Even a 1% chance (or a 0.01% chance) of NPR declaring war per {event} means that for 70 events it's a toss up (7,000 for 0.01%).

If the diplomacy system allows the NPR to go from peaceful to attacking me without notice and without discernable reason, then either:
A)  the chance it does so needs to be so vanishingly small that it's unlikely to happen even one game in ten, or
B)  the only rational response is to exterminate and/or enslave every encountered NPR.

If the Octopus Empire get mad at me because I colonized a planet they want, they need to let me know they're mad at me, and why; not sit there getting further pissed off until they launch a full-scale attack.  Likewise, if the Duat Confederacy run out of explorable territory because all jump points lead to me.

- - -

TL;DR:  It is a major problem if the only way to guarantee long-term peace with an NPR is to absorb them into my empire.
Title: Re: Ideas for Diplomacy
Post by: Desdinova on August 30, 2019, 11:27:39 AM
I think it should definitely be possible for a player and an average NPR to coexist peacefully or become allies. I think the game should also differentiate between expansionist xenophobic NPRs and isolationist NPRs if it doesn't already; the latter would just want to be left alone, while I think the former would inevitably result in conflict.

Steve's already said that not all wars will be total wars. And one of the reasons I made this thread was to brainstorm diplomatic actions besides war. There should be a breadth of interactions that hostile or friendly powers can undertake.

Maybe instead of immediately declaring war a hostile NPR event could be:

Raising tariffs: If the races have established trade, as a minor negative action this would decrease the other side's income from that trade without outright cancelling it

Demanding concessions, whether direct tribute in the form of wealth or material, favorable trade conditions, or the right to transit the other party's space

Provocative actions like violating the other side's space, shadowing their ships, painting them with active sensors, and other aggressive actions that fall short of actually shooting
Title: Re: Ideas for Diplomacy
Post by: Panopticon on August 31, 2019, 02:05:12 AM
I feel like that's the way to go about it yeah, you'd need open communication, like a diplomacy team or something, but the other empire should be able to pass a message to you saying that they are becoming unhappy for some reason and give you a chance to do something about it, even if that something might be unreasonable.

I also think that those things shouldn't be exclusively based on stuff the player does, so changes in leadership or economic events in the NPR might also result in increased or decreased feelings towards the player.
Title: Re: Ideas for Diplomacy
Post by: Zincat on August 31, 2019, 04:17:47 AM
I feel like that's the way to go about it yeah, you'd need open communication, like a diplomacy team or something, but the other empire should be able to pass a message to you saying that they are becoming unhappy for some reason and give you a chance to do something about it, even if that something might be unreasonable.

I also think that those things shouldn't be exclusively based on stuff the player does, so changes in leadership or economic events in the NPR might also result in increased or decreased feelings towards the player.

Something like this could work. The main issue, for me, is that the AI should NOT just betray you randomly, or for small reasons. I also completely agree with what Father Tim wrote. Something like: "there's a 1% chance the AI will randomly betray you every year" is not acceptable, because it means the AI is just completely unreliable.

If we are told: "Look, relationships are souring. You should do something about it or prepare for  the worst", that could instead be acceptable. Also acceptable is if the AI makes requests, either big or large. Because no matter how unreasonable they might be, at least you KNOW something is amiss and can prepare.

But unreliability and randomness make diplomacy useless instead. If I cannot reliably trust even allies with whom I trade regularly, I'm better off just killing/conquering every other race. It's a lot less risky.
Title: Re: Ideas for Diplomacy
Post by: Steve Walmsley on August 31, 2019, 05:04:17 AM
Interesting thread. I haven't read it detail yet, but I will come back to it when I get into the Diplomacy code.

I will make the point though that the AI will not attack unless it has a reason. That reason could be total xenophobia :) but there won't be a '1% chance of betrayal' type mechanic.
Title: Re: Ideas for Diplomacy
Post by: Jorgen_CAB on August 31, 2019, 05:13:09 AM
I agree that randomness makes little sense.

Instead there should be levels of different AI characters, these characters would be something a player could eventually learn depending on how much they deal with said AI and how much espionage they have going on. Espionage can also be a cause for damaging relations though, depending on what type of espionage done and how invasive it is.

But I could see a specific AI making very good deal with you with the intention of stabbing you in the back, but this should be more of a tactic and not something that randomness do. Randomness might be the thing that decide when and exactly what an AI do etc... but some things should just be a certainty until there are some event that changes things.

Two AI or AI and players that have good relations and are trading with each other should never go to war unless there are some horrible incident that incite it, and even then there might be hesitation for the use of force rather than diplomacy if the character of the AI is such that they favour that over violence.

An AI should also not just attack either other AI or player without proper intelligence of the opponents strengths first. I could see attacking in self defence by an extremely xenophobic race but not going on the offensive unless they learn about the enemy capabilities first.

Trade is actually the best method of gauging en enemies strengths without lots of espionage, history have shown this over and over. Trade is also a very large reason for why two opposing nations or cultures goes to war since they want to control specific resources. You rarely see conquerors in history dominating other people for the sake of dominating them, that is a secondary effect over dominating trade of some specific resource that are highly sought after. War of domination in reality are often something that happen in stages where one culture are being slowly dominated one areas after another as traders and/or settlers spread.

In Aurora I could see several scenarios...

Two relatively equal empires in technology are quite likely to end up trading with each other and have some wars that mostly will end in either small concessions by one side or stalemates.

If one side is clearly superiors, either in industry or technology (or both) you might see the dominating party trying to get favourable trade agreements that might eventually lead to wars and an eventual domination of the lesser culture. You might also just see the weaker culture more or less integrated with the stronger even without any major wars as they adopt the same technology and many of the customs of the other as they are seemed superior in many ways, this would happen over many generations.

If every NPR have specific character traits such as Empathy, Aggressiveness, Ruthlessness, Pragmatism etc... these traits would then make the NPR "act" differently and often provide that they act with some certainty in some situations and randomness would be less of a factor. If a race is Empathetic and Aggressive they might believe in a strong military and that violence is a necessary evil if required but they are also very empathetic and thus trustworthy allies and trading partners but you would not want to cross them. But when you meet that race you have no idea about what their actual traits are and will have to be careful and try to find out who they are and if they are trustworthy.

Exactly how much of such as system Steve want to add to the game is another question, might be a bit much for a first release but something to contemplate down the road.
Title: Re: Ideas for Diplomacy
Post by: Garfunkel on August 31, 2019, 05:29:51 AM
Diplomacy is really hard because it requires long-term planning and coding an AI that can do that is pretty difficult in every genre but especially in a 4X game. So I'm going to be a Debbie Downer here and say that diplomacy in C# 1.0 should be very bare bones and simplistic. Coding in a dozen different treaties and bunch of options is pointless if there is not a corresponding AI behaviour that is visible enough to the players so that it actually influences and improves game play. Remember how Galactic Civilizations was supposed to have the best diplomacy ever but it was in reality pointless rubbish because it was largely hidden from the player and any game was easy enough to just streamroll through. Or look at any and every Paradox game where, due to the always terrible AI, diplomacy is almost completely meaningless. Or the Civilization games where Microprose originally tried and Firaxis later just gave up.
Title: Re: Ideas for Diplomacy
Post by: Doren on August 31, 2019, 06:44:40 AM
Another big problem with diplomacy in 4x games is that while it would be rather easy to make a AI which could plot against player to knock them off their pedestal it makes rather poor gameplay sense since if the player is defeated game is over while if AI is defeated there's usually more AIs to deal with and the game will continue on.
Title: Re: Ideas for Diplomacy
Post by: 01010100 on October 11, 2019, 08:49:48 AM
Quote from: Desdinova link=topic=10490. msg116140#msg116140 date=1567037105
Diplomatic relations between races are a sliding scale between, say, -100 and 100.  The initial value is set based on the relative races xenophobia levels, and changes dynamically due to events.  There is no hard cutoff of a negative value resulting in war, or a positive value alliance, instead the diplomatic relation score affects the probability of the AI accepting treaties or engaging in hostile actions.

It shouldn't be a probability, otherwise you'd just spam "propose treaty" again and again until the NPR accepts.
Title: Re: Ideas for Diplomacy
Post by: froggiest1982 on October 11, 2019, 06:12:53 PM
I really would like to weight in here as during the last 3 years I have been talking about this to Steve in multiple posts.

However, since I first talked about Aurora's diplomacy and while waiting for either 7.2 and now C# to come out I have increased my amount of RP with the game. The main reasons were the slowdowns, the lack of diplomacy, etc, etc. I have then after multiple games (one lasted a year in RL with probably 10mb or more Word file with multiple spreadsheets aside) reintroduced NPRs as Steve said and I've found to be true that when you have multiple factions in Sol it always end up same way: one race go to one direction, another goes in another direction and so on. Practically unless you RP it there is no need for war at all. I am getting to the point no worries. The main reason I reintroduced NPR is then the following: you need some containment to your expansion otherwise you'll never face problems like the need for a better planet or a colony, lack of a particular mineral or simply your minerals are running out and you need new ones. And therein, as the Bard would tell us, lies the rub.

With the current way Aurora is structured you WILL ALWAYS end up wiping out the competition as you will need to expand for more resources, better planets, etc.

So after many reflections even over my previous requests, I believe that the only way to make diplomacy actually meaningful will be for the Human Player and the AI to be able trading minerals and resources.

I am saying that because despite all the previous posts are true and would be nice to have good neighbors or to find a sort of equilibrium and "grow tall" rather than wide I cannot see how this can actually happen. Many paradox games and many other grand strategy games or even 4x games do not have the finite resources factor. I think few do but I cannot really think of a worth noting. Yes, they have a pool of resources and manpower (Aurora does have manpower too by the way) but the source of them is infinite.

So basically I stopped being obsessed with better diplomacy (which will still be great especially the minor wars and territoriality being added in C#) but I really believe that if the above cannot be sorted/fixed at the end war is inevitable so at that stage why wait for the enemy to strenghten his position?
Title: Re: Ideas for Diplomacy
Post by: Father Tim on October 12, 2019, 01:14:16 PM
All I ask from C# diplomacy at this point is that it leave room for a billion levels of gradation, and not be locked into five or six fixed states.

I don't want foreign populations leaping from 20% to 40% co-operation when I pass some magic diplomacy threshold.  I want them to go from 20.526% to 21.011% to 21.688%, etc., production cycle after production cycle, as my diplomatic corps and/or garrison troops educate them on the benefits of my empire.
Title: Re: Ideas for Diplomacy
Post by: froggiest1982 on October 12, 2019, 07:20:58 PM
All I ask from C# diplomacy at this point is that it leave room for a billion levels of gradation, and not be locked into five or six fixed states.

I don't want foreign populations leaping from 20% to 40% co-operation when I pass some magic diplomacy threshold.  I want them to go from 20.526% to 21.011% to 21.688%, etc., production cycle after production cycle, as my diplomatic corps and/or garrison troops educate them on the benefits of my empire.

I hear you brother