FreeOrion

Forums for the FreeOrion project
It is currently Sun Dec 17, 2017 4:15 am

All times are UTC




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: AI Alliances
PostPosted: Wed Mar 06, 2013 5:45 pm 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
I had originally posted this in response to a vaguely named post by markpi, in which he mentioned an Age of Empires alliance dynamic where the lowest ranking empires would ally and target the highest ranking, but since I couldn't get him to rename that thread and got no responses there, I'm trying again with this as it's own thread; please reply with your thought about alliances.

The basic idea of supporting one or more AI alliances is certainly part of the mid-long term game plan, and now-ish may be a reasonable time to implement something simple. One with membership qualification based on lower ranking empires would be one of the more straightforward ones to implement and is probably a good starting point for implementing alliances. Off the bat I see five main areas for discussion and/or development: Desirability, Ranking/Score, Alliance Charter(s), Player Membership, AI Implementation
  • Desirability How interesting does this sound to folks? If we want to support this, would we want it as a definite aspect, or leave it optionally selectable?
  • Ranking/Score: We've recently been discussing elsewhere the idea of making available ingame some kind of performance chart akin to the ones as are produced by my python charting script in default/AI/charting. The script currently plots PP and RP production per turn, and total ships, but for an ingame chart a generalized score, or a ranking based on such a score, would probably be more suitable. I think the formula to be used for such a score will be the subject of many opinions and much discussion, so I'll try to use that charting thread for exploring this aspect further.
  • Alliance Charter(s):For a first supported alliance, I think a charter similar to what markpi mentioned would be good-- the key aspect being basic membership qualification based upon some type of ranking/score; let's call this initial alliance the 'Lowbies' for now.
    • Membership: The basic scoring metric we'll discuss in the charting thread. I'd want membership qualification based on some kind of running average, plus with an explicit hysteresis so that an empire could not flip in and out of membership, or out and back in, without a delay of at least 20-40 turns. To start with I'd probably have the AI's make a simple join/leave decision based on the scoring metric, but down the road I'd probably have them make a more involved assessment (an AI at the upper end of qualification, who is surrounded by weaker members and who has already colonized their primary territory close to the maximum extent possible, might not want to be in the alliance, so that they could more strongly expand into neighbors territories and invade planets. Down the the road I'd probably also want to support smaller mid-tier alliances, but let's not bog down this discussion with talk about that.
    • Purpose:markpi mentioned that in Age of Empires the lowbie alliance would prioritize attacks on the highest ranking player. That may or may not make sense for this alliance. To start with I'd just have the alliance be a minor one -- Peace, plus whatever supported alliance benefits there are in-game (like benefits of an Ally's Neutronium Extractor); each member would plan their attacks on non-alliance empires based on their standard tactical goals.
  • Player Membershipmarkpi proposed that the human player could be a member of this lowbie alliance; I don't have much of an opinion on that yet. I think it's something that should be discussed.
  • AI Implementation Significant AI diplomacy is a ways off, but not too far for what we're discussing. Right now the game itself supports being at War or Peace, with the latter being considered a type of alliance, but for the most part the AIs currently just assume than everyone is an enemy (though as I work on code I'm trying to slowly do away with that assumption). I'll need to think about how the AI's would plan expanding through a region shared with allies. But the basics of this kind of alliance shouldn't be too tough to implement.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Wed Mar 06, 2013 7:25 pm 
Offline
Design & Graphics Lead Emeritus
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3858
Location: USA — midwest
Moved the thread to "Top Priority" because i think this one is important to discuss and could be a good addition to 0.4.3.

A couple quick comments:

Dilvish wrote:
Desirability How interesting does this sound to folks? If we want to support this, would we want it as a definite aspect, or leave it optionally selectable?

It it can only function to the players disadvantage, then there might be an argument for making it optional. Otherwise just put it in. It may be just the first steps, but it is the direction we want the game to go.


Dilvish wrote:
Ranking/Score: We've recently been discussing elsewhere the idea of making available ingame some kind of performance chart akin to the ones as are produced by my python charting script in default/AI/charting. The script currently plots PP and RP production per turn, and total ships, but for an ingame chart a generalized score, or a ranking based on such a score, would probably be more suitable.

I don't think the system by which AIs calculate the strength of other empires needs to be transparent. The base data should be available to human and AI (# of ship, PP, etc.). I also like the idea of a "score" but as far as i'm concerned they don't have to be the same thing, if you have reason to make the criterion for offering/joining alliance more sophisticated.


Dilvish wrote:
...plus with an explicit hysteresis so that an empire could not flip in and out of membership, or out and back in, without a delay of at least 20-40 turns.
Yeah, minimum duration is good to start with human emotional investment can't always keep up with AIs changing sides every few turns, and it just gets annoying.


Dilvish wrote:
To start with I'd just have the alliance be a minor one -- Peace, plus whatever supported alliance benefits there are in-game (like benefits of an Ally's Neutronium Extractor); each member would plan their attacks on non-alliance empires based on their standard tactical goals

Sounds good.


Dilvish wrote:
Player Membershipmarkpi proposed that the human player could be a member of this lowbie alliance; I don't have much of an opinion on that yet. I think it's something that should be discussed.

I'd like to see the possibility of including human players, otherwise it will feel unfair to many players. Of course it will require the addition of some sort of interface for the player, so maybe human participation isn't part of the first draft.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Mar 07, 2013 1:48 am 
Offline
Designer and Programmer
User avatar

Joined: Tue Aug 14, 2007 6:33 pm
Posts: 2058
Location: Orion
Just to toss in a quick two cents: Try to consider a solution that could become a natural part of the eventual diplomacy system we develop, not something we'll end up throwing out and replacing when the real thing comes along, which looks like a very real danger in this case.

_________________
Warning: Antarans in dimensional portal are closer than they appear.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Mar 07, 2013 2:14 am 
Offline
Space Squid

Joined: Sun Feb 10, 2013 5:38 am
Posts: 70
Location: Flint, Wishagain
any ai intelligence where alliances are concerned is welcome in my book.
i am weak willed and until i became a decent[?] player at this game i found myself cheating fate by allying with my enemies to avoid a larger assault.
the ai should at the very least be able to deny/break/request alliances
this goes back to the current "charts" thread and power assessment.

_________________
thanks for a great game. :)

Starcraft, Syndicate, Populous, Star Control II, Master of Orion, Master of Magic, X-COM UFO Defense, Spacehulk: Vengence of the Blood Angels.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Mar 07, 2013 2:45 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
eleazar wrote:
I'd like to see the possibility of including human players, otherwise it will feel unfair to many players.
I'm coming to this preference also.

Quote:
Of course it will require the addition of some sort of interface for the player, so maybe human participation isn't part of the first draft.
I'll try playing a little with the current diplomacy and messaging interfaces, test having the AI's send peace proposals and messages (a little bit of declarative messaging would probably be best, such as to explain who the alliance members are, etc.) Perhaps what we have is enough for starters.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Mar 07, 2013 4:57 am 
Offline
Space Squid

Joined: Sun Feb 10, 2013 5:38 am
Posts: 70
Location: Flint, Wishagain
the human player invitation shouldn't be too bad imb, couldn't it just be a single dialog accept/reject?
i don't see why that would cause omission from the first releases unless you guys like to keep the 'computer' under the debugger :)
as for sharing a neutronium extractor...
this leads to the difference in non-aggression pacts and alliances themselves.
naps are what you guys have now
true alliances are what you all are hinting at right?
i could beat the hell out of a computer and it could request a nap 5 turns from it's end
the computer could beat the hell out of me and accept a mercy cry until it got done with the rest of the galaxy
the weak computers could formulate naps or alliances accordingly, and two big boys might create a nap on the fly if the humans get too cocky
an alliance and actually sharing stuff is quite a bit more complex
i used to play the original moo and we'd get tech offerings when we went on a rampage

/non-aggression pact/ /truce/ /mercy/
/alliance/

_________________
thanks for a great game. :)

Starcraft, Syndicate, Populous, Star Control II, Master of Orion, Master of Magic, X-COM UFO Defense, Spacehulk: Vengence of the Blood Angels.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Fri Mar 08, 2013 11:55 am 
Offline
Space Squid
User avatar

Joined: Sat Jul 05, 2008 11:00 pm
Posts: 76
I'd love to get diplomacy working now! You need to start making a bank of things the AI can say to you, too.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Fri Mar 08, 2013 10:28 pm 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
Nighthawk wrote:
I'd love to get diplomacy working now! You need to start making a bank of things the AI can say to you, too.

current version on SVN now has a tiny taste
Code:
Rev [5846] AI update with some minor "diplomacy" -- peace proposals will not always be accepted and will likely be accompanied by rude comments.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Fri Mar 08, 2013 10:44 pm 
Offline
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12045
Location: Munich
Dilvish wrote:
rude comments
Those comments are going to need to be put into the stringtable to make them translatable...


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Fri Mar 08, 2013 11:22 pm 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
Geoff the Medio wrote:
Dilvish wrote:
rude comments
Those comments are going to need to be put into the stringtable to make them translatable...
Ah yes, I suppose so. Right now it's half (one of two comments) based on American colloquial flippancy/innuendo in a vein that we may not want to continue, but I guess it's time to start planning some. It doesn't look like we have any UserString capability exposed to the AI yet; I'll include that in my related to-do list.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Fri Mar 08, 2013 11:40 pm 
Offline
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12045
Location: Munich
Dilvish wrote:
It doesn't look like we have any UserString capability exposed to the AI yet; I'll include that in my related to-do list.
It would be best long-term to have all the UserString looking up happen in the human client, rather than doing it in the AI and sending out the human-readable text in the chat message. This will require some modifications to be able to flag chat messages as requiring lookup before display, though.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Wed Aug 06, 2014 9:21 pm 
Offline
Creative Contributor
User avatar

Joined: Fri Jun 28, 2013 11:45 pm
Posts: 3295
As it's been discussed elsewhere, this is definitely the sort of thing I'd like to see.

It would be good if a) lower ranked AIs team together at a fairly obvious point b) AIs that are facing defeat can cede their remaining territories/ships to allies and c) the strongest player is acknowledged and ganged up on, whether or not that player is human (this would obviously help weaker players to some extent).

It'd be a good first step, but that sort of thinking for AIs would be something that's likely to carry over and be wanted in the end point of the game anyway, I always hated the point in MOO2 where you either "won" through leading the alliance or ended up fighting everyone together, but hated in terms of it was a challenge, not because the mechanic itself was a bad idea.

Definitely need more stringtable love for their messages (and, frankly, take out the "your Mum" joke, it's a bit too cliche ;-) ).

_________________
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Wed Aug 06, 2014 11:39 pm 
Offline
Juggernaut

Joined: Mon Feb 04, 2013 10:15 pm
Posts: 759
MatGB wrote:
It'd be a good first step, but that sort of thinking for AIs would be something that's likely to carry over and be wanted in the end point of the game anyway, I always hated the point in MOO2 where you either "won" through leading the alliance or ended up fighting everyone together, but hated in terms of it was a challenge, not because the mechanic itself was a bad idea.


Final War, both MOO and MOO 2 have that.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Aug 07, 2014 8:21 am 
Offline
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12045
Location: Munich
As a temporary adjustment, AIs ganging up on the leader is OK, but it's probably not good to assume / plan for it to be used long term. Generally people want relationships with AI players throughout a game to have some weight, which in this case might mean an AI not declaring war on the leader just because they are the leader, but instead maintaining a game-long alliance.

That said, if the goal of AIs is to win (or stop other players from winning), it makes sense for them to do this.

Which behaviour / goal is preferable / chosen by AIs might be a matter of the personality of the AI scripts being used.


Top
 Profile  
 
 Post subject: Re: AI Alliances
PostPosted: Thu Aug 07, 2014 12:36 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4303
Location: Sol III
^This.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group