You're ignoring his claim. You talk about the game as it is now, you give examples of not having to be a chef to know if the dinner in front of you, but you ignore the fact that he's not just claiming that it's bad now, he's claiming that it utterly and completely impossible to make good. He says "That meal is fundamentally impossible to make good" and I say "It could have been better without the tarragon and needed a lot less salt - they'll improve it."
To stay with your example:
As soon as any chef tells me that he's going to make use of sauerkraut and marmelade, I know that he will be facing quite some challenge. As soon as he's going to add tarragon to it, it won't become easier.
He's not claiming they went on some risky venture, he's claiming they tried to do something that was outright OBVIOUSLY impossible.
In which he is quite right.
A good combat AI is very hard to program. In most cases this will be beyond the abilities of a rather small software company.
Now add the basic design of 1upt to this, and certain ways which were used (in Civ4 for instance) to make up for the expected weaknesses as higher production rates won't help.
You can only send that many units into the battle. This is completely independent on programming skills, this is a basic factor of the scale of the game.
At the very best, you would only be able to deploy 6 melee units directly around a city and how much, 12? ranged weapons in the second ring (talking about a firing distance of 2 in this case).
In most cases, it will be much less of both.
But any movement has to be calculated to happen in a meaningful manner. Any hex used up by one unit isn't available anymore for any other combat unit.
Which means that you have to do:
a) estimating the needed units in terms of combat strength, type and range
b) position them in the correct manner
c) deal with the expected counter attacks
d) re-evaluate the situation due to unexpected combat results
And we're still just talking about the attack on one city. We are not taking into consideration that there is the overall situation, which has to be regarded as well.
There may be a battle group approaching to help the defenders.
There may be a second war going on with another civ.
All these things have to be calculated. First task for the AI.
Then intermediate results have to be stored and other calculations performed. The results of these other calculations have to be compared against the ones which had been stored before. Rinse and repeat.
Now, evolution has trained the human brain to do exactly these things subconciously and very quick. Literally, in many of those cases we as humans can rely on some kind of "gut feeling", which is nothing else then relying on previously made experiences.
These "gut feelings" are something which the AI in Civ doesn't have and can't have.
A chess engine has it to a certain degree, since it has its opening library.
There isn't any opening library for a civ game.
The AI has to calculate many things over and over and over again, even it would be using heuristic approaches and "estimations" (which would just mean that it would react on certain thresholds).
Now we see the basic design principle of 1upt, we know about the scale of the game, we roughly know about the available computing power, we can estimate the workload put onto that computing power and finally we know that there is a quite sharp time limit (nobody wants to wait for 5 minutes each turn, at least not in a game).
And then we can deduct: No, they are not going to make it.
Not with all these constraints.
And I have to admit, I don't get how these guys could even think they were going to make it. After all, even if they could have realized it somehow on a real powerful machine, they would have to take lesser computers into consideration, too.
Their failure was anticipated, and it was to be anticipated.
Mega companies like car manufacturers and their suppliers needed years for developing reliable and good abs (and that one is considerably easy in comparison, as I would say).
But Mr. Shafer thought "Well, *WE* are going to make it. Somehow. We must. Somehow. We will do it."
Overestimation par excellence.
You say "The AI as it is sucks now, so he's OBVIOUSLY right." - well guess what... A lot of things in the game are problematic now, and a lot of it is obviously fixable. A lot of things have been fixed in the past three months - there is NO denying that. A lot of things have been improved. A lot of things still need fixing, but... Things ARE progressing. This "it can never become acceptable" attitude is pure speculation and doomsayer mentality.
Well, the combat engine hasn't been improved that much.
Out of curiosity, I downloaded the 1.135 and 1.141 patch, just to see what improvements have happened.
And in the field of combat the engine is still braindead.
Still the engine sends archers against swords. And no, they aren't leftovers from a previous battle.
They are happily walking alone, being spotted since turns and finally are slaughtered.
Even easy things as the allegedly improved concentration of fire (defending cities) still picks exactly the wrong targets. I have observed it and honestly, it makes me almost cry in despair.
And as I have said before, we are now 3 months past release. And still the combat engine is not working in terms of being only remotely competitive.
How long are we assumed to wait for it to become competitive? How long?
I will tell you: we are to wait eternally.
They will not make it. Not with the basic design, the scale, the computing power and the tolerable time for interturns.
Edit: And I was even not talking about the fact that we were promised that fight now would be out in the fields, not about cities (static targets) anymore.
Now, in the fields combat would be really dynamic...