Jump to content

The Shooting Gallery Bug


Recommended Posts

Time after time I see this happen in my PBEM's. I'll have a squad that's moving or running to cover when a tank, which is dierctly in line with them begins shooting at the men.

Instead of following orders and moving to the cover they were instructed to go to, they panic and run out into the open field only to get shot and take more casualities. What's really annoying is that the cover they were headed towards is closer than anything they're running to when they change direction--and of course when they do change direction and get hit again, they run back towards their original destination, and so on and so on--thus producing the "shooting gallery" effect.

If the infantry squad sees where the fire is coming from, and they know it's not where they were told to go initially, then it makes no sense for them to run back into an open field where they can get hit once more. It seems as if it's coded that if an infantry team gets hit in the open, they automatically are to change direction, even if there is no cover in the new direction they are headed. Why isn't the code looking for the cover that is 5 feet in front of them and telling them that even though they're being shot at, continue to move towards that cover. Even if they panic, they should still move towards that cover if the cover doesn't prove to be a danger.

I'd really like to see this fixed in CM2 as it's proving to be as big a frustration as the "smoke bug."

Link to comment
Share on other sites

the death dance is quite entertaining, when im watching the other guy do it! i think this has been discussed before (where?) and its just like the troops running for cover THROUGH the bocage, instead of going backwards. just one of those things!!! i had some success splits squads when crossing the open and facing tanks w/ no smoke.

Link to comment
Share on other sites

AI goofs are annoying, but it is hard to get rid of them. I was told that the charge in the wrong direction problem, originally found in Chess sims, had to do with the computer AI facing a situation where it would normally be stuck between two different courses of action and thus would do an idiot dance, instead deciding to move randomly to break the gridlock.

Until programming becomes less linear, there may be no way around this.

Link to comment
Share on other sites

<BLOCKQUOTE>quote:</font><HR>Originally posted by Slapdragon:

AI goofs are annoying, but it is hard to get rid of them. I was told that the charge in the wrong direction problem, originally found in Chess sims, had to do with the computer AI facing a situation where it would normally be stuck between two different courses of action and thus would do an idiot dance, instead deciding to move randomly to break the gridlock.

Until programming becomes less linear, there may be no way around this.<HR></BLOCKQUOTE>

Well, I don't know anything about C++ but it seems like the bug is fixable. I mean why can't you simply plug in a statement that has to do with distance to cover and then choose the one that's the least amount? Lemme demonsrate this using a simple If...Then command. Close your eyes and pretend it's C++...

5 Nearest cover from squad = Cover X, Cover Y

10 If {distance to cover X < distance to cover Y} Goto 50

20 If {distance to cover X > distance to cover Y} Goto 60

30 If {distance to cover X == distance to cover Y} Goto 70

50 Keep moving to original target (X)

60 Go to next nearest source of cover (Y)

70 Keep moving to original target anyway even though it may not seem logical to you

80 End

Okay, so it doesn't resemble any programmming language, but I think you get the picture. The computer simply makes a decision to go to the nearest cover whether or not he's being shot at as he approaches that cover.

I wanna know why the computer makes the decision to stop running towards the cover which is 10m away and instead, run back and forth in open terrain while giving me a 45 second delay for moving on the next turn when he already had his orders...

Link to comment
Share on other sites

<BLOCKQUOTE>quote:</font><HR>Originally posted by Colonel_Deadmarsh:

Well, I don't know anything about C++ but it seems like the bug is fixable. I mean why can't you simply plug in a statement that has to do with distance to cover and then choose the one that's the least amount? Lemme demonsrate this using a simple If...Then command. Close your eyes and pretend it's C++...

5 Nearest cover from squad = Cover X, Cover Y

10 If {distance to cover X < distance to cover Y} Goto 50

20 If {distance to cover X > distance to cover Y} Goto 60

30 If {distance to cover X == distance to cover Y} Goto 70

50 Keep moving to original target (X)

60 Go to next nearest source of cover (Y)

70 Keep moving to original target anyway even though it may not seem logical to you

80 End

Okay, so it doesn't resemble any programmming language, but I think you get the picture. The computer simply makes a decision to go to the nearest cover whether or not he's being shot at as he approaches that cover.

I wanna know why the computer makes the decision to stop running towards the cover which is 10m away and instead, run back and forth in open terrain while giving me a 45 second delay for moving on the next turn when he already had his orders...<HR></BLOCKQUOTE>

I think that is a great example, since if a non programmer like us can map out the idea, more than likely it can be done (so I was told(.

Now, this does not come from Charles ir anyone, this is from one of my students -- literally, who does AI work for engineering. What he says is that the AI (which is the wrong term but I cannot remember what he called it) will have a complex set of variables, but sometimes those variables can cancel out in a funny way, the example I can use is a squad in the open gets shot at, the AI polls the surroundings, and it has a set of bias built in, like it wants to be safe, but it also wants to do its job, and it hates being fired at. Those bias can rattle around and get some answers that make no sense when the MG for example is firing in such a way that the squad would have to move through an area of greater danger to get to cover, and the like.

I am of course, putting what my student said about AI writing into CM terms. But I know he said that AI was fine tuning, and what was needed was to keep hammering away at the code. He also said you could screw up, fixing one problem and causing others.

I think it would be a good idea to keep movies for Charles of odd behaviors and pass them to the beta testers or directly to BTS, since maybe they could fix the worst of them in CM:B2B.

Link to comment
Share on other sites

That's a good idea. I've got the perfect film reel to send Steve and Charles too which clearly illustrates my point.

I can understand how hard it must be to code all these variables to get a realistic outcome every time but I'm confused as to why you can't include a variable to tell the AI NOT to act like a duck in a shooting gallery and instead make another decision on what to do. That decision couldn't possibly be worse than walking back and forth in open ground.

Link to comment
Share on other sites

<BLOCKQUOTE>quote:</font><HR>Originally posted by Colonel_Deadmarsh:

That's a good idea. I've got the perfect film reel to send Steve and Charles too which clearly illustrates my point.

I can understand how hard it must be to code all these variables to get a realistic outcome every time but I'm confused as to why you can't include a variable to tell the AI NOT to act like a duck in a shooting gallery and instead make another decision on what to do. That decision couldn't possibly be worse than walking back and forth in open ground.<HR></BLOCKQUOTE>

OK, according to my student, you have two extremes. The AI will flip from one best possible answer to the next. On the other hand it will freeze in place because no best answer exists.

It could also be that we need to remember the idiot factor. This is the idea that the AI should not be looking for the best move, al la chess, but should have a chance to do the dumb thing, the brave thing, the foolish thing, and the right thing. In other words, from a safety point of view, maybe the woods are best, but the green squad leader yells "follow me" and charges for a wall. Then he gets killed and the assistant yells, "screw this, charge em guy.", and then the MGs light up again and everyone goes to ground were they are and returns fire.

Link to comment
Share on other sites

×
×
  • Create New...