Genius difficulty, immense galaxy, 5 AIs (to give them lots of room to expand), here is a picture of the 2nd most powerful nation on turn 480 (and yes, im Canada):
Yes.
Icemaniaa:
Combining your observations one approach to the AI problem could be to use the community support. If improving the actual AI is prohibitively expensive then how about concentrating on adding lots of new triggers, checks, scripting hooks, parameters, callable AI functions, and generally opening up the AI for customization, and then see what happens?Heck, they could even make it a competition: $1,000 worth of SD games and everlasting fame and glory for creating the best AI opponent as judged by Brad.
Also, yes.
I agree with naselus. It is not only time to begin putting up, it is time for Stardock to say what they intend. I think there is an understanding at Stardock that the AI (broadly used - I consider everything the AI 'player' does to fall under the category of 'AI') is not adequate, or at least an understanding that there are a lot of players who believe the AI is not adequate. Stardock would not be launching threads asking for improvements if they intended to ignore what people say - at least that's not my experience with the company. And at this point I think there is some consensus among the players - explained in deep and comprehensive detail - as to where the issues lie.
Second, while there are a lot of good suggestions (IMHO) here, Stardock has already pulled most of the labor off of a 'finished' game and is moving on other projects. This limits what they can do and there is no point in us debating whether that was a good decision or not - it is done, and was done for good and sufficient reasons, and we can't revisit it.
Third, opening up the AI by providing new variables (triggers) looks to me to be a win-win suggestion, satisfying the customer base while using minimal programmer resources. But I'm not a professional game-programmer or Stardock employee and there may be reasons they don't want to do that.
Fourth, the 3-D ship modeling was probably something a Stardockian developed because they were interested in it, and it was put out to the public as a 'this is really cool' way of separating the game from others of the genre. And it is extremely cool, and it probably did not soak up major time or resources, and we would not have gotten a better game without it, so criticism here is (I think) misplaced. This falls under the category of, 'the meal includes desserts one of which is ice cream, and perhaps you should not eat it if you don't like ice cream, but the restaurant should not remove it from the menu because you don't like it'.
Fifth. Brad, I understand this is your game, and I understand there are times when you can or can't talk to the public - and about what - and how. I think we've exhausted this topic and I sense some frustration that there hasn't been a substantive response from you. I don't take your previous comments on the subject as defensive - mostly attempts to explain the nature of the problem - but I can see how others would. I think - hope - that not saying anything means you guys are taking notes, mapping options and preparing to do whatever it is you want to do. And I can see that you don't want to make promises that you later find out you can't keep, and so would rather show than tell. Still...
I'm asking you - please - to take the time to give us a long-form answer. Tell us if you agree there are issues, lay out what you are looking at, and sketch out a proposal or two. Because a lot of us love this game too and are frustrated, and nothing will get better out of silence. I know that you don't want customers you want raving fans and you have them. But part of having fans is that you wind up with a lot of people who feel invested, who feel like they are your partners even though we aren't. Sometimes that's great, sometimes it sucks - but if you want the fan involvement this is the downside. Sometimes we need you to explain.
So I'm asking everyone to calm down, post on this only if you have something new and original to say, and give Brad and Stardock a little breathing room (say, 15-20 minutes - no, I kid - I kid - make it 30). I'm confident we will get communication from them. I'll surely be disappointed if we don't.
It's been a week. I think we are not going to get a response from Stardock.
I'm off to play Victoria.
Personally I'll probably wait until Nov 10th for significant AI improvement. After that, I'm sure I'll be busy learning to play and mod FO4, then probably on to Stellaris Springtime next year.
I appreciate the information. I don't generally watch the developer videos. I do think everyone would be better served with a written response. Given the length, and depth, and strength of the dis-satisfaction, I think it is in Stardock's best interest to do this.
And I appreciate the modding - but I have gathered from Naselus's posts (spelling?) that the issue with modding the AI is the lack of triggers in the code, so as I understand it what a modder can actually do now is limited. Maybe Stardock will fix it and maybe they won't, but I'm going to go do other things for a while.
There are a lot of things, that is one of them
Hm, what settings are you all playing at? I just play my third game and hasn't made a science of finding out how the AI works so I surely still make a lot of mistakes (or, rather, don't use my means effectively; until I read this thread I never used the production wheel at all).
My second game was like that: insane map, tight clusters, nearly everthing set to rare, slowest tech and game pacing, played as the Yor with all other seven major races as opponents. I found myself in a corner of the map and was only able to find three colonizable planets within range of my ships. By the time I extended my range enough (through research and starbases) all other planets near my territory where taken by AI players stronger than me. I soon found myself in a war against the Krynn who were the most powerful faction of those I encontered thus far (four of the seven in game apart from me). They had more and better ships than me (and adapted to my missiles), way more techs, but didn't do very much to fight me so I eventually managed to take one planet from them. Slowly I became better, especially after an event that spwaned two new class 25 planets near my homeworld, and managed to leave the bottom of the ranking and overtook the Thalans and the Iridium Corporation. Then, around turn 500, the game was suddelnly over because the Drengin whom I never met won a Technological Victory.
So I don't see a non-researching AI, I have no clue how such a game where it takes tens of turns to research a single tech can be won by turn 50 or 100 or even 200. I also have no clue how one can get a fleet with 10,000 weapon strength while the best AI has some 500 ...
But I also have the feeling the AI is not aggressive enough against weaker opponents. In MoO 2 (sorry, I must refer to the still best space 4X game I ever played) you could not remotely hope that your opponents would leave you alone when you were so weak.
But whether that is so because of bad AI logic or missing bonuses or whatever, I cannot determine. Only because there are only a few triggers in the XML files that doesn't mean there are not a lot more in the code that simply are not exposed. How can you be so sure what problems the AI has when we have no information about the internal logic? Or have you?
Anyway, as I stated in another thread, I would like SD to give us a real scripting interface with a lot of callable functions instead of only some XML files ...
Partially, it's because we've read the scripts and so know which parts of the AI behaviour are scripted and which aren't. Partially, it's because we can observe AI behaviour, change xml values and then observe changed behaviour. Partially, it's stuff which Stardock have actually published during and after development, or have confirmed or corrected when directly asked. Partially, it's because some of us have worked in the game industry or extensively modded other games and are familiar with how game AI and scripting works, and know how to design experiments and tests to check what the AI is doing.
We're not basing this stuff on a cursory ten-minute glance at the xml. We're basing this on hundreds of hours of experimentation, a familiarity with the general subject, and a lot of hard work digging through files and making adjustments. In all, we have a pretty good idea where the AI's big problems lie, and even know how to correct some of them, and also which bits we cannot correct with the current tools available to us.
Techs shouldn't take tens of turns... Specialize with the planetary wheel some of your worlds into research planets and build up their population as well as make multiple research buildings, preferably in hub-like formations. You can get tons of research with dedicated planets.
Yes, now I know that using the wheel to specialize makes a big difference.
But: early in the game with two or three planets (or even later when there just are no more habitable planets nearby) when I specialize one world to research I cannot build anything in decent time when there are no factories, even if the wheel is set to 50% research / 50% manufacturing. So I have to buy all laboratories and that works only as long as I have money ....
Yes, now I know that using the wheel to specialize makes a big difference.But: early in the game with two or three planets (or even later when there just are no more habitable planets nearby) when I specialize one world to research I cannot build anything in decent time when there are no factories, even if the wheel is set to 50% research / 50% manufacturing. So I have to buy all laboratories and that works only as long as I have money ....
econ worlds are almost (if not) more important than research/mfg ones
Ok, thanks for the advice
But to return to topic: How does the Ai decide what to build on a planet? What XMLs determine that? I have also seen AI planets two thirds filled with influence buildings ...
And: why doesn't the AI use the wheel (that's a question more directed to the developers than the community)?
You trippin?
This is scripted in governors.xml.
It selects specializations based more or less entirely on the specials on the planet. So if it gets a Ghost World, the AI will try to make it a research planet. There's some randomness at play here, though, and also if the special isn't powerful enough the AI will ignore it and build a generic world instead.
Because it hasn't been taught how to. Hopefully, it will be (rather than the 'easy' option of just disabling the planet-by-planet wheel, which SD have been suggesting to the general dismay of much of the community).
I don't disagree with the importance of having econ worlds. Trade can only get you so far, especially if you are going down the conquering route. You don't need many research or industrial specialized worlds to bang out advancements or fleets. Funding those worlds and your military requires a good economy, which you need econ worlds for. I totally am all about being self-reliant on my own internal income, which is why I agree that econ worlds are much more of a priority than research/industrial worlds.
This is scripted in governors.xml.It selects specializations based more or less entirely on the specials on the planet. So if it gets a Ghost World, the AI will try to make it a research planet. There's some randomness at play here, though, and also if the special isn't powerful enough the AI will ignore it and build a generic world instead.
Ok, I found only a GovernorDefs.xml, but that's the one you mean I assume.
So let's make an example, taken directly from said file:
<Governor> <InternalName>PoorResearchWorld</InternalName> <DisplayName>PoorResearchWorld_Name</DisplayName><!--<Description>PoorResearchWorld_Dec</Description>--> <BonusQualifier> <Stat>Research</Stat> <Weight>1</Weight> </BonusQualifier> <PlanetClassMin>4</PlanetClassMin> <PlanetClassMax>6</PlanetClassMax> <Improvement>Manufacturing</Improvement> <Improvement>Research</Improvement> <Improvement>Research</Improvement> <Improvement>Food</Improvement> <Improvement>Approval</Improvement> <FillerImprovement>Manufacturing</FillerImprovement> <FillerImprovement>Food</FillerImprovement> <FillerImprovement>Research</FillerImprovement> <FillerImprovement>Influence</FillerImprovement> <FillerImprovement>Wealth</FillerImprovement> <FillerImprovement>Approval</FillerImprovement> </Governor>
As it looks that is working like a build queue: first all buildings listed as <Improvement> are built (in that order?). Than any remaining tiles are filled from the <FillerImprovement> list (also in that order?).
The questions are:
- What determines which governor is selected for a world other than tile number? You mentioned it's based on the special tiles of a planet, but that's not reflected in the XML.
- What does the <BonusQualifier> do?
- How are planetary improvements that increase tile count are handled?
- Is there, perhaps even a simple, logic that takes adjacency bonuses into account? Like "place a new building next to the one that gives the biggest bonus"?
- I assume there is no logic to rearrange buildings when others become available and every tile is already used ...
If the AI should ever use the wheel correctly than such a simple build queue would not suffice anymore, especially if the wheel should not be used for fixed specialization but be changed according to situation. An again very simple logic could be to change the fixed build queue to a weighted list from which every new building is chosen randomly, but according to weight. But the effective weight of manufacturing, research and wealth buildings is multiplied by the current wheel setting.
This logic could be taken one step further: when every tile of a planet is used up the Ai still regularly (every turn, or every 3 turns or every 5 turns ... put the number in some XML ) checks the buildings against the build orders, but take only manufacturing, research and wealth buildings into account. Assign a decommission probability to every tile that contains one of those buildings and that is equal to, say (100 - current wheel setting in %) divided by 20 (example: wheel set so that production distribution is 60% manu, 30% res, 10% wealth, so the probability to destroy a manu building is (100 - 60) / 20 = 2%, for a res bulding it is (100 - 30) / 20 ) 3.5% and for a wealth building (100 - 10) / 20 = 4.5%). Apply this probability to every tile in question until all tiles are checked or until the dice indicate that one building has to be destroyed. In the latter case do so and build a new one according to the weighted build queue as described above.
One more quirk: This decommission rule can lead to the destruction of buildings that correspond with the highest wheel setting (e. g. if wheel is set so that 60% production goes into manufacturing then still manufacturing buildings can be hit by the decommission rule). To counter that one could modify the rule so that only the buildings that correspond to the two lower wheel settings are taken into account. And in the case that the wheel is untouched so that the production is distributed evenly then the decommission rule is deactivated.
- What determines which governor is selected for a world other than tile number? You mentioned it's based on the special tiles of a planet, but that's not reflected in the XML.- What does the <BonusQualifier> do?- How are planetary improvements that increase tile count are handled?- Is there, perhaps even a simple, logic that takes adjacency bonuses into account? Like "place a new building next to the one that gives the biggest bonus"?- I assume there is no logic to rearrange buildings when others become available and every tile is already used ...
1. The bonus qualifier is the weight required to pick that build queue. It works in tandem with 2 lines in GalCivAIdefs.xml - <PlanetTraitStatSamplingFlatBonus> and <GovernorWorstAcceptedScore>. The exact calculation is not known(I suspect it adds up all the %es on the planet and picks the best one over 20%), but basically it 'samples' the bonuses on the planet, weighs them, and then selects the build queue which closest matches it. There's a few other triggers listed in the schema - including one to check if it's the homeworld - but most seem to have no effect.
2. As above.
3. They're built immediately. This is a bad thing, which I actually wish WAS in the xml so we could change it, as it means that AI wastes time opening up extra tiles when it hasn't used up the ones it already has, at a point when it has the worst industry that world will ever have.
4. Yes, the AI determines placement itself, and was made aware of adjacency in 1.1. As the patches progress, I suspect most problems will be solved in the C rather than through additional script options.
5. I think there is, actually - again, in the C. In globalAIdefs.xml, there's a definition for 'minimum level to be immune to replacement'. This was also added in 1.1.
Quoting lyssailcor, reply 93If the AI should ever use the wheel correctly than such a simple build queue would not suffice anymore, especially if the wheel should not be used for fixed specialization but be changed according to situation. An again very simple logic could be to change the fixed build queue to a weighted list from which every new building is chosen randomly, but according to weight. But the effective weight of manufacturing, research and wealth buildings is multiplied by the current wheel setting.
An easy fix would simply be to make the slider settings usable in the build queue, tbh. That'd do in the short term while SD wrote up an actual subroutine to deal with it, which could be mercilessly efficient from day 1.
Oh my ... that should be so easy to change. The simplest fix would be to only apply planetary improvements which increase tile count when all tiles are used up ...
Ok, so I would be interested in the actual logic
Quoting lyssailcor,
What do you mean by "make the slider settings usable in the build queue"?
ai yor will frequently start a planet with assembly before building even a single factory as another "wtf" inspiring choice
Ok, I found only a GovernorDefs.xml, but that's the one you mean I assume.So let's make an example, taken directly from said file: <Governor> <InternalName>PoorResearchWorld</InternalName> <DisplayName>PoorResearchWorld_Name</DisplayName><!--<Description>PoorResearchWorld_Dec</Description>--> <BonusQualifier> <Stat>Research</Stat> <Weight>1</Weight> </BonusQualifier> <PlanetClassMin>4</PlanetClassMin> <PlanetClassMax>6</PlanetClassMax> <Improvement>Manufacturing</Improvement> <Improvement>Research</Improvement> <Improvement>Research</Improvement> <Improvement>Food</Improvement> <Improvement>Approval</Improvement> <FillerImprovement>Manufacturing</FillerImprovement> <FillerImprovement>Food</FillerImprovement> <FillerImprovement>Research</FillerImprovement> <FillerImprovement>Influence</FillerImprovement> <FillerImprovement>Wealth</FillerImprovement> <FillerImprovement>Approval</FillerImprovement> </Governor>As it looks that is working like a build queue: first all buildings listed as <Improvement> are built (in that order?). Than any remaining tiles are filled from the <FillerImprovement> list (also in that order?).The questions are:- What determines which governor is selected for a world other than tile number? You mentioned it's based on the special tiles of a planet, but that's not reflected in the XML.- What does the <BonusQualifier> do?- How are planetary improvements that increase tile count are handled?- Is there, perhaps even a simple, logic that takes adjacency bonuses into account? Like "place a new building next to the one that gives the biggest bonus"?- I assume there is no logic to rearrange buildings when others become available and every tile is already used ...If the AI should ever use the wheel correctly than such a simple build queue would not suffice anymore, especially if the wheel should not be used for fixed specialization but be changed according to situation. An again very simple logic could be to change the fixed build queue to a weighted list from which every new building is chosen randomly, but according to weight. But the effective weight of manufacturing, research and wealth buildings is multiplied by the current wheel setting.This logic could be taken one step further: when every tile of a planet is used up the Ai still regularly (every turn, or every 3 turns or every 5 turns ... put the number in some XML ) checks the buildings against the build orders, but take only manufacturing, research and wealth buildings into account. Assign a decommission probability to every tile that contains one of those buildings and that is equal to, say (100 - current wheel setting in %) divided by 20 (example: wheel set so that production distribution is 60% manu, 30% res, 10% wealth, so the probability to destroy a manu building is (100 - 60) / 20 = 2%, for a res bulding it is (100 - 30) / 20 ) 3.5% and for a wealth building (100 - 10) / 20 = 4.5%). Apply this probability to every tile in question until all tiles are checked or until the dice indicate that one building has to be destroyed. In the latter case do so and build a new one according to the weighted build queue as described above.One more quirk: This decommission rule can lead to the destruction of buildings that correspond with the highest wheel setting (e. g. if wheel is set so that 60% production goes into manufacturing then still manufacturing buildings can be hit by the decommission rule). To counter that one could modify the rule so that only the buildings that correspond to the two lower wheel settings are taken into account. And in the case that the wheel is untouched so that the production is distributed evenly then the decommission rule is deactivated.
Ok i have 2 questions to add to this list
1) is it possible to tell the governer to run a project from the xml?
2) is there a place i can set the ais global spending from the xml?
-: I'm not sure, but it would probably be in GovernorDefs.xml if so
2: there is already a guide
I have been hoping for a change in the economics system that in my view is badly designed. It was never designed with the AI in mind. Planet specialties and tile specific bonuses are completely irrelevant, additive percentage bonuses does not work well. The individual economy wheel per planet is at odds with the rest of the system and utterly breaks the game if used.
I have not played the game for a while now and given Stellaris from Paradox was announced I'm to stoked up about the feature list of that game. I doubt that GalCivIII will fix the issues to the economy model. I would be positively surprised if they did, I would buy more DLC and expansion if AI and economy model was rethought and tweaked to not be so dysfunctional.
I liked other parts of this game but this issue combined with space station nightmare (broke AI management, exploitative) and extremely predictable space combat results make for a bad experience at the moment.
I hope to see a better version of the game in a year or two... but most likely Stellaris will be so much better game that I might not even bother. Only the future will tell...
News Flash!
There is no such thing as transcendence! There is no AI anywhere that has the tiniest bit of independence or unique will or creativity and I dare say there NEVER will be, NEVER!! That being said, any AI is just a collection of <if then> statements and this AI is amazing! The fact that it can manage as well as it does on such a complex game as this is a Fantastic! complement to the AI programmer. Please keep up the good work!
There are many great features available to you once you register, including:
Sign in or Create Account