(21) Proposal: Remove Difficulty Randomization of AI Choices

Status
Not open for further replies.
A settler AI could have a shorter time horizon for its optimizations. It could have more crippling heuristics. It could take some (still good) things to be a goal invariantly of the situation.

It could, like 80% of lets players for civ do, ignore any information it can't see. Or it could be meek in war, fighting as if assuming it will surrender. It doesn't have to consider diplo proposals from other players too deeply. What it must do is, for example, not entertain an exploitable valuation of its tradeable resources. It could undervalue or overvalue something (anything certainly will) but not in such a way that makes it a money machine for no risk on its partner.

edit: or it could, of course, make the same decisions as the Immortal A.I., just with a big material handicap.
 
Last edited:
Is that not what flavor already does? I'm not familiar with how those numbers are used in calculations, but it seems like that's what they should be doing, if nothing else.
 
What's the point? Do anyone have an opinion that settler difficulty is too hard?

I'd prefer to keep it simple. Just one algorithm for all difficulties where the difference is in AI bonuses. That's much less work for developers to maintain and improve.
 
What's the point? Do anyone have an opinion that settler difficulty is too hard?

I'd prefer to keep it simple. Just one algorithm for all difficulties where the difference is in AI bonuses. That's much less work for developers to maintain and improve.

I agree as long as AI bonuses are reduced, particularly on lower levels, to take account of better AI, I am happy with that.
It also might be a good time to look at Stalkers proposal to make Chieften level equal to AI & Human player, meaning they have no bonuses.
 
The referendum period (or even a future proposal) are also good reasons to try this approach for a patch or two and see if it does make games to samey (I don't think it will).
 
Ive always had the opinion giving Bonuses to the AI is artfically making the AI look better than it is. If CPU time a problem then I can understand the reluctance of programming an AI with calculating its moves.

What's the point? Do anyone have an opinion that settler difficulty is too hard?

I'd prefer to keep it simple. Just one algorithm for all difficulties where the difference is in AI bonuses. That's much less work for developers to maintain and improve.

Settler difficulty is only difficult when aggression is turned on in the diploAI options but turning them off makes the game trivial so Balance is appropriate, Too many bonuses to the AI the player can exploit. I would like to play a game where the AI gets zero bonuses Player gets zero bonus makes 50-75% of the decisions correctly and doesnt turn into an angry AI (Emphasis with aggression) when industrial hits and unit spams and cannot maintain the unit spam and then sudden spams more , and bogged down in a war and the game ends in a draw/ or player quits because it ends up bieng a stalemate. Plus the AI getting loads of friendship points with Citystates - doesnt make the game fun just a slog
 
Even in Settler the AI plays optimally with what they have, especially the tactical AI.
not quite true, in lower difficulty levels the search depth for the best moves is reduced. but i don't know if it makes much difference in practice :)

anyway the effect (and maybe even intention) of the randomization was to paper over AI stupidity. and that may still be a good thing.

imagine this choice:

* option A -> score 500
* option B -> score 495

should AI always pick A? probably not.

now you can argue that we need to adjust the scoring to take into account that the player already has a lot of A and thus the score for A should be successively reduced but that is much more complex than some randomization.

and it's important to mention that the AI makes weighted choices! so if the scores are 500 and 100 they will be picked in a 5:1 ratio (and not 1:1) as you might naively expect.
 
not quite true, in lower difficulty levels the search depth for the best moves is reduced. but i don't know if it makes much difference in practice :)

anyway the effect (and maybe even intention) of the randomization was to paper over AI stupidity. and that may still be a good thing.

imagine this choice:

* option A -> score 500
* option B -> score 495

should AI always pick A? probably not.

now you can argue that we need to adjust the scoring to take into account that the player already has a lot of A and thus the score for A should be successively reduced but that is much more complex than some randomization.

and it's important to mention that the AI makes weighted choices! so if the scores are 500 and 100 they will be picked in a 5:1 ratio (and not 1:1) as you might naively expect.
I was not actually aware that it makes weighted choices this way, so thank you for that info. :)

Counterpoint: If AI shouldn't always pick A, then why does our current system reduce randomness as difficulty rises? There should be randomness at all levels of difficulty if we consider that to be the optimal play.

I'd argue it is worth adjusting the scoring to be more intelligent if possible. I am aware of how much work that entails, but if the randomization is disabled we'll have more data points to work with if people submit reports about suboptimal AI decisions. Perhaps the community can be involved in that process.
 
Counterpoint: If AI shouldn't always pick A, then why does our current system reduce randomness as difficulty rises? There should be randomness at all levels of difficulty if we consider that to be the optimal play.

it might of been explained above Diety should be perfect ie should always pick the optimum move if retreat is optimum then retreat no randomness always the best of course that might not be possible of course there is time to think of moves and that is a factor to think about.

I'd argue it is worth adjusting the scoring to be more intelligent if possible. I am aware of how much work that entails, but if the randomization is disabled we'll have more data points to work with if people submit reports about suboptimal AI decisions. Perhaps the community can be involved in that process.

at lower levels I believe the AI should make sub-optimal decisions and have less time to think about it. I could monitor the settler/chieftian/warlord difficulty for good and bad moves or i can record games and post/stream them somewhere and or send debug logs, AI for me is so jekl and hyde
 
it might of been explained above Diety should be perfect ie should always pick the optimum move if retreat is optimum then retreat no randomness always the best of course that might not be possible of course there is time to think of moves and that is a factor to think about.



at lower levels I believe the AI should make sub-optimal decisions and have less time to think about it. I could monitor the settler/chieftian/warlord difficulty for good and bad moves or i can record games and post/stream them somewhere and or send debug logs, AI for me is so jekl and hyde
The point @ilteroi is making is that the AI actually makes better decisions with randomization, because the randomization helps to smooth over flaws in the AI scoring.

AI decisions are not time-limited, the AI will spend the same amount of time scoring city production, policy and tech choices on Settler as on Deity. Certain military choices are limited by search range on lower difficulties, but that's a function of distance, not time.
 
AI is flawed because of its scoring i didnt know that! I thought the AI basically was Poor because firaxis did a terrible job and tried to cover it up by giving huge bonuses and starter units for only the human player to exploit and claim its beaten the AI at diety as some sort of badge of honor ;) You guys have done an amazing job with the AI however is the game engine limiting your abilities to improve the Ability of the AI? CIV 2 i often battled with the Diety AI, won and lost and felt it was a much better AI. AI should not have these bonuses for the player to exploit later it should play optimally !
 
AI is flawed because of its scoring i didnt know that! I thought the AI basically was Poor because firaxis did a terrible job and tried to cover it up by giving huge bonuses and starter units for only the human player to exploit and claim its beaten the AI at diety as some sort of badge of honor ;) You guys have done an amazing job with the AI however is the game engine limiting your abilities to improve the Ability of the AI? CIV 2 i often battled with the Diety AI, won and lost and felt it was a much better AI. AI should not have these bonuses for the player to exploit later it should play optimally !
That is correct for vanilla BNW.

We redid all of the AI code in VP. The trouble is that while the code is a lot better than vanilla, it's difficult to write an AI which makes good decisions consistently in a variety of different situations. Removing the randomization could give us more data to identify problems in the scoring, but it would still be a lot of work to improve it.
 
is there any logs that I can enable that can help? Or anything specific that can aid you guys greatly?
Logs give us the scores but don't tell us the reasons why it got scored. Someone would need to reprogram the logs to be far more detailed. Might be able to do that sometime soon.
 
Chieftian, Standard speed, Standard Map, Siam kicked my behind on diplo (of course i could of won 50 turns ago via culture - i think that may need looking at) I was going for a science victory im prob 30 turns off it so AI is calculating well 2nd time ive lost to diplo when going science
Spoiler UN Pic :
AI win.jpg
 
Proposal Sponsors: Recursive.

(Sponsors have indicated that they are able and willing to perform the code changes required for this proposal if the community votes Aye on it. Other coders are free to sponsor this as well. A proposal without a sponsor will not advance to the Voting Phase.)
 
What would that be simulating? An artificial intelligence doesn't artificially do something it evaluates to be stupid. No one does. They choose something because they use an irrational metric for determining what is smart.
Whatever the procedure does, on any difficulty, it should be maximizing something. Then the computer player can reflect on its strategy coherently; barring that, it can have a strategy.
This, so much. The lack of coherent AI strategy is a huge gripe of mine in games that don't have it - e.g. Stellaris. The more you can understand why your enemy is making decisions, the more you can tailor your gameplay for success. Understanding your opponent becomes a key part of the game. Having the AI make decisions at random limits the AI's ability to successfully plan and the player's ability to correctly interpret the AI's decisions. When well implemented, knowledge of your enemy's plans can become a game mechanic tied to espionage and intelligence.
 
Status
Not open for further replies.
Top Bottom