A "real" AI cheat

Right there, I think you're ignoring something.

The fact that the AI does not use patrol is a FAR GREATER handicap (to the AI) than any "psuedo blitz" the AI may get in rare circumstances against a weak human that uses patrol.

If you want to keep things fair, then don't use patrol. But I guarantee that this will be much more of a disadvantage to you than it is an advantage for the AI. It will be fair, but I don't think you want fair. You want a cool patrol function to use (that the AI can not use) with no downside at all.

Snug keeps telling us he wants the "bug" fixed so he can move up a level in difficultly. Well, if they actually fix it properly, and allow the AI to use patrol itself, he'll have to move DOWN a level in difficulty.

That's what I'd really like to see fixed: I want the AI to use patrol.

And if you're worried about humans milking XP from a weak AI, well okay, they may do that. But if you are strong enough, and the AI weak enough, to milk some XPs, then you're going to win the game anyway. BBs against frigates tend to predict the outcome of the war.
Ok, someone only read half of my post......
Ok, I complain about AI lack of use of Patrol function ;) I was always a defender of a AI in Civ IV that would pass a Turing test of gameplay, but the game was not design for that ( Soren said that in bold letters... AI in Civ IV was designed to lose in style, not to try to win. BtS AI, being from another AI designer, has a somewhat diferent touch, but it still lack some instinct to win ) and , as a consequence, I want a AI that uses Patrol as much as a human.

On other topic, I think you are confusing 2 things. If I want a chalenge, I have a oficial method for doing that: I change levels or modify my handicaps ( we have a handicaps file exactly for that, you know..... ). I do not think that fighting against a borked mechanic that by acident the AI is immune to can be called a challenge, at least in the same sense than a oficial handicap... it is more a uphill fight.It is the same thing that if by accident a AI in some circumstances could witn a 10+ in diplo with some other AI for no particular reason... it would not be a handicap, right?
Are you sure that you're responding to me?
 
Hey Woody1, would YOU use Sea Patrol in Multiplayer?
 
Hey Woody1, would YOU use Sea Patrol in Multiplayer?

Absolutely, if
(1) I had resources clustered together, and
(2) I didn't want to build many naval ships.

Would I be stupid enough to build a stack of 10 frigates and put them on patrol when my enemy had battleships? Probably not. At least, probably not a second time. It probably wouldn't matter much, though, as if I was losing that badly I'm not going to make a come-back in any case.

Why not, instead of patrolling 10 ships next to two resources, split them up and put 5 on top of each resource. That will stop the AI battleship from killing all your ships at once.
 
Right there, I think you're ignoring something.

The fact that the AI does not use patrol is a FAR GREATER handicap (to the AI) than any "psuedo blitz" the AI may get in rare circumstances against a weak human that uses patrol.

If you want to keep things fair, then don't use patrol. But I guarantee that this will be much more of a disadvantage to you than it is an advantage for the AI. It will be fair, but I don't think you want fair. You want a cool patrol function to use (that the AI can not use) with no downside at all.

Snug keeps telling us he wants the "bug" fixed so he can move up a level in difficultly. Well, if they actually fix it properly, and allow the AI to use patrol itself, he'll have to move DOWN a level in difficulty.

That's what I'd really like to see fixed: I want the AI to use patrol.

And if you're worried about humans milking XP from a weak AI, well okay, they may do that. But if you are strong enough, and the AI weak enough, to milk some XPs, then you're going to win the game anyway. BBs against frigates tend to predict the outcome of the war.

Woody, it's really too bad that you don't possess more EQ. You're posts, rather than meaningfully advancing the discussion, are consistenly combative and dismissive. Furthermore, your consistent misunderstanding of the situation clearly shows that you haven't been reading (or at least not comprehending) the majority of my posts. Additionally, your lack of understanding reveals your current level of play. For example, I cannot imagine any real (larger map size and large number of civs) immortal or deity game where the human player would be using battleships versus frigates against his main AI opponent. Besides, I explicitly stated in one of my earlier posts that (on immortal level, huge map, 11 civs) I actually possessed a significant tech lead, but could not capitalize on it because of horrendous naval casualties that obligated me into war production rather than space ship building. That doesn't indicate the need to move down a level.

Your constant personal shots against me are classless and also possess no merit. I insist that you cease and desist and that you actually try to bring something helpful to our discussion for a change.

As to the AI usage of the Patrol Function, it wouldn't hurt me at all as I don't target AI fisheries. If, however, the AI did use the Patrol Function with this current bug feature, than I'd exploit the AI to death with it.

I think we'd all like to see the AI use the patrol function, but at least not until it's fixed.

I'm looking forward to seeing what kind of class you respond to this post with.
 
Absolutely, if
(1) I had resources clustered together, and
(2) I didn't want to build many naval ships.

Would I be stupid enough to build a stack of 10 frigates and put them on patrol when my enemy had battleships? Probably not. At least, probably not a second time. It probably wouldn't matter much, though, as if I was losing that badly I'm not going to make a come-back in any case.

Why not, instead of patrolling 10 ships next to two resources, split them up and put 5 on top of each resource. That will stop the AI battleship from killing all your ships at once.

Woody, we now have substantial proof that you haven't read my posts.

If you had 10 missile cruisers defending your fisheries, and the enemy had 3 or 4 MC's, they could sink your entire fleet in 1 turn. You're not paying attention. This is an exploit that the AI can use not just when they are technologically superior, it is an exploit that they use when techs are equal.

Try actually reading this thread again from the beginning before you post again. You might actually learn something useful, and then can contribute to our conversation.

Dan, perhaps you need to create a testbed with MC's (full of guided missiles) to visually demonstrate this tactic to the visually oriented ppl like Woody.
 
Woody, we now have substantial proof that you haven't read my posts.

If you had 10 missile cruisers defending your fisheries, and the enemy had 3 or 4 MC's, they could sink your entire fleet in 1 turn. You're not paying attention. This is an exploit that the AI can use not just when they are technologically superior, it is an exploit that they use when techs are equal.

Try actually reading this thread again from the beginning before you post again. You might actually learn something useful, and then can contribute to our conversation.

Dan, perhaps you need to create a testbed with MC's (full of guided missiles) to visually demonstrate this tactic to the visually oriented ppl like Woody.

actually you misunderstand his post - he says that when you put the 10 ships on patrol the AI can sink all of them - with one ship in the extreme - within one turn. If you divide them and park 5 each on each of the two fish in his example this is no longer possible within one turn...
 
the only thing i dont like about the AI is this, and its almost cheating - but if i feel the game was unfair to me, i do it. usually i try not to exploit it though.

The AI is not a tactician, and it is easy to manipulate it. I will leave an open hole in my oil, while i have 2 fleets of subs hidden 3 spaces away out of AI range of sight until he realizes his ships are sinking and my pre-built work boat replaces the oil.

I also capture workers and immediately delete them if i can't 100% keep and protect them, and i think the AI is easy to force reactions from. It sends in badly disorganized stacks of units with good rushing, but its like playing as russia in Axis and Allies. All you have to do is set up an early "survival" that consists of varying unit types - think about what units are going to come at you - and do what the AI can not do - build the opposing units or build a unit with city attack like axeman and promote it to something like musketeer - and always have your area assembled defensively in terrain.

If your like me you chop a pattern around your wooded areas, where you will permanently station your units until some have forts on them. Then when the enemy moves in its stupid-attack all you have to do is "play chess", moving in the proper responsive way you need to cause waste to the enemy, minimizing your own.

Also, the AI does stupid trade deals - if it is willing to trade you 8 GP per turn - give it 1gp per turn until it stops going up. We will say 10. Then sell it your overflow item for 10 - give it 10 gold per turn, sell it another, and repeat until your out of goods you want to sell. Then, as soon as you can, cancel all of your gold per turn gifts, and he will be stuck paying a high price for your worthless goods. Each time he wants to revoke you can usually throw on another item or something to keep the gold going but its better than 2 gold per turn. But make sure you subsidize an AI who is already making 7 or so, if they arent making anything, you will have to finance them out of debt first which can be a bad investment.

I really hope if they ever release another official update, for BTS it will include an AI that knows how to plan ahead and decide how to win. Each civ should have a win condition it aims for, while building an intelligible mix of units. Like what i do, i think the AI should leave its units unpromoted until it knows what you have to fight with and promote accordingly. I also think the player should be able to remove the AI from vassalage, as Mahatma got me in a space race - as my vassal~ i should have commited more to espionage.

Another great game balancer is "no tech brokering" - i wish there were a table where you could set an offer like "Trade Engineering for Banking" and the AI will be able to decide if it wants to come to you with a counter-offer or even have them bid counter-offers (which could go up or down depending on how each opposing civ feels about the value of the trade).

The AI has its abuses yes, but you can take advantage that it does not analyze its gameplay to determine if its about to make a play mistake or if its citizens are correctly placed for optimal results in every area. it doesn't ask itself questions based on circumstance.
 
Ok, so I created a testbed which reflects a very likely situation in a MP game.
Ladies & Gentlemen, may I proudly present to you Sirsnuggles vs Woody1.

Woody1 (England) has 12 MCs on Sea Patrol to protect the 3 northern Fishing Boats. 6 of those 12 MCs are promoted to Combat2, the other 6 are unpromoted.
Sirsnuggles (Carthage) has 5 MCs stationed at his Fort which are fully loaded with Guided Missiles (so a total of 20 GMs). 4 of his MCs are promoted to Barrage2, the 5th MC was lucky to get to Drill4!



The Massacre:
Sirsnuggles starts to let all his 20 GMs rain down on Woody1's MCs. After that he regularly attacks with his 4 Barrage2 MCs, killing 4 of Woody1's and bringing the remaining 8 MCs down to 16 :strength: maximum. Now it is time for Sirsnuggles to show some true Blitz-action with his non-Blitz Drill4 MC--he takes out 6 MCs via pillage attempt attack without losing a single HP and returns safely to the Fort. The Barrage2 MCs kill the remaining 2 MCs, pillage all 3 Fishing Boats and return to the Fort as well.



Battle Statistics for this single turn:
Sirsnuggles has lost 20 GMs = 20*60 = 1200 :hammers:; 24 XP gained
Woody1 has lost 12 MCs = 12*260 = 3120 :hammers:, 3 Work Boats = 3*30 = 90 :hammers:, Total = 3210 :hammers:

If Woody1 trys to protect his sea food by placing 4 MCs each on the 3 Fishing Boats, they are toast as well, it just takes a little longer, but Woody1 claimed he would use Sea Patrol in Multiplayer.

It is just so much more difficult to protect your water improvements from pillaging than your improvements on land, why not buff the Sea Patrol function and turn it into something useful? And make the AI use it!

Note: If you download the save and use 3.17 with Solver's unofficial patch v0.19 you will not be able to get the MCs down to 16:strength: due to a side effect of the code changes for how Barrage promotions work now. I have started a thread on that issue here.
 

Attachments

  • Sirsnuggles_vs_Woody1.CivBeyondSwordSave
    13.2 KB · Views: 137
Wow. Thanks Dan. That seems rather definitive. I think by now, your examples should prove the importance of this malfunction. 4 MC's kill 12 MC's, which should never happen. Another factoid to add to your equation would be that, under usual circumstances, those defending MC's would also hold Guided Missiles (which never recieved the opportunity to fire, due to all 12 MC's being destroyed rather than simply 4). Hence, the actual hammer damage would be even greater. Even if only half full, that's an additional 1,440 hammers; making it a ratio of 4650/1200. In effect a 4/1 hammer ratio.

The only reason why anyone should not care, or should denigrate the importance of this malfunction is simply that they do not use the patrol function and therefore simply feel unaffected.

I believe, Dan, that if the very first post in this thread were your illustration, everyone would be crying foul and demanding a fix.

Unfortunately, I noticed a problem that I could not account for and initially assessed its origin incorrectly. By the time I divined the exact problem, it seems that most ppl were inclined to want to prove that I was an idiot, and therefore have taken the position of blowing off a legitimate problem. It's a shame that the initial confusion should inspire such indifference.

Dan, for my benefit, and for those who can actually discern the reality of this bug, could you tell us how to fix the problem? What files do we need to change, and in what manner?

I appreciate all of your demonstrative proofs, Dan. I'm rather pleased that my navy was able to entirely annihilate Woody's. I cannot imagine any logical, cogent response that could possibly be brought to bear against your latest proof. Indeed, any attempt to do so now would simply come across as contentious petulance.
 
Well actually "you" had 5 MCs. The 5th was the most important one with Drill4 to maximize the exploit of the broken pillage-Blitz. It killed 6 MCs worth 1560 :hammers: (not counting any additional GMs) alone during this single turn and came out of the massacre unscratched! It is nearly impossible to get a MC with Drill4, Combat3 and Blitz in a regular game (without attaching multiple GGs) whereas Drill4 alone is very common (13 XP for charismatic leaders).

I kind of regret my first visual Battleship vs Triremes example as it developed a rather disserving effect. The community doesn't seem to like abstracting and contemplating the bare game mechanics very much ;).

My suggestion for a fix consisted of a very simple additional condition in the method
bool CvUnit::canPillage(const CvPlot* pPlot) const
Code:
if (pPlot->isWater())
{
	CvUnit* pInterceptor = bestSeaPillageInterceptor(pPlot);
	if ((NULL != pInterceptor) && (isMadeAttack() && !isBlitz()))
	{
		return false;
	}
}
which runs a test for a non-Blitz ship that has already fought during the turn and attempts to pillage if there is a Sea Patrol in an adjacent tile. If so, pillaging is not allowed (because this would trigger another attack). This change prevents unwanted stupid AI behaviour like wasting movement points for pillage attempts that are not allowed, instead the AI treats the improvements as if there was a unit sitting on top--it can not attack and moves away.
Since this method is not exposed to python (from what I can understand) it needs to be changed in the CvUnit.cpp file and requires the recompilation of a new dll.

To achieve the transparency that Roland Johansen wanted for MP games (deactivated pillage button + mouseover "Requires Blitz") a bit more modification is required (change CvUnit::canPillage(const CvPlot* pPlot) to CvUnit::canPillage(const CvPlot* pPlot, bool bTestVisible), modification of CvSelectionGroup::canStartMission and CvDLLWidgetData:: parseActionHelp). This is what I found out, but I'm a C++noob, I'd rather leave an (un)official modification to experts like Solver.

I've not yet investigated any possibilities to actually make the AI use the Sea Patrol function.
 
Dan, ori hit the nail regarding that piece of code: it can be used to ZOC resources ( pillager fights, wins or withdrawsand can't pillage again with a clever dispition of weak patrol ships ).....

I think it is a step in the good direction.... but the real problem is that patrol does not bundle with the rest of the combat mechanics of Civ IV, and ultimately is that that causes all this mess
 
I know and feel that ZOC for water improvements is justified to counter the mobility of naval units which is on a whole different level compared to land units. I'm afraid taking aggressor/defender strengths into consideration is a mistake here, I mean I can use Warriors to protect my towns against non-Blitz Modern Armors in exactly the same way.
 
I mean I can use Warriors to protect my towns against non-Blitz Modern Armors in exactly the same way.

no you cannot - you cannot guard 2 towns with 2 warriors in this way. I won't argue with you about ZOC being good or bad - however giving only the human player ZOC is simply the wrong way to go, the AI is handicapped already especially with regards to water maps...
 
Okay, you guys have convinced me that this is a gargantuan bug that is totally game-breaking. I simply can not play Civ4 any longer. I have deleted the game from my hard drive, smashed the CDs, and am undergoing hypno-therapy to erase the horrible images of Civ from my memory.

How did we ever manage to play this stupid game for 2 years with that "real AI cheat" so blatantly coded into the game?

Sirsnuggles is obviously as smart as he constantly states he is. He is a civ god, and I bow down to his superior intelligence.

Thanks for ruining this game for me guys. I shall never buy another Firaxis product for the rest of my life.
 
Okay, you guys have convinced me that this is a gargantuan bug that is totally game-breaking. I simply can not play Civ4 any longer. I have deleted the game from my hard drive, smashed the CDs, and am undergoing hypno-therapy to erase the horrible images of Civ from my memory.

How did we ever manage to play this stupid game for 2 years with that "real AI cheat" so blatantly coded into the game?

Sirsnuggles is obviously as smart as he constantly states he is. He is a civ god, and I bow down to his superior intelligence.

Thanks for ruining this game for me guys. I shall never buy another Firaxis product for the rest of my life.
According to the Ron White Debate Guidelines, I think the above means the "you guys" have won.
 
no you cannot - you cannot guard 2 towns with 2 warriors in this way. I won't argue with you about ZOC being good or bad - however giving only the human player ZOC is simply the wrong way to go, the AI is handicapped already especially with regards to water maps...

...argh, Ori, you got me there--first, non-Blitz MA is kind of silly since they ofc start with Blitz and 2nd, 2-move land units can indeed do more damage per turn in flat terrain than x-move naval units under the "fixed" Sea Patrol rule.

So the change would make it kind of equal to the situations of
  • 1-move land units anywhere
  • 2-move land units in terrain with movement cost>1
  • air raids
with the common result that one aggressor can kill one defender but can not pillage during the same turn.

I still believe that this would be far from overpowered, once an aggressor accumulates enough XP to get Blitz, my weak Sea Patrol is screwed anyway.
So the true problem is getting the AI to use it, right?
 
So the true problem is getting the AI to use it, right?

I'll answer a bit longwinded ;)
I do agree that the current implementation (with this I mean BtS version 3.17 - and not your changes) is awkward.
I believe that patrol was simply implemented this way because while the designers wanted to have the patrol attack they could not find a way to do so on another player's turn. The ingame documentation supports this view. This however means imho that the pillager was supposed to be the defender in this case - making multiple fights per turn possible.
The problem is therefore not so much the ability to fight multiple times (aka blitz) - but rather the ability to retreat from this battle (aka flanking). I would rather see a fix disallowing the pillager to retreat than a fix that disallows a victorious pillager to pillage again.

Having said that - your fix would make much more sense if the AI knew how to use patrol. :)
 
I'll answer a bit longwinded ;)
I do agree that the current implementation (with this I mean BtS version 3.17 - and not your changes) is awkward.
I believe that patrol was simply implemented this way because while the designers wanted to have the patrol attack they could not find a way to do so on another player's turn. The ingame documentation supports this view. This however means imho that the pillager was supposed to be the defender in this case - making multiple fights per turn possible.
The problem is therefore not so much the ability to fight multiple times (aka blitz) - but rather the ability to retreat from this battle (aka flanking). I would rather see a fix disallowing the pillager to retreat than a fix that disallows a victorious pillager to pillage again.

But then with multiple guaranteed attacks per turn this would be an excellent XP-cow. I could send my fresh 4-xp Destroyer towards Monty's stack of 7 patrolling Caravels and trigger 7 attacks that I am most likely to win (also benefiting from 10% coastal defense) to get it up to 11 xp in just one turn.

I don't put much trust in ingame documentation when it comes to the true intended gameplay. (In fact I believe it was just too complicated to formulate, that the patrol would act as a defender :mischief:).

Multiple guaranteed combats per turn are not good and can be exploited somehow in both cases, therefor I'm trying to prevent them.
 
But then with multiple guaranteed attacks per turn this would be an excellent XP-cow. I could send my fresh 4-xp Destroyer towards Monty's stack of 7 patrolling Caravels and trigger 7 attacks that I am most likely to win (also benefiting from 10% coastal defense) to get it up to 11 xp in just one turn.

I don't put much trust in ingame documentation when it comes to the true intended gameplay. (In fact I believe it was just too complicated to formulate, that the patrol would act as a defender :mischief:).

Multiple guaranteed combats per turn are not good and can be exploited somehow in both cases, therefor I'm trying to prevent them.

There will be no ideal solution to this. Removing the Patrol function maybe :p
I don't understand your patrol comment - it is acting as the defender right now is it not?

As for exploits: this is now a whole different ball park - until now we discussed a high retreat chance unit that could just hit and run multiple times, thus milking XP. If we now talk about a massively overpowered unit (Destroyer vs. Caravels) then frankly this does not matter for game play at all - in this scenario the game is at its end in any case frankly.
I am more worried about situations were neither side has yet won the game...
 
I haven't posted in this thread for a while.

First of all, I don't really object to the change proposed by DanF5771 if some mouseovers are added like he describes in his latest example post. If that were the way that it had been designed in the first place, then I wouldn't have started a thread to change it. (Although, I also wouldn't have started a thread to change the way patrol functions now.)

However, I do object to these contrived examples that are being produced in order to exaggerate the influence of the patrol function on combat. In the example produced by DanF5771, the 5 fully loaded missile cruisers seem the inferior force compared to the 12 unloaded missile cruisers to players not experienced in the combat mechanics of civilisation IV. But they really aren't. The 5 fully loaded missile cruisers are the superior force. The effect of the 20 missiles and barrage promotions are devastating. Missiles are more than worth their cost for wounding expensive units like missile cruisers and the barrage promotions are ideal to cripple the stack. A drill IV unit is ideal to finish them off.
If that last unit had been a combat III, blitz unit, then results wouldn't have been really different even with DanF5771's new patrol code.

Now, don't reply with 'that was the point, free blitz'. No that wasn't the point that was being made here. The example tried to show how the current patrol function leads to unbalanced combat results (3210 hammers versus 1200 hammers was exclaimed). That result could also be achieved without the patrol function. The unbalanced combat result was mainly achieved by using the strength of missiles to weaken expensive units and by using the strength of collateral damage attacks. The example isn't fundamentally different than the earlier example of a destroyer versus three frigates. It shows how giving the command 'attack anything that tries to pillage these tiles' is fairly stupid when the pillagers are stronger.

I don't oppose the old patrol rule, I don't oppose the new rule proposed by DanF5771 if well documented ingame, but I do oppose exaggeration and misrepresentation of game mechanics to make your point.

And SirNuggles, is this a "logical, cogent response that could possibly be brought to bear against your latest proof"? (I didn't really appreciate your reasoning method of 'anyone who disagrees to this example must be dumb'.)



Ori, I guess I agree with you: I also think that the patrol mission was thought of as an offensive interception of the pillagers. This is the way the game describes it, but it isn't the way the game implements it, probably because it was hard to give the coastal defence bonus to the patrol unit if it were the attacker. The current implementation results in more combat actions than the number that can normally be achieved. However, an airplane can also intercept multiple times per turn while it can only attack once per turn.

I also like that it is hard to defend sea resources. Sea combat is far less important in this game than land combat. Making it easier to defend sea resources would further diminish the value of investments in ships. Making it hard to control the seas is something that I prefer. This doesn't mean that I don't want to change the patrol mission. It just means that I don't think that 'pillaging sea resources is easy' is a good argument to change it.

I'm slightly in favour of leaving it as it is than changing it because it now works pretty much the same as aerial interception except airplanes only have 1 movement point. Although, if it had worked the way DanF5771 wishes, then I probably wouldn't have objected against it.
 
Top Bottom