Quantifying the diplomatic AI

In the original Master of Orion, your diplomatic status with various races was generally reduced to 3 items: your treaty status (none/war/peace/pact/alliance), your trade level, and your relations level.

The last item was what controlled the AI’s willingness to deal with you or declare war on you. Because it was a single number, it was fairly trivial to manipulate once you understood what affected it. You could literally be driving two warring races to extinction, but they would be happy with you because you were at least killing the other guy as well.

With 20 years of hardware advances and hindsight, it’s a safe bet that Java MOO will not be internally implementing the diplomacy AI in the same way.

Diplomatic events will be quantified and tracked independently so that a more responsive AI can be coded. Each event will make a positive or negative impact to the relationship which will fade over time, but a time that is variable based on the severity of the event. Some  events will not bother certain races very much at all, while others will more seriously aggravate others. It is up to the players to understand what motivates each AI race and then make moves necessary to achieve his diplomatic goals.

Here’s a listing of the diplomatic events that will be evaluated:

Direct military interactions:

  1. Trespassing – ships in orbit around colonies
  2. Skirmishes – ship battles around colonies or neutral systems
  3. Attacks – direct attacks on colonies
  4. Biological Attacks – same, but with biological weapons
  5. Invasions – troop invasions of colonies
  6. Captures – troop captures of colonies
  7. Destruction – destruction of colonies

Diplomatic interactions:

  1. Establish Treaty
  2. Break Treaty
  3. Declare  War
  4. Offered Tribute
  5. Demanded Tribute
  6. Threatened
  7. Traded Technology
  8. Vote For/Against/Abstain  for Galactic Council
  9. Espionage: Steal Technologies
  10. Sabotage: destroy factories
  11. Sabotage: destroy missile bases
  12. Sabotage: inciting rebellion

Indirect Events:

  1. Local Expansion – founding a colony in ship range
  2. Military Buildup – amassing ships within ship range
  3. Biological Weapons – general use of these weapons
  4. Genocide
  5. Galactic Expansion – becoming dominant  in galaxy
  6. Attacked Ally
  7. Attacked Enemy

These are all of the events currently planned for support. Each will have a separate defined weight (how serious is the event) and rate of decay (how long will it be remember).

In addition, these could be affected by leader personalities and objectives.

4 thoughts on “Quantifying the diplomatic AI

  1. I love the direction this game is going and I really hope you finish it this time. This is the only MoO clone I’m very excited about, because it follows the original quite strictly.

    A suggestion from me would be to add the hidden fear scale .

    One thing that always put me off in not only MoO, but in every 4x strategy I ever played, is suicidal declarations of war by the AI. I think the fear value could stop that irrational behavior.

    Something like this already exists in the original, but it is not very well implemented, because it is tied to relations. I see you’re already going in the right direction and I love it. I would just like to emphasize the importance of fear.

    I think it could be fun having a race hate you, but too afraid to do anything about it (openly). The high fear scale towards anybody could also lower the threshold for acquiring new alliances, and put more focus on military expansion.

    The fear scale could be influenced by the enemy fleet strength, tech and production difference, population, threat perceived (strength of fleet in range, previous attacks on both race in question and other races, use of forbidden weapons, relations with allies and enemies of race in question, etc), AI personalities (i.e. erratic could be immune to fear, and on the other hand xenophobic very susceptible), current relations and current trade…

    Another thing I’d love to see in diplomacy is having the Sid Meyer’s Alpha Centauri type of surrender (eternal alliance from the losing side, all tech and all reserve given to master race, automatic declarations of war and peace following the master race). But it would be nice to have a way to leave this kind of vassalage. For example the ability to rebel and join the enemy side on the declaration of war vs their master. Of course, other conditions would have to be met: fear scale towards the master low enough, good enough relations with the race declaring the war on master, good enough estimation of victory by the vassal race.

    In general, I’d love to see and feel the self preservation drive of AI. The original MoO did it better than most strategy games, but not nearly good enough.

    And one last suggestion is council vote victory is too easy to achieve, both for AI and human, and is very anticlimactic. I’d split it into 2 or more steps. A race would have to win 2 times 2/3 vote, with the first victory giving certain advantages (e.g. becomes council president and receives 5% of production tax from all other races, maybe some trade bonuses, or a ground combat advantage).

    The point is I would like to make diplomatic victory more difficult and more rewarding. But I guess all that comes later…

    Sorry for the long rant, but I’m kind of excited about this game.


    1. Suicidal declarations of war are simply symptoms of an unfinished AI. Unfortunately, unfinished AIs are a plague among strategy games because of sales pressure to get games to market once they are playable. And since fine-tuning the AI is necessarily the last thing to be done, it is almost always released in an unfinished state. To make games competitive, developers generally resort to giving AIs across-the-board bonuses (i.e. “cheating”) in order to ensure a challenge for players. This is why everyone assumes that writing a challenging AI is impossible. Given time to play and test, it is very possible.

      If the AI is smart enough, then there is no need for fear.

      The surrender option is something I have considered for an Extended ruleset, but not for the Classic ruleset since it is a functional change to the game. Another is for races on the brink of extinction to give all of their technology to the most powerful enemy of the race about to finish them off, as a sort of revenge. That will probably make it into the Classic ruleset as it is an AI-only change.

      The Diplomatic victory should not be easy. No race should willingly cast the deciding vote that loses the game unless it is to vote for an ally or avoid impending extermination. Instead, forming alliances (something players hate to do), will be the most straightforward way to gain votes. There’s still a lot of thought to go in the process, but Council victories will need to be the result of extensive diplomatic maneuvering rather than tossing around technologies as humans.


      1. Thanks for the reply, and I agree with making the classic ruleset as similar as possible to the original.

        I’m neutral about AI gifting all tech to the biggest enemy of their executioner. It’s a cool way to increase the difficulty in a non cheating way, but at the same time it would increase the feeling of “AIs ganging up on human”, that we all hate.

        As for the fear, I suppose you know what you’re doing. My AI coding skills are Bulrathi level.

        I love the graphics I’ve seen, and there’s nothing I dislike about this project so far (a huge rarity for me), and I hope I can at least help with some play testing when the alpha version is ready. I wish you lots of luck and I hope I’ll see this game finished. I’ll be following closely. Thanks for doing all this!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: