What single thing annoys you most about Civ VI?

Well, yes.... the world of computing is full of timeouts if you were unaware.

Oh, to my great frustration I am, my connections to the work databases time out all the time :)

But what does it mean here: AI is looking for possible actions, then the time out bell rings and what does it do then? Picks the best possible evaluated action that it had time to find so far? Takes the action it was looking into at the fatal moment no matter other options? Blanks out and chooses at random? And were is that "elapsed time" value? Can it be easily changed in some accessible file or is it buried somewhere in the compiled code? Do you have some "hard evidence"?
 
  • Like
Reactions: cvb
What?! Do they? Is this somewhere in the code, some specific value? If so, could it be increased, giving AI more time to calculate turns?
Is it not worth to have THAT feature in a configuration file???
If you lower the graphics quality of the game, does that shift more computing power to other functions, allowing the AI to play better?
Just don't say it. I feel the same, but don't say it ...

Stating that "civ1 graphics are ok, if the AI plays an order of magnitude better" would break some kind artist's heart.
 
Yeah, but we could discuss the virtual option!
 
Do you have some "hard evidence"?
No of course not, but it did cause some excitement. However if you have 16 units to move and look at all possible moves you are talking about more options than a chess game. There is either going to be a timeout or limitation programming. Either is pretty rough. Which would you prefer?
WIth regard to limitation programming, only one city of a civ shooting in any turn does hint at it.
With regard to timeouts, air force sometimes fighting and sometimes not does hint at it.
take your pick or suggest an alternative.
 
To prove the timeout theory, could we have two different people load the same savegame, one on a fast computer and one on a slow computer, and see if the computer picks the same next 10 moves?

By the way, I think it would be hard to attribute the differences to a timeout - I would more likely believe that there is some randomization when the computer is choosing between options (e.g. if one move is rated 0.60 expected value and another move is rated 0.40, roll the dice and choose between them based on their values)

EDIT: to clarify, this is just to say that randomness in AI behavior doesn't necessarily suggest a timeout. Jon Shafer in one of his blog posts notes that in Civ V the random number generator plays a role in AI decisions - "The computer opponents were weighted towards a variety of possibilities, with a healthy serving of RNG (random number generator) on the side" - https://www.gamasutra.com/blogs/JonShafer/20130218/186843/Revisiting_the_Design_of_Civ_5.php

Actually, the random selection between options means that the computer will NOT pick the same moves in each test case. You'd have to somehow prove that the slow computer makes "worse" decisions ...
 
Last edited by a moderator:
one on a fast computer and one on a slow computer, and see if the computer picks the same next 10 moves?
It would be a good test yes. But if you ware saying that V was purely RNG with no timeouts I would be surprised because timeouts are there to stop loops and hangs. I am no programmer so will bow to anyone that has looked at V code, if there is no limitation element then the unit tactical move must be really dumbed down.
 
However if you have 16 units to move and look at all possible moves you are talking about more options than a chess game. There is either going to be a timeout or limitation programming.

Well, I imagine that one of the main goals of a programmer is to write an elegant and efficient algorithm that in a few (dozens of) iterations sifts out as many available but totally dumb moves as possible to minimize the computing time and consider only those that make at least some sense.

WIth regard to limitation programming, only one city of a civ shooting in any turn does hint at it.
Oh. I think I've never besieged two cities at once so far. And I think even with one city under siege, I saw it skipping shooting when it could. I'll try to be more observant.
Anyway, not being very much IT guy, I don't really know what you mean by 'limitation programming'. Is it limiting a number of operations allowed to find best possible move?

With regard to timeouts, air force sometimes fighting and sometimes not does hint at it.
take your pick or suggest an alternative.

I'm leaning to think that happens because of 'less than perfect' algorithm (it discards those moves as 'dumb' in the sifting out phase) or just bugs and errors in the code. To put in a timeout here seems to me just too brutal, similarly, as when my patience timeouts and I hit and hold for 5s the power button of my workstation sometimes, to 'speed-up' the shutdown (hoping against hope that it short-circuits and melts down somehow, so I maybe get a faster replacement :))


To prove the timeout theory, could we have two different people load the same savegame, one on a fast computer and one on a slow computer, and see if the computer picks the same next 10 moves?
Possible randomization of moves aside, I feel that decision-wise they'd perform in the same way, only on the slow computer you would have to wait out longer AI turns.
 
Is it limiting a number of operations allowed to find best possible move?
I am meaning that when my unit moves between 2 walled cities to attack, why does only one city shoot?

Are they are limiting the number of actions a civ can make to speed up the game turns to make the game playable? (limitation)
Are the running through the Civ's actions in some type of priority order until a time limit is reached? (timeout)

Early in the game when things move 2 tiles it's not really much of a problem but later when navy and planes can move many tiles in many directions with potentially multiple targets and priorities... do you make the game smarter but timeout... or do you limit the choices available so the turn does not take too much time.

I am fairly comfy there is a bit of both in there to be honest but have not fully loaded a game and then observed the thread usage to such a level. I am an IT performance specialist, not a programmer.
 
I am meaning that when my unit moves between 2 walled cities to attack, why does only one city shoot?

That's probably either shoddy programming or nerf programming in that Firaxis thinks we need a break (we really don't- you should be punished for moving in range of 2 cities).
 
I am meaning that when my unit moves between 2 walled cities to attack, why does only one city shoot?
Ha! I've been avoiding to put my units in such positions like hell, so I never noticed. But my current game presents me just the opportunity to test it out (when I have time).
Could it be Civ VI's version of V's 'can't move and shoot in the same turn' situation?

Early in the game when things move 2 tiles it's not really much of a problem but later when navy and planes can move many tiles in many directions with potentially multiple targets and priorities... do you make the game smarter but timeout... or do you limit the choices available so the turn does not take too much time.

Well, there was a time, when Civ V was very incompetent with planes. After all the patches they became quite deadly, if you neglected AA defence. So maybe it's similar situation here: it can be done, but for one reason or another they just didin't get there yet?
 
Timeout would not work in MP, all computers in a game must get the same results.
 
Are they running through the Civ's actions in some type of priority order until a time limit is reached? (timeout)
Who knows? I'm sure, civ4 doesn't have such a Watchdog timer. There were very rare occasions in the 'Better BtS AI' mod with infinite loops (endless grouping and regrouping of units) aka "freezing game". Ie. mouse & output via screen inoperabel. Fortunately it was possible to workaround the problem with a Python script by using "blindly" keyboard and printing into the Debug.log ...

Well, from the developers point of view indeed ... I speculate jdog5000 encountered this beast more than once. And painstakingly analyzed and solved each time the core problem of the current incarnation of the beast. Ie. avoid the AI generating such suspicious constellations of units like "Galleys joining Galleon groups"
[...]
After looking into CvSelectionGroup.cpp I have a question: does this patch just help in cases 1 unit cannot decide to join or not (well endlessly joining & leaving) ... or prevents this also complicated interactions between several units?? (And if yes, why doesn't need every unit its own counter???)
Afforess did already a huge step, but a bit is still missing (standalone bbaiDLL, preferably based on rev597 sources and this patch).
Reading in the thread jdog5000's comment about grouping and regrouping of galleys & galleons I thought counters would be a general way to limit this behavior ... 1 counter for every unit ...
"1 counter for every unit" ... would eat MUCH performance ... too much.
 
The GUI. Most everything incorporated in CQUI should be in the vanilla GUI from start.
 
I've decided the thing that presently annoys me most about Civ VI is the AI's unrelenting aggression - ironically, as one of the game's issues at release was that the AI was too passive, too incapable of launching attacks, or both. I keep trying to get back into the game, but the constant devolution into unending wars within the first 20-100 turns is extremely repetitive and, on Deity, constrains build orders far too much in the early game. Repeatedly I end up leaving sessions purely because fighting off early aggression leaves me too far behind and the surrounding area has all been claimed.

Sometimes excessive barbarian spam has the same effect. In essence, Civ VI feels like a too-long game of Starcraft in which the only tactic the AI knows is a Zerg rush.

EDIT: Barbarian spam in particular - playing an Inland Sea map to get the achievement (reason I don't have it is that I hate Inland Sea maps) and landed a start with multiple camps that activated without my being able to do anything about it, as there was one to either side right at the start of the game and I could only clear one of them in time. I'm increasingly failing to see the purpose of barb spam in Civ VI - they don't actually do anything, they just sit around getting in the way and threatening scouts and trade routes, and preventing builders and settlers from moving out with the starts that involve barbs swarming on all sides.

The game simply shouldn't have starts that lock you out because barbs are all over the map, delaying expanding - it's not an interesting challenge and in those cases there's no counterplay. Other Civ games set the default rate of barbarian spawns at a level that they were a challenge but one that could be responded to.
 
Last edited:
Top Bottom