ENDLESS™ Space 2 is turn-based 4X space-strategy that launches players into the space colonization age of different civilizations within the ENDLESS™ Universe. Your Vision. Their Future.
Intuition tells me that these optimizations may not be sufficient, but I should probably look into these things and do the math before making any judgement calls. Planning could well prove to be the right solution at a very high level (working towards victory) but the danger there are the "steps" in the plan being too far removed from the actual actions perform in the game. In are as many way to have one more cities as there are to skin a cat. A much "safer" place that planning could (and may well) be used is quest resolution. This is something we're looking into at the moment.
Yeah. Computational horizon is a real thing...
I think the balance is really between AI behavior being controlled and consistent (ala planning approach) vs it being unpredictable (ala stochastic). I'd begin with a strong planning framework, and introduce weighted dice rolling mechanisms onto that framework so that as a software, it's always behaving in ways that are consistent (i.e. one can then build a cogent story around) but occasionally surprises in the choosing of Goals and of Plans...
That said, I'd like to switch tact a bit...
I think what can be done about the AI is actually this: Community Out-Source it. I don't mean give me an Excel spread sheet so I can tune weights, I mean give me the API spec and the plugins into the gameworld so that the community can contribute. I think if the API is well designed, what you'll find is actually a community-evolved AI that can be shared back with everyone. lol. If you do this to EL or ES-2, you might have derailed all my current projects...
wilbefast wrote: This is exactly what I mean when I say that a "Game Master" wouldn't be "kosher"
It's worth noting though that you can never completely separate the two: most 4X players play against the AI most of the time, so when we're designing systems we have to keep in mind whether the AI will be able to use them correctly. It's also why the trade-off between the exoticism of the factions and the quality of the AI is one worth giving some serious thought.
It is indeed worth some thought. I love the exotic factions you guys have created, but it is kind of heartbreaking to never face an AI opponent that can use its unique abilities against you in a convincing manner. Maybe during the conceptual stages of creating factions, you can have more talk between the artists/designers and the programmers (specifically the AI coders) about how the unique traits of each faction may impact the AI and its effectiveness.
Interesting theory - does this seem legitimate to everyone?
AI building more effective fleets would be a huge help, because hopefully it would mean they don't need to zerg unending fleets at you out of nowhere which still get decimated if you build a few very good fleets. It would mean the AI would need less resource bonuses to be more effective at war.
It's also why the trade-off between the exoticism of the factions and the quality of the AI is one worth giving some serious thought.
Definitely. The exotic/unique factions are what set EL apart from other 4x in my opinion (so keep moving that way in ES2!). They are what make the game. In reality the AI in EL probably isn't much worse then similar 4x (ie: FE:LH). What makes it feel worse is the amount of unique/intriguing options built into EL that the AI cannot use or handle.
Another example is combat, it is unique to not have a unit-by-unit command, but the AI's grasp on it limits it more then a unit-by-unit would.
So to me, the more unique the world/factions/playing the better the AI has to be to compensate...
About computation, I'm not an expert and i don't know really know how an AI, in a 4x, is functioning.
But if all the calculation is done during "the click of the end turn" maybe some pre-processing could be done on some aspects during the player turn in a special thread. The AI will play the n turn with the data of the n-1 turn.
Interesting theory - does this seem legitimate to everyone?
YES! There was a mod for ES that made the AIs use more reasonable ship designs (not even affecting fleets, which were often underfilled or otherwise gimped). Just changing the designs to be more in line with player designs increased the AI performance by about one difficulty level according to most people.
But if all the calculation is done during "the click of the end turn" maybe some pre-processing could be done on some aspects during the player turn in a special thread. The AI will play the n turn with the data of the n-1 turn.
Taking advantage of effectively idle CPU while the player/user is between clicking end-turn/interactions is definitely common practice. Some interesting observation though, in EL, sometimes I can avoid combat by moving my stack, as the AI tries to move its stacks into range. This example demonstrates the AI is computing what to do in turn n, as the player is taking that same turn.
I think that good AI is a much more descriptive task than a constructive task. Humans will figure out the game very rapidly and create good strategies. After that, creating AI is about describing how strong players play.
Unfortunately, that means that AI has to be created at the very end of the development cycle-- maybe concurrent with a beta. If the game is still changing, then so are strategies.
One of the bigger problems with doing things this way is that developers are very busy people. They don't have as much time to play their own game as they would like. They don't often develop the strongest strategies. Yet they're the ones that are around, so the AI is based on their strategies, and never updated.
The best way to make good AI is to be good at playing the game. Fair AI is not going to exhibit stronger strategies than the person developing it. Creating a system that automatically collects games from your users lets you check to see if your AI is meeting your expectations and gives developers a database of games with which they can learn new strategies.
I don't believe that game AI can reasonably be separated from mechanics without handicapping the AI. But that doesn't mean that the code for the AI can't be separated. If a developer is going to focus on AI, it's going to have to be updated with every change to the game. Creating clean, modular, well-written AI code is vital for purposes of maintenance. It also lets you swap in entirely new AI modules. If you can sandbox your AI, sending it only the same fair information you send the player, permitting it only the same functions your UI calls, then you can actually let players create their own AI with which to play single or multiplayer games. If you want capable AI, the best way you're going to get it is by creating an environment for your users to create and use their own, and prove their code in competition against each other.
It would be interesting to see a feature at the end of the game showing the influence map and how it evolved, kind of like the following (Goonswarm- BoB war in EVE)
This would, in a tweaked version, offer a vastly more interesting post-game recap (which is, honestly, part of the narrative and helps build a coherent version of the game, and you can go pointing at a sudden dip in an opponent's stats with "aah that's when we started that war!"), and potentially offer devs a high-level look at a game's pace and players's expansion.
I realize this might be only tangentially related to the topic, but I think it'd definitely be worth it.
If the AI simply knew how to build better fleets it would have dramatically increase its ability to challenge the player.
Interesting theory - does this seem legitimate to everyone?
It would definitely challenge me. For me, the difficulty of ES1 is to research and produce well designed ships fast enough, put a skilled hero in charge and then hold off the endless waves of badly built AI armadas So if the AI starts building efficient ship designs I'd be wrecked
SpaceVoyager wrote: A game should only include features that the AI is able to use well, too.
So, please let the player only use the features the AI is able to use, too.
That's a nice ideal but it breaks down in practice. Let's take Endless Legend as an example: AI does not make use of Drakken's force peace ability; Broken Lord's noneed for food and uses Roving Clan's market ban ability without any forethought (or so it seems to me). If we follow the ideal then those factions need to be removed and replaced by a simple +X to Y stat bonus faction abilities (like Civilization does it). For me that's boring. So I prefer to have these unconventional asymmetric factions to play even when the AI can't make good use of them. And who knows, maybe the AI will be improved enough in the future to make good use of them. I speak as someone who plays exclusively singleplayer 4X games.
Naturally, people that play multi wouldn't care about AI's inability to utilize certain factions and simply be happy that humans get to play around with such distinct faction mechanics.
The best way to make good AI is to be good at playing the game. Fair AI is not going to exhibit stronger strategies than the person developing it. Creating a system that automatically collects games from your users lets you check to see if your AI is meeting your expectations and gives developers a database of games with which they can learn new strategies.
...
Creating clean, modular, well-written AI code is vital for purposes of maintenance. It also lets you swap in entirely new AI modules. If you can sandbox your AI, sending it only the same fair information you send the player, permitting it only the same functions your UI calls, then you can actually let players create their own AI with which to play single or multiplayer games. If you want capable AI, the best way you're going to get it is by creating an environment for your users to create and use their own, and prove their code in competition against each other.
I second that!
I think what can be done about the AI is actually this: Community Out-Source it. I don't mean give me an Excel spread sheet so I can tune weights, I mean give me the API spec and the plugins into the gameworld so that the community can contribute. I think if the API is well designed, what you'll find is actually a community-evolved AI that can be shared back with everyone. . If you do this to EL or ES-2, you might have derailed all my current projects...
That's me saying the same thing in a different way...
Scripting languages such as LuA has been used to implement plug-in-able AI component of games. So, it's definitely possible.
As a gameplay programmer myself, I think the efforts of people like us are admirable, but I find that the community always find ways to think and act outside of the box I constructed. If I can't beat them, I let them join me, I say...
Knowing next to nothing about AI architecture, I can not give any in-depth input about creating a good AI, but I'd still like to add my two cents to the discussion of what makes a good AI.
I believe there are two important aspects that need to be balanced. Consistency versus unpredictability, and character/personality versus winning.
An AI that seems to behave arbitrarily quickly frustrates the player. Whether the Roving Clans market ban me even though I am busily wiping out the necrophages threatening them in Endless Legend, or Ghandi suddenly threatening me with nuclear weapons in Civilization even though we've been on good terms for a long time, it makes every interaction except war feel pointless. Why sign a research agreement that will benefit them if 20 turns later they forget about that and attack you? Similarly, the unit designs and city improvements the AI picks sometimes feel arbitrary as well. Sometimes the decisions of the AI feel like it changes its priorities on a whim at the slightest change of circumstances.
Playing a role/character versus playing to win has a similar issue. Of course we as players want the AI to play at its best and try to win. However, decisions that don't mesh well with our lore-based perception of a faction (e.g. Drakken declaring war on everybody) are easily perceived as arbitrary, even if the AI might have a perfectly good reason for what it's doing. In large parts, playing a role comes down to a certain consistency: Of course Drakken might declare war or Roving Clans might refuse to trade, but if we do not know why, then we suspect random chance in the AI decision.
However, I believe a few steps can be taken to alleviate those issues.
First, the AI should perhaps be more communicative. Any aggressive act taken towards the player might be accompanied by a short diplomatic message informing us of the reasons. Furthermore, AI might also inform us of its relationship with other AIs, similar to how they do in Civilization V. "We see you are friends with X. So are we." or perhaps even an "We will tolerate you, because you hate X, and we hate X more than we hate you."
Second, the AI should definitely pursue some goal. This goal needn't be scripted, but it should lead to a noticeable bias in the weighting. Perhaps the AI place a "standard" game the first 20 or 30 turns, somewhat biased towards their strengths, and then evaluate its situation and pick potential victory conditions, which would have a greater impact on its decision process. To speak in the metaphor of the agents, the responsible ministers in the senate would receive additional votes.
Third, as difficult as it is, the AI factions need to be able to use the special traits of the different factions at least to some extent. I love the unique factions of the Endless games, and I don't want to give them up just to improve AI, but it can be frustrating to feel like the Necrophages don't benefit from their food boosters or the Vaulters don't use teleportation. (I am not sure how well the AI uses the different abilities at the moment.)
On a related note, I do wonder how the AI handles combat. Does it plan the entire turn ahead of time, as we do, or does it process the turn on a unit by unit basis as it progresses? Does it pick out priority targets (other than the enemy with lowest health)? Does it take into account lower initiative units?
Report comment
Why do you report The-Cat-o-Nine-Tales?
Are you sure you want to block The-Cat-o-Nine-Tales ?
BlockCancel
Are you sure you want to unblock The-Cat-o-Nine-Tales ?
Caotico09 wrote: Definitely. The exotic/unique factions are what set EL apart from other 4x in my opinion (so keep moving that way in ES2!). They are what make the game. In reality the AI in EL probably isn't much worse then similar 4x (ie: FE:LH). What makes it feel worse is the amount of unique/intriguing options built into EL that the AI cannot use or handle.
Another example is combat, it is unique to not have a unit-by-unit command, but the AI's grasp on it limits it more then a unit-by-unit would.
So to me, the more unique the world/factions/playing the better the AI has to be to compensate...
Faction attributes, both the bonus and the penalties, in 4X games are mechanics for guiding the HUMAN players to play in a certain way as designed by the gameplay team. For example...
* Broken Lords Players would find their lives easier, if they focus on getting dust.
* Sophon Players would have an easier time, if they focus on tech and building up infrastructures.
* Craver Players would fail less, if they focus on expanding and taking new planets by force or by natural expansion.
I.e. the factional attributes, in a sense, put US in a mood to role play the faction in the game...
For an AI gameplay designer/producer, the challenge would be to design an AI system capable of playing a generic faction (i.e. one without factional features) but nevertheless with consistent personalities. For example...
* as a human player, I would encounter a neighbor that plays like a warlike craver throughout the game, without them fighting better because of better combat stats, but nevertheless aggressive because they have invested less in research and infrastructure but more on maintaining a steamrolling fleet..
* as a human player, I would encounter a neighbor that plays like a xenophobic Sophon throughout the game, without them researching faster because of better research status, but nevertheless are further along in the tech tree because they have invested more in research and infrastructure.
To summarize, the Personality of a Faction is implemented in an AI player by its Goal selection function. If I print out all the Goals selected by an AI player throughout a game, I should be able to see its personality reflected within it... For example.
The-Cat-o-Nine-Tales wrote: Knowing next to nothing about AI architecture, I can not give any in-depth input about creating a good AI, but I'd still like to add my two cents to the discussion of what makes a good AI.
We have developers on staff who are specialised in AI and who've been working on ours since Endless Space, plus external experts. What we really need from the community is what you guys what in terms of improvements rather than how to implement them - peoples' 2 cents are exactly what we need
The-Cat-o-Nine-Tales wrote:
I believe there are two important aspects that need to be balanced. Consistency versus unpredictability, and character/personality versus winning.
An AI that seems to behave arbitrarily quickly frustrates the player. Whether the Roving Clans market ban me even though I am busily wiping out the necrophages threatening them in Endless Legend, or Ghandi suddenly threatening me with nuclear weapons in Civilization even though we've been on good terms for a long time, it makes every interaction except war feel pointless. Why sign a research agreement that will benefit them if 20 turns later they forget about that and attack you? Similarly, the unit designs and city improvements the AI picks sometimes feel arbitrary as well. Sometimes the decisions of the AI feel like it changes its priorities on a whim at the slightest change of circumstances.
Playing a role/character versus playing to win has a similar issue. Of course we as players want the AI to play at its best and try to win. However, decisions that don't mesh well with our lore-based perception of a faction (e.g. Drakken declaring war on everybody) are easily perceived as arbitrary, even if the AI might have a perfectly good reason for what it's doing. In large parts, playing a role comes down to a certain consistency: Of course Drakken might declare war or Roving Clans might refuse to trade, but if we do not know why, then we suspect random chance in the AI decision.
However, I believe a few steps can be taken to alleviate those issues.
First, the AI should perhaps be more communicative. Any aggressive act taken towards the player might be accompanied by a short diplomatic message informing us of the reasons. Furthermore, AI might also inform us of its relationship with other AIs, similar to how they do in Civilization V. "We see you are friends with X. So are we." or perhaps even an "We will tolerate you, because you hate X, and we hate X more than we hate you."
Second, the AI should definitely pursue some goal. This goal needn't be scripted, but it should lead to a noticeable bias in the weighting. Perhaps the AI place a "standard" game the first 20 or 30 turns, somewhat biased towards their strengths, and then evaluate its situation and pick potential victory conditions, which would have a greater impact on its decision process. To speak in the metaphor of the agents, the responsible ministers in the senate would receive additional votes.
Third, as difficult as it is, the AI factions need to be able to use the special traits of the different factions at least to some extent. I love the unique factions of the Endless games, and I don't want to give them up just to improve AI, but it can be frustrating to feel like the Necrophages don't benefit from their food boosters or the Vaulters don't use teleportation. (I am not sure how well the AI uses the different abilities at the moment.)
The point you make about consistency is a good one I think. Intelligence is unpredictable, but in a way good game design is all about predictability. Note that "predictable" doesn't mean "easy", it means "fair". I might reasonably expect, as a new player, that the spiky black ships are more likely to be a threat than the round shiny ones. I might reasonably expect that empires of the same species will tend to ally more than empires of different species. I might reasonably expect a long-term ally to have my back when things get rough. The game has effectively lied to me if this proves not to be the case. Having slightly different AI routines for each faction is not just about making the AI better able to play their strength, and it's not just about "flavour", it's about conforming to reasonable expectations. "Predictability" is not a dirty word!
wilbefast wrote: ...Often I'll open the AI's brain to see what it's doing and, upon seeing it's internal state, decide that in fact it is behaving as it should. On the surface though it might have seemed strange. I'm sure Jeff wouldn't object to writing more flavour-text. Well he might, but he's outnumbered by French people here 10 to 1 ...
I am going to share my thoughts on a (strategic, not battle) game AI.
In an effort to make the AI play similar to a human, we will have to first establish how humans (in general) think when playing a strategy game. I am going to use Endless Legend for all examples during this post, but I assume every concept should be fairly easily transferred to a game like Endless Space 2. The design should allow for an AI that:
[LIST=1]
Is not easily exploitable
Does well in every (most) situation
Is able to plan ahead
Has a customizable ”personality” (warmongering Necrophages, peaceful Roving Clans, etc.)
[/LIST]
When I play, I basically operate with two (to an extend subconsciously) lists of priorities:
- General objectives (GO list). This one does not change during the game.
- Short/long term plans (Plans list). This one changes dynamically.
The GO list contains a predetermined, prioritized list of objectives that I seek to accomplish. For me it looks something like this:
[LIST=1]
Make sure I am not in danger of being attacked an wiped out/do my best to win current war(s)
Try to prevent an opponent who is about to win to do so (if needed form alliances with others)
Expand if happiness allows for it and there are suitable neighboring regions to colonize
Optimize my economy/happiness/resource production within my current borders
Attack (weaker) opponents
Go for a no military victory (economic, science, whatever suits my faction/current situation)
[/LIST]
This list should be fairly close the GO list of almost all human players, though the priorities may be slightly different from person to person. Number 1) and 2) should be fairly common general objectives though.
Now as I play the game, I look at my GO List to figure out what to do next. When each step is satisfied I move on the next. To actually move down the list, I have to use my Plans List, which is a set of actions that need to be done, in order to satisfy the current highest priority item of the GO List.
When I have settled my first city and scouted the surrounding area, I always evaluate the level of threat against me. The threat level is based on nearby enemies and/or roaming armies. If I feel I am in danger, I will fill my plans list with a set of objectives that needs to be completed in order to reduce the level of threat to an acceptable level. It could look something like this:
[LIST=1]
Retrofit existing units
Build units
Research military techs
Make sure I can afford a larger standing army
[/LIST]
During the process I regularly re-evaluate the threat level and empty my Plans List if I believe I have accomplished the goal. When done, I move on to the next item of my GO List, while every turn evaluating if all previous objectives has been accomplished. For example, if I am in the process of producing economic buildings in order to optimize my economy, but my next door neighbor suddenly spikes hard in military might, I will reset the list and fall back to item 1 (make sure I am not in danger), which alters my plans list. As soon as am I back near the top in military might, I will automatically move down the list and end up where I was before at item 4 (given that 2 and 3 are still satisfied).
Each item of the GO list has a certain set of associated items to be placed in the Plans List. If I want to optimize my economy (meaning all FIDSI) I have a alot of options. What do I prioritize? Which structures do I build? Where do I build them? Do I buy them out?
This is where the Layered Tyrannical AI comes into play (wilbefast knows what I am talking about. From here).
The Head of State is the undisputed king of the AI for each faction. It holds the GO and Plans Lists, and decide the direction of the faction as a whole. However, some items on the GO List can be dealt with diplomatically, and the decisions can be delegated to a Council of Ministries. These could be the Ministry of Dust, of Science, of production, of War and so on.
In order to achieve a balance in my economy, I seek to make sure that I produce an acceptable amount of all types of FIDSI. This ”acceptable amount can obviously vary depending on the faction (no food, lots of dust for Broken Lords for instance), but generally I don’t like to fall far behind in any FIDSI that is relevant to the faction I play at the time.
Basically, once the decision to improve the economy is made by the Head of State, each Ministry reports some value back, that indicates how needed a certain type of building/worker distribution is. The value can be based on score compared to opponents and how many of the already available (cost efficient for each city) buildings hasn’t already been constructed. The Head of State then fills the plans list with tasks based on the highest value, that is above a certain limit. If this limit is not met for any of the ministries, we advance to the next item on the GO List (since the economy is fine/cannot be optimized further at this point). If the nation is falling critically behind in Science, the list could look something like this:
[LIST=1]
Build science buildings
Research new science buildings
Found cities with a high science potential
Allocate workers to science
[/LIST]
During the process of completing the tasks on the Plans List, each Ministry continuously re-evaluates the status. If at any point the priorities shift, the Plans List is filled with new, suitable tasks, until at some point no value is above the threshold or an item further up the GO List is no longer satisfied (like, if we are now in danger of being attacked).
The beauty of this kind of AI is that it will cover the most important bases at all times. It will do whatever possible to never be weak enough for a surprise attack to wipe it out in a couple of turns. It will expand when possible and build up a strong balanced economy. It will constantly re-evaluate it’s position and strength, and will seek to hinder victory conditions to be met by opponents. It will go offensive when possible and if not, it will try to win some other way. And it will do so in a focused way, not trying to move the empire in several different directions at once.
It is also customizable. The only thing needed to create different personalities/playstyles for each individual faction is to alter the priorities of the GO List, change the weighing of the ministries (which can also be used when deciding where to settle a city, or how to allocate workers) and possibly alter Task Lists for some or all of the General Objectives.
The Ministry of Dust should have a very high weight within the Broken Lords, while ”Attack weaker opponents” could be placed higher in the GO List of the Necrophages, and Economic Victory could be the default peaceful victory for the Roving Clans. Item 1 and 2 of the GO List should probably remain the same for everyone.
You could even add the option of ”randomized personalities” by just randomizing the lists and weightings (to a certain extend).
wilbefast wrote: We have developers on staff who are specialised in AI and who've been working on ours since Endless Space, plus external experts. What we really need from the community is what you guys what in terms of improvements rather than how to implement them - peoples' 2 cents are exactly what we need
The point you make about consistency is a good one I think. Intelligence is unpredictable, but in a way good game design is all about predictability. Note that "predictable" doesn't mean "easy", it means "fair". I might reasonably expect, as a new player, that the spiky black ships are more likely to be a threat than the round shiny ones. I might reasonably expect that empires of the same species will tend to ally more than empires of different species. I might reasonably expect a long-term ally to have my back when things get rough. The game has effectively lied to me if this proves not to be the case. Having slightly different AI routines for each faction is not just about making the AI better able to play their strength, and it's not just about "flavour", it's about conforming to reasonable expectations. "Predictability" is not a dirty word!
Speaking of predictability, it's also fine letting the player know why the AI behaves one way or another within the game, and avoid the Ghandi-send-nukes syndrome. As long as your AI act consistently and without too much scripts or cheats.
Again taking a page from paradox game, like EU4, when the AI decide to attack someone, you can always figure out why because everything is written in various tooltips.
For instance Castille and France have been allies for a time, Castille relation towards France will be displayed as a number between, -200 and 200, and likewise, France opinion of Castille will be displayed as a different number. If you hover your mouse on these numbers, the breakdown of these numbers will appear in a tool tip.
So you might learn their alliance give them +50 towards each other, their common rivals +20, they have fought wars on the same side +30 etc.. the player have access to all of this. You can then figure out how the AI acts, it's somewhat predictable has you say because you have a big window on how it "thinks". But the player won't feel cheated. If france suddenly decide to attack Castille, it will most likely be because a series of events in the game have led to a collapse of the relationship, but as a player you'll be able to understand how it happened.
To continue my example let's add a third country, Aragon, which have a border with both France to the north and Castille to the West. Castille really wants to conquer Aragon. It's attitude towards aragon will be displayed as Hostile, and their relation will be nearing -200, the reason given could be as simple as "Castille wants Barcelona, Valencia, etc." could be a matter of religion or whatever.
Even if the Castille AI really wants to go to war it will still checks its own military power and of its allies (ie France), and compare it to the military power of Aragon and their allies. This is invisible to the player, but the point is an AI won't suicide itself against a tougher opponent if it has no chance at all (though it might happens on some rare occasions). The AI is also opportunistic because it constantly check its power against the one of its enemies and can time its attacks pretty viciously to take advantage of an already weakened enemy.
Castille has no trouble winning over Aragon and completely annexes them. Problem is, France also wanted some piece of Aragon but failed to act. The fact Castille now have a bigger border, and provinces France wants, can lead to a breakdown of the good relations between the two country, it rarely happens in a flash, but the relation maluses will add up over time if events like this pile up. May be France will then invade Navarre and upset greatly Spain which will as a result cancel its alliance with France, and then the two might finally duke it out.
Point is, the player has access quite openly to this kind of information as soon as they appear in his diplomacy menu. And can then understand how the AI behave plan his strategy accordingly.
clykke wrote: I am going to share my thoughts on a (strategic, not battle) game AI.
In an effort to make the AI play similar to a human, we will have to first establish how humans (in general) think when playing a strategy game. I am going to use Endless Legend for all examples during this post, but I assume every concept should be fairly easily transferred to a game like Endless Space 2. The design should allow for an AI that:
[LIST=1]
Is not easily exploitable
Does well in every (most) situation
Is able to plan ahead
Has a customizable ”personality” (warmongering Necrophages, peaceful Roving Clans, etc.)
[/LIST]
When I play, I basically operate with two (to an extend subconsciously) lists of priorities:
- General objectives (GO list). This one does not change during the game.
- Short/long term plans (Plans list). This one changes dynamically.
The GO list contains a predetermined, prioritized list of objectives that I seek to accomplish. For me it looks something like this:
[LIST=1]
Make sure I am not in danger of being attacked an wiped out/do my best to win current war(s)
Try to prevent an opponent who is about to win to do so (if needed form alliances with others)
Expand if happiness allows for it and there are suitable neighboring regions to colonize
Optimize my economy/happiness/resource production within my current borders
Attack (weaker) opponents
Go for a no military victory (economic, science, whatever suits my faction/current situation)
[/LIST]
Great post - very in-depth I've book-marked it for later reference and will probably pull a few things out of here!
For the record EL's GO list was essentially:
[LIST=1]
Optimise my economy/happiness/resource production within my current borders
Expand if happiness allows for it and there are suitable neighbouring regions to colonise
Make sure I am not in danger of being attacked and wiped out and do my best to win current war(s)
Attack (weaker) opponents, especially opponents with a higher science or economic score
[/LIST]
So what's missing really is the focus on victories: both the AI's own victory and those of other players. We figured the AI should not know it is in a game, meaning that it doesn't behave as though the game is going to end on turn 300 or when another empire reaches X dust. This felt like it would be cheesy to us. Perhaps we can find some sort of middle-ground though for ES2. Thoughts?
darkath wrote: For instance Castille and France have been allies for a time, Castille relation towards France will be displayed as a number between, -200 and 200, and likewise, France opinion of Castille will be displayed as a different number. If you hover your mouse on these numbers, the breakdown of these numbers will appear in a tool tip.
So you might learn their alliance give them +50 towards each other, their common rivals +20, they have fought wars on the same side +30 etc.. the player have access to all of this. You can then figure out how the AI acts, it's somewhat predictable has you say because you have a big window on how it "thinks". But the player won't feel cheated. If france suddenly decide to attack Castille, it will most likely be because a series of events in the game have led to a collapse of the relationship, but as a player you'll be able to understand how it happened.
This is yet another important concept: "transparency" - that is revealing the inner workings of the simulation to the player as much as possible
Of course transparency and immersion are at odds, since the later requires some degree of magic and mystery. 4X players tend to prefer the former it seems, but I'd be interested in all your thoughts of the matter
...meaning that it doesn't behave as though the game is going to end on turn 300 or when another empire reaches X dust. This felt like it would be cheesy to us. Perhaps we can find some sort of middle-ground though for ES2.
I would completely disagree. I would say in the vast majority of multiplayer games players play to win. Why should the AI be different? I would probably finish more games if the AI played to win. As it is I played EL for ~150 hours and only finished 2 games. Once you get the highest score and/or start crushing with your military, the AI is too passive to make the end game worth playing. (Once it is clear I will win, I quit). If the AI was playing to win, more of these games might be an exciting race to the finish instead. At the very least I would hope that if I've taken over half the map that everyone else is trying to stop me from taking the other half.
This is yet another important concept: "transparency" - that is revealing the inner workings of the simulation to the player as much as possible
Of course transparency and immersion are at odds, since the later requires some degree of magic and mystery. 4X players tend to prefer the former it seems, but I'd be interested in all your thoughts of the matter
I think it's a matter of compromising between transparency and immersion. I think IMHO when it come to diplomacy, the players really want to know how they can possibly interact with the AI, what are their options, what are the cause and consequences. If an AI suddenly hate your guts, it should be made clear to the player why it happens.
Without access to this information, often the player will think the AI acts randomly even though the mechanics behind the scenes are the same.
This happens a lot in Civilization, you don't understand why Ghandi is suddenly sending nukes, so ultimately you don't bother trying to do diplomacy with the AI anymore since you can't figure out what works and what doesn't (there is so many possible situation that ultimately it's impossible by pure trial and error)
(btw it seems that my post you're quoting has been moderated out for some reason)
poolslice
Newcomer
poolslice
Newcomer
18 400g2g ptsReport comment
Why do you report poolslice?
Are you sure you want to block poolslice ?
BlockCancelAre you sure you want to unblock poolslice ?
UnblockCancelSlashman
Eyder Precursor
Slashman
Eyder Precursor
27 600g2g ptsReport comment
Why do you report Slashman?
Are you sure you want to block Slashman ?
BlockCancelAre you sure you want to unblock Slashman ?
UnblockCancelCaotico09
Newcomer
Caotico09
Newcomer
100g2g ptsReport comment
Why do you report Caotico09?
Are you sure you want to block Caotico09 ?
BlockCancelAre you sure you want to unblock Caotico09 ?
UnblockCancelJiheu
Newcomer
Jiheu
Newcomer
100g2g ptsReport comment
Why do you report Jiheu?
Are you sure you want to block Jiheu ?
BlockCancelAre you sure you want to unblock Jiheu ?
UnblockCancelEcthelionHelm
United
-EC
EcthelionHelm
United
20 100g2g ptsReport comment
Why do you report EcthelionHelm?
Are you sure you want to block EcthelionHelm ?
BlockCancelAre you sure you want to unblock EcthelionHelm ?
UnblockCancelpoolslice
Newcomer
poolslice
Newcomer
18 400g2g ptsReport comment
Why do you report poolslice?
Are you sure you want to block poolslice ?
BlockCancelAre you sure you want to unblock poolslice ?
UnblockCancelnatev
Newcomer
natev
Newcomer
200g2g ptsReport comment
Why do you report natev?
Are you sure you want to block natev ?
BlockCancelAre you sure you want to unblock natev ?
UnblockCancelthe_wamburger
Newcomer
the_wamburger
Newcomer
21 200g2g ptsReport comment
Why do you report the_wamburger?
Are you sure you want to block the_wamburger ?
BlockCancelAre you sure you want to unblock the_wamburger ?
UnblockCancelFalkner
Lord
Unbowed, unbent, unbroken
Falkner
Lord
43 200g2g ptsReport comment
Why do you report Falkner?
Are you sure you want to block Falkner ?
BlockCancelAre you sure you want to unblock Falkner ?
UnblockCancelpoolslice
Newcomer
poolslice
Newcomer
18 400g2g ptsReport comment
Why do you report poolslice?
Are you sure you want to block poolslice ?
BlockCancelAre you sure you want to unblock poolslice ?
UnblockCancelVIPThe-Cat-o-Nine-Tales
Shifter
VIPThe-Cat-o-Nine-Tales
Shifter
53 100g2g ptsReport comment
Why do you report The-Cat-o-Nine-Tales?
Are you sure you want to block The-Cat-o-Nine-Tales ?
BlockCancelAre you sure you want to unblock The-Cat-o-Nine-Tales ?
UnblockCancelpoolslice
Newcomer
poolslice
Newcomer
18 400g2g ptsReport comment
Why do you report poolslice?
Are you sure you want to block poolslice ?
BlockCancelAre you sure you want to unblock poolslice ?
UnblockCancelDEVwilbefast
Lost Dev
Something is afoot at the end of my leg!
DEVwilbefast
Lost Dev
37 000g2g ptsReport comment
Why do you report wilbefast?
Are you sure you want to block wilbefast ?
BlockCancelAre you sure you want to unblock wilbefast ?
UnblockCancelDEVSlowhands
Literary Dev
"Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do."
DEVSlowhands
Literary Dev
39 800g2g ptsReport comment
Why do you report Slowhands?
Are you sure you want to block Slowhands ?
BlockCancelAre you sure you want to unblock Slowhands ?
UnblockCancelDEVwilbefast
Lost Dev
Something is afoot at the end of my leg!
DEVwilbefast
Lost Dev
37 000g2g ptsReport comment
Why do you report wilbefast?
Are you sure you want to block wilbefast ?
BlockCancelAre you sure you want to unblock wilbefast ?
UnblockCancelclykke
Newcomer
clykke
Newcomer
100g2g ptsReport comment
Why do you report clykke?
Are you sure you want to block clykke ?
BlockCancelAre you sure you want to unblock clykke ?
UnblockCanceldarkath
Pixel
Old man who lives as he wants but accomplishes nothing.
darkath
Pixel
21 200g2g ptsReport comment
Why do you report darkath?
Are you sure you want to block darkath ?
BlockCancelAre you sure you want to unblock darkath ?
UnblockCancelDEVwilbefast
Lost Dev
Something is afoot at the end of my leg!
DEVwilbefast
Lost Dev
37 000g2g ptsReport comment
Why do you report wilbefast?
Are you sure you want to block wilbefast ?
BlockCancelAre you sure you want to unblock wilbefast ?
UnblockCancelCaotico09
Newcomer
Caotico09
Newcomer
100g2g ptsReport comment
Why do you report Caotico09?
Are you sure you want to block Caotico09 ?
BlockCancelAre you sure you want to unblock Caotico09 ?
UnblockCanceldarkath
Pixel
Old man who lives as he wants but accomplishes nothing.
darkath
Pixel
21 200g2g ptsReport comment
Why do you report darkath?
Are you sure you want to block darkath ?
BlockCancelAre you sure you want to unblock darkath ?
UnblockCancel