Jump to content

BFC: Bug with tank turning.


Recommended Posts

Steve, Matt, et al...

This is a restart of the strange turning behavior thread. Basically several of us have noticed an alarming tendency for vehicles to begin to orbit the final waypoint on some movement orders, usually involving sharp turns. This occurs regardless of the movement type and some tests have resulted in vehicles turning for nearly a full extra turn after reaching their desitination. We would appreciate any official comment on this issue.

Thanks

James Goodman

Link to comment
Share on other sites

This is not an official response, but still:

It seems that vehicles in CMBB have a minimum turn radius. If you try to have them drive a turn sharper than that, they will start rotating at some point to cut the corner. Where they will do this seems to depend on current speed and the number of waypoints.

The solution is to give your vehicles enough space to turn. Making sure that the radius of your turns is at least 10m, the movement orders are at least 2m away from any impassible terrain and the last movement order (the one you want to use to set your vehicle's facing) is at least 15-20m long usually ensures that they will behave as you want.

Dschugaschwili

Link to comment
Share on other sites

Sgtgoody,

As much as I think it unusual/undesirable and that I would like to hear BTS's take on this tank turning thing, I would not necessarily call it a bug as such. That is for BTS to decide as it is their game.

For completeness, here is the link to the relevant thread for those wondering:

Those nutty tankers - strange AI behavior

Originally posted by Sgtgoody:

...This occurs regardless of the movement type ..

I agree that in certain situations this may be (is) true, but as far as the 90 deg turn tests I conducted, I did not get the end of movement "spin" behaviour occuring when the tanks were given MOVE and HUNT commands. Only when the tanks were given the FAST command. Please refer to the following animated GIFs and saved game file for details of what tests I am talking about.

CMBB 90 deg turn test - animated GIF and CMBBturntest.cme

CMBO 90 deg turn test - animated GIF and CMBOturntest.cme

(for the saved game files there is no password, just press OK)

Lt Bull

[ January 16, 2003, 08:35 AM: Message edited by: Lt Bull ]

Link to comment
Share on other sites

Originally posted by Dschugaschwili:

It seems that vehicles in CMBB have a minimum turn radius. If you try to have them drive a turn sharper than that, they will start rotating at some point to cut the corner.

Yes. This is not a problem. My tanks often start rotating, and while it increases traverse time I can live with it. The problem arises when the tanks rotate way past the point they were supposed to.
Link to comment
Share on other sites

Originally posted by Joques:

Yes. This is not a problem. My tanks often start rotating, and while it increases traverse time I can live with it. The problem arises when the tanks rotate way past the point they were supposed to.

Actually I find the problem is when my armor presents it's weaker rear facing to the enemy, providing for more difficult spotting, longer turret rotation times, and more close aboard secondary explosions and crew deaths than expected.

I understand the error but with the various vehicles having different turning radius at various speeds, plannig is somewhat difficult.

Slowing before corners, swinging wide, or extending a waypoint an additional meter to solve the problem are definately within my skill level but are micromanagement. There is a penalty paid for micromanaged moves so for now, we are stuck between a rock and a hard place.

Link to comment
Share on other sites

I have just encountered a problem that my be related to the above:

I had ordered one of my tanks to traverse along in defilade behind a ridgeline, and then turn at about a 90 degree angle and crest the ridge. I also issued a rotate order once the Tank reached it's destination on the crest so it would face the most likely direction for future enemy contacts. The rotate order was no more than a 15 degree in faceing.

All went just fine until the Tank reached the crest, at which point it began to rotate in the *wrong* direction (i.e., clockwise rather than counter-clockwise). Presently, I am waiting for my opponents orders on the next turn, and my PzIV is sitting on top of the ridge with it's facing completely bass-ackwards on top of the ridge, just waiting for a shell up it's @ss. . .

I know others have posted this rotation bug in the past, but I haven't seen anything from BTS yet about whether or not they're looking at it, and whether they think it will be fixed for the patch. It's clearly a bug and as my experience shows, it can lead to units putting themselves into serious danger in a completely illogical manner.

In the meantime, has anyone figured out a work-around for this bug? That is, has anyone figured out any kind of rule for when (I've used rotate orders at the end of a movement many times without a problem), and so a way of avoiding the problem?

I have the saved movie file and if happy to send if you need it.

Cheers,

YD

Link to comment
Share on other sites

I discovered this bug shortly after the game was released and sent Matt a saved game file showing it. He never acknowledged receipt of the file and I never heard anything back from BFC. I haven't experienced the bug since then, most likely because I have never created the conditions that lead to it, but it sounds like it is still alive and well.

Michael

Link to comment
Share on other sites

YD

So far the only thing that seems to really work is to either make the turn leg longer or reduce the angle. In my tests I found that if you turn it to a 45 degree turn rather than a 90 it doesn't seem to begin orbiting. Even this is not 100 percent as I have had vehicles start turning even when given a straight move. I'm running more tests (in between game turns) and I'll let you know what I find.

James

Link to comment
Share on other sites

Originally posted by Michael emrys:

I discovered this bug shortly after the game was released and sent Matt a saved game file showing it. He never acknowledged receipt of the file and I never heard anything back from BFC.

For what it's worth, this also happend to my bug report about the split squad's B half always counting as dead. I reported it during CMBO, it made it into CMBB and only got covered up in 1.01 after a lucky forum thread.
Link to comment
Share on other sites

Originally posted by Sgtgoody:

So far the only thing that seems to really work is to either make the turn leg longer...

This is what worked in my case. I always save each turn after the orders phase, so I was able to go back and play around with it. By extending the leg, I was able to to prevent "the Armored Pirouette" from recurring. Annoying nevertheless.

Michael

Link to comment
Share on other sites

Originally posted by Joques:

</font><blockquote>quote:</font><hr />Originally posted by Dschugaschwili:

It seems that vehicles in CMBB have a minimum turn radius. If you try to have them drive a turn sharper than that, they will start rotating at some point to cut the corner.

Yes. This is not a problem. My tanks often start rotating, and while it increases traverse time I can live with it. The problem arises when the tanks rotate way past the point they were supposed to.</font>
Link to comment
Share on other sites

Originally posted by Dschugaschwili:

There were none of these problems in CMBO. In case you missed it, look here or load this actual saved game file in CMBO. No problems there "taking my orders literally". I do not know what has been gained by changing what didnt seem broken in CMBO. Im sure there is some reason for this change in CMBB but I have not read or heard anything about it so I am left thinking "why?" Perhaps a case of robbing Peter to pay Paul?

Lt Bull

[ January 17, 2003, 06:02 AM: Message edited by: Lt Bull ]

Link to comment
Share on other sites

There were none of these problems in CMBO. In case you missed it, look here or load this actual saved game file in CMBO. No problems there "taking my orders literally". I do not know what has been gained by changing what didnt seem broken in CMBO. Im sure there is some reason for this change in CMBB but I have not read or heard anything about it so I am left thinking "why?" Perhaps a case of robbing Peter to pay Paul?
That's because in CMBO any tank could pivot (even tanks not capable of pivoting) with no regards to speed or actual turning radius. If anything they fixed the problem.
Link to comment
Share on other sites

I have seen both animated GIFs, and I just downloaded the scenarios (although I suspect that the one for CMBB is corrupted), and it seems that tanks in CMBB cut corners in a different way than in CMBO. To drive a nice round curve, they have to deviate from the movement path somewhere, and it seems that in CMBO they only need lots of free space on the inside of the turn, while in CMBB they need some space both on the inside and on the outside.

The advantage of the latter system is that navigating through narrow paths between obstacles is much easier because you can plot the movement path in the middle of the gaps, like you do normally. I think in CMBO you were more likely to crash into obstacles if there was not much space available. I may test this over the weekend.

Dschugaschwili

Link to comment
Share on other sites

Originally posted by Dschugaschwili:

The advantage of the latter system is that navigating through narrow paths between obstacles is much easier because you can plot the movement path in the middle of the gaps, like you do normally. I think in CMBO you were more likely to crash into obstacles if there was not much space available. I may test this over the weekend.

I don't know about that. It would be good if this could be demonstrated by replicating an "obstacle course" in CMBO and in CMBB and seeing how they handle it.

Originally posted by Rother:

That's because in CMBO any tank could pivot (even tanks not capable of pivoting) with no regards to speed or actual turning radius. If anything they fixed the problem.

This is the robbing Peter to pay Paul scenario. It seems that Peter may have lost more than Paul gained. I still do not know exactly what has been gained from a gameplay point of view as in "Gee, look at that improvement in realism. That is so much better than what it was in CMBO." :confused:

If this can be precisely identified, please let it be known/shown.

Lt Bull

Link to comment
Share on other sites

Originally posted by Lt Bull:

This is the robbing Peter to pay Paul scenario. It seems that Peter may have lost more than Paul gained. I still do not know exactly what has been gained from a gameplay point of view as in "Gee, look at that improvement in realism. That is so much better than what it was in CMBO."

I'm surprised we haven't had any official comment on this one yet. Nothing to either let us know they are on the case, or that it's a feature that shall remain so. Strange, since this is, to my mind, the greatest flaw in the game.

Of course, everybody has their pet peeve. smile.gif This is mine.

Hmm, that's almost poetic:

This is my peeve. There are many like it, but this one is mine...

Link to comment
Share on other sites

Dschugaschwili-

Thanks for your comments. It gives me a better idea of what's going on here and where this bug originates.

So I went and did some playing in the Scenario Editor. I set up a completely paved map, and went racing with a bunch of PzIVs, putting them through various angle turns at high speed with different length ‘legs’ after the turns (ya gotta love slow days at work!!). Here’s what I figured out. Much of this has already been covered by others on this thread, but to bring it all together, here’s how this bug to manifests (at least, from what I can tell):

1) The tank must be moving at high speed (for a tank, that is) when it reaches the waypoint where it is ordered to execute a sharp turn. By sharp, I mean at least 60 degrees, but not more than about 100 degrees (more about this little quirk later).

2) When the tank hits a turn at high speed, the TacAI 'rounds' the corner so that the tank can maintain speed through the turn. Most of the time, you want this – otherwise, the tanks needs to slow or stop and rotate when it hits the turn, which takes much longer to execute.

3) The way that the TacAI adjusts the path in order to arc the turn is interesting. Basically, it appears to attempt to stay as close as possible to the plotted orders line while still maintaining speed. Rather than cutting the corner completely to the inside, which is most likely what you or I would do if we were told to drive a car along a line that made a 90 degree turn, the TacAI actually cuts the corner slightly to the inside before it reaches the waypoint AND slightly to the outside once it passes the waypoint. This results in the tank being slightly off course once it finishes the turn - it will be 8-15m beyond the turn point, and slightly to the outside of the movement line the player sees during the orders phase.

4) The tank now tries to make it to the next waypoint. It does this by adjusting it's direction of travel towards the next waypoint. This means that the tank will actually approach the next waypoint at a different angle than what the player plotted. If the next waypoint is more than 40m away, this difference in angle is negligible. At 20m, it is noticable, but probably not significant - in my test case with PzIVs, the PzIV with a 20m final 'leg' had maybe a 10 degree deviation in its facing when it stopped at the final waypoint. The real problem begins when you have a final leg of 15m or less. At this point, the final waypoint is actually more to the side than it is to the front once the turn is complete, meaning the tank has to make an adjustment in facing of greater then 90 degrees to get itself pointed at the waypoint. This can result in a considerable change in facing when the vehicle finally stops at the waypoint. To compound the problem, at some angle above 90 degrees, but under 135 degrees, the TacAI recognizes that the tank cannot possibly make the turn without stopping and rotating (hence the fact that this bug does not manifest for REALLY sharp turns). So in the case of a tank with a 10m final leg, the tank stops and rotates all the way around to face back the way it came in order to drive to the final waypoint. This takes a painfully long time (ROTATING, unlike turning at speed, is rather slow), and also results in a facing about 135 degrees off what the player expected when the tank finally stops at the waypoint!

I do consider this a bug. Basically the tank is doing a slow motion version of what in stunt driving is known as a “J”, or “E-brake” (as in Emergency Brake) turn. You’ve all seen this in the movies. It’s where a car is traveling down the road at a relatively high rate of speed and the driver suddenly throws on the emergency brake, causing the rear wheels to skid (emergency brakes usually only brake the rear wheels). The driver then turns the steering wheel sharply to one side, and the rear end of the car swings around. Lots of fun for Hollywood car chases. Not so much what I want my tanks doing on the battlefield, and especially not if they're going to do it in slow motion.

Given that this bug is with us at least until the next patch, and may not be totally fixable (I suspect the problem has to do with the TacAI’s inability to ‘see ahead’ to the next waypoint and recognize that it will be stopping very shortly after the turn), I spent some time trying to figure out a work-around. None of the solutions I figured out are ideal, but here’s what I learned:

1) Obviously, the best thing is to avoid movement legs of less than 30m after a turn between about 60-100 degrees. There is no hard cut-off where this behavior starts to happen – it depends the speed of the vehicle when it enters the turn and gets gradually worse as the movement leg gets shorter. In general, though, if the movement leg after the sharp turn is 30m or greater, the change in facing is negligible and you don’t need to worry. Again, note that for turns greater than about 100 degrees (again, exact cut-off seems to vary with speed), you don’t need to worry about this bug at all – at this point, the TacAI will recognize that it can’t possibly make the turn, and automatically stop and rotate when it hits the waypoint rather than turn the vehicle at speed, so there will be no change in facing no matter how short the next movement leg is.

2) If you really need to have the movement leg after a turn that is less than 30m, you have two options: First you can slow the vehicle down BEFORE it enters the turn by adding an additional waypoint about 20 meters before the turn slowing the vehicle to MOVE speed. The vehicle will then slow down before the turn and take the corner more sharply. This will work unless the final leg is VERY short – under 10m or so, in which case even a vehicle traveling at MOVE speed will ‘overshoot’ the waypoint and have a considerable change in facing. Note that you will pay an additional command delay penalty for adding a waypoint. Simply changing the last waypoint (i.e., the one after the turn) to MOVE will not work. If you do this, the vehicle will not start to slow down until it actually hits the turn and therefore will still overshoot. Note that you also don’t need to worry about this bug if the vehicle will be traveling slowly when it hits the turn for some other reason, such as difficult terrain, traveling uphill, etc. The second option if you really need a movement leg under 30m is to simply allow the vehicle to stop once it hits the turn point and ROTATE to face in the direction of the new turn. Then the next turn, order the vehicle to move the final 10m or so. Obviously, the disadvantage here is that it will take you longer to get the vehicle into its final position.

3) Finally, for movement legs that are ‘on the edge’ (say, a final leg of 20-25m), it’s a good habit to get into of adding a final ROTATE order to your movement commands. There is no command delay penalty for ROTATE orders, and this will ensure that if your vehicle reaches it’s stopping position at a slightly different angle than you anticipated, it will at least correct its facing once it gets there.

I hope this helps people work through this problem for now. I hope BTS can fix this issue in the next patch, as I’m sure it will bite many a newbie on the @ss.

Cheers,

YD

[ January 17, 2003, 12:22 PM: Message edited by: YankeeDog ]

Link to comment
Share on other sites

Great analysis, thanks!

The whole business of the new slow turns nagged me for a while. But now it seems that it also had the consequence of requiring the TacAI to modify user's movement paths in situations where it didn't in CMBO. I don't like that, as Steve said, the current state of affair in pathfinding isn't thrilling and so I would prefer to avoid it where you can. Certainly it would make me think twice about a new feature that requires new pathfinding situations.

Link to comment
Share on other sites

Thanks fellas for the info on this matter. This bugs me. So apparently a tank can't move fast to a certain spot, stop, and rotate and move fast, all in one movement leg? Without the tank trying to make a more rounded turn to maintain speed from the TacAI. I want control over my tanks, not a physics lesson. I hope this will be fixed.

Link to comment
Share on other sites

Originally posted by YankeeDog:

Basically the tank is doing a slow motion version of what in stunt driving is known as a “J”, or “E-brake” (as in Emergency Brake) turn. You’ve all seen this in the movies. It’s where a car is traveling down the road at a relatively high rate of speed and the driver suddenly throws on the emergency brake, causing the rear wheels to skid (emergency brakes usually only brake the rear wheels). The driver then turns the steering wheel sharply to one side, and the rear end of the car swings around.

No, no, no. That's a "bootlegger's" turn. *grin* It's usually followed by what we called a "man's turn" (aka: police turn)... wherein a the police ("the man") car's front end is swung around to the direction of travel from high speed reverse. This must, of course, be followed by a CB call to/from the bandit and/or a cry of "yee haw". Note: also this procedure must be performed before baldness sets in or listening to WKRP. (the really, really sad thing is, I bet some of you understand the obscurities in the note.)
Link to comment
Share on other sites

YankeeDog:

Great post. I did some experiments myself comparing CMBO and CMBB. It seems that tanks in CMBO will cut corners slightly and only to the inside. If the turn is too sharp they will quickly stop and rotate. This isn't much of a problem considering the very fast rotate speeds in CMBO.

On the other hand, tanks in CMBB try very hard to drive curves smoothly and only start rotating when it definitely can't be avoided any more. This makes sense because rotate speeds are very low in CMBB, even for tanks that could neutral steer.

CMBB definitely knows a minimum turn radius for each vehicle. (In CMBO it is not apparent if this is also the case, but with the high rotate speeds it doesn't really matter anyhow.) Compared to CMBO, the low rotate speed in CMBB coupled with a minimum turn radius while driving makes much larger deviations from the plotted path necessary. Only cutting corners towards the inside would mean that you would have to have at least 10m of free space on the inside to prevent bumping into something. Even driving around a house on a street would probably cause problems especially for large tanks.

Another thing that I have noticed is the fact that different tanks have different minimum turn radii. I have compared the following German vehicles that show up in CMBO and CMBB: PzIIL, Wespe, PzIVG, StugIIIG, StugIV, Panther, Tiger, Puma.

The Tiger has the largest minimum turn radius of those, followed by Wespe, PzIV and the StuGs that have similar values, the PzIIL seems to be slightly better, the Panther is even better, and the Puma wins every obstacle course test with ease.

MeatEtr:

If I plot several fast move orders in a row, I would be severely annoyed if my tanks would stop after every single order to rotate towards the direction of the next waypoint, and only then continue to move. If you really want a tank to stop, rotate and continue at a specific point, you can do this at the expense of an additional waypoint by plotting an extremely short reverse waypoint at the point where you want the tank to stop. This is mainly useful if you want to drop off a passenger at that point and continue driving somewhere else after that.

Dschugaschwili

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...