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.