Jump to content

Stupid Tank AI in CM


Recommended Posts

Tiger:

I feel for ya, man. This is a very frustrating behavior that really chafes my butt whenever I encounter it.

It really seems that each vehicle needs to track a couple of extra variables:

o What was I last shooting at?

o Where was it?

o Why am I shooting at it no longer?

o Is it a viable threat to me?

Based on the weight of those answers, *then* it could determine whether or not to engage another target outside of the aspect.

For example, in this case with your Tiger it could resolve these as:

What: Churchill

Where: 12 o'clock

Why: Lost LOS to target

Threat? Yes.

Based on those criteria, then the Tiger would not engage anything out of its frontal aspect (between 10 and 2 o'clock) for one or two turns unless it was more threatening than the Churchill.

Guess that would mean tracking the time since the last time it had LOS to the target, too.

------------------

Dar




			
		
Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Guest Napoleon1944

All BTS needs to do is to town down the spotting of inf while buttoned. I don't think its a major task to do that.

------------------

The only enemy I fear is nature.

-Napoleon

Link to comment
Share on other sites

It's the spotting issue that worries me the most, I see this all the time. I had a Eng. unit hidden in a building once that a Panzer went right by. On the next turn I order the Eng. to attack the Panzer from behind, the moment the Eng. starts to move the Panzer started to turn its turret, it only got about half way around when the Eng. knocked off the Panzer. Now this Panzer was buttoned up and the Eng. was directly behind the Panzer, how did the Panzer even spot the Eng?????? This is not a rare thing either, I think there is a real problem with the spotting ability of all buttoned up tanks.

On a lighter note, you said that the Churchill was around 60m from you and missed two shots. How did he miss a Tiger from 60M, the darn Tiger must of filled his entire gun sight, I think that Churchill gunner needs to be sent back to gunnery school smile.gif

Link to comment
Share on other sites

Guest Madmatt

Tiger,

There are many possibilities to the hows and whys of this but without the actual movie file it is all just speculation on everyones part. Do you have the movie file? If so I would very much like to have a look at it.

Thanks!

Madmatt

Link to comment
Share on other sites

Henri, thanks for the patronization.

This is not a rare occurance but something that occurs frequently with tanks that I have observed since 1.1

If I thought it was a minor, rarely-happens issue I would not bother posting. It's not sour grapes over losing a tank, either.

Tanks in 1.1 will continue hunting forward when near infantry, w/o stopping to hull-turn, unless you specifically target them. They will however rotate their turrents to engage these secondary targets, oblivious to real threats they are hunting towards. I believe it has something to do with the fact that the coaxial mg is being used for targets way out of the normal arc of vision for buttoned tanks. Let's wait and see what the 1.1.1 patch offers to correct this odd behaivour.

-Tiger

ps Matt I don't have the save game file unfortunately, though have an earlier save and will try and replicate it.

[This message has been edited by Tiger (edited 01-25-2001).]

Link to comment
Share on other sites

Guest Madmatt

The core issue here isn't the spotting ability of buttoned tanks. That is already VERY poor. Doubt me? Build a test scenario with a single buttoned tank against some infantry targets. The tank can drive right past sharpshooters and infantry without detecting them.

The real issue is the lack of Relative Spotting. The way it works now is thus:

Once a target it's spotted by someone, then anyone can immediately see it if they have LOS. However they don't necessarily *react* right away. There are built-in delays.

Changes to this system are very hard to do without making far ranging consequences. Until such time as the core engine is re-written we will occasionally have situations like this that pop up. We can and have continued to try and make tweaks to limit those occurrences though and the forthcoming v1.12 patch has even more.

Madmatt

Link to comment
Share on other sites

Originally posted by Madmatt:

The real issue is the lack of Relative Spotting. The way it works now is thus:

Once a target it's spotted by someone, then anyone can immediately see it if they have LOS. However they don't necessarily *react* right away. There are built-in delays.

Madmatt

Let me see if I understand what you just wrote. The TAC AI will allow a buttoned up JadgPanzer IV to spot an AT team in its rear if some other unit has spotted it? And if NO enemy unit knows that it is an AT team then the fact that AT teams are preferentially targetted first is purely coincidence? And if no other unit has said AT team in it's LOS then there is no way said JP IV could see it? All of this without human intervention. I'm talking strictly TAC AI here. Is that what you just said?

As for Tiger's Tiger continuing to move when shooting while in Hunt mode, that ain't supposed to happen. Under what conditions could that happen?

Link to comment
Share on other sites

Madmatt wrote "Once a target it's spotted by someone, then anyone can immediately see it if they have LOS. However they don't necessarily *react* right away. There are built-in delays."

You mean to say if some enemy INF unit, say 300m away, spots my unit that is "out of sight"(but in LOS) of the tank that the tank will spot my unit instantly? Wow I did not know the Germans had such good comm. in WW2. I don't mean to be sarcastic here but this just does not seem right, tanks should NOT be operating without close INF. support in areas where they can be ambushed or they should be willing to pay the price of a knocked out tank. By allowing the tank to "see" all units that any unit can see just strikes me as unrealistic. This is a fine game, in fact on a tactical level I think its the best computer game I have ever played, but this seems like a glaring error to me.

Link to comment
Share on other sites

The weirdest tank AI fubar I've seen recently was a panzer VI and a tiger of mine were both hull down behind a hill top facing of with 5 churchills, after each of my tanks fired around three rounds they both advanced forward onto the hill top and turned to the left exposing their sides. The only thing that broke the laughter of mine opponent was my crying as I signaled my surrender.

Link to comment
Share on other sites

I see, but I still do not say it only happens occassionally. I can understand how a tank can now see targets behind it; they're being spotted by other units and their location is known instantly if my tank has a los, even though he didn't see them himself.

Problem is my tank is rotating his turrent *only to use his coaxial mg* on a inf target. I can reproduce hunting tanks turning their turrent to only use the coaxial mg on nearby "infantry" targets. Tanks should not swivel their turrents to engage targets with their coaxial mgs only,. I can understand tanks doing this using method during the "move" command but not during the "hunt" command, using the mg just because its an "infantry-type" target and he's hunting. If a tank is hunting he should stop and use his main gun against targets, not just rotate his turrent to give them a "passing few bursts from the coaxial" while continuing to hunt forward (this is what happened to my Tiger tank, above). Tanks, as they should, will stop during a hunt command for certain types of targets (armor, vehicles, etc.). At the least the tank should stop first, then turn its turrent to engage with coaxial, not continue forward.

-Tiger

Link to comment
Share on other sites

Originally posted by SirOscar:

Madmatt wrote "Once a target it's spotted by someone, then anyone can immediately see it if they have LOS. However they don't necessarily *react* right away. There are built-in delays."

You mean to say if some enemy INF unit, say 300m away, spots my unit that is "out of sight"(but in LOS) of the tank that the tank will spot my unit instantly? Wow I did not know the Germans had such good comm. in WW2. I don't mean to be sarcastic here but this just does not seem right, tanks should NOT be operating without close INF. support in areas where they can be ambushed or they should be willing to pay the price of a knocked out tank. By allowing the tank to "see" all units that any unit can see just strikes me as unrealistic. This is a fine game, in fact on a tactical level I think its the best computer game I have ever played, but this seems like a glaring error to me.

MadMatt is just telling it like it is.

This is not new. Steve and Charles designed the game with this absolute sotting the way it is because there is no way at this time to model relative spotting which means some units with radios "MAY" contact some other friendly units with radios and they "might" communicate "some" intel about some known enemy units. ALL of the "somes" and "mays" in that last sentence make relative spotting impossible in CM1.

This the way it is now, first figure EVERY friendly unit has a radio (a magical radio) that works ALL the time and can instantly communicate everything it knows about any enemy unit it can spot or identify to EVERY other friendly unit that then immediately knows everything that the enemy unit that the original spotting unit knows. This is absolute spotting and it is also refered to as "borg-like" recon intel communication.

Absolute spotting and LOS and LOF through live and dead non-burning vehicles and pillboxes and road blocks are two of the biggest "unrealistic" things about CM. If I understand this situtation correctly, sadly both of these problems are somewhat dictated by hardware limitations of their targeted "minimum system requirements" that prevented Steve and Charles from solving these problems when they arose during the planning and development of this great game over two years ago.

-tom w

[This message has been edited by aka_tom_w (edited 01-25-2001).]

[This message has been edited by aka_tom_w (edited 01-25-2001).]

Link to comment
Share on other sites

Tom, I was under the impression that relative spotting was that you, the human behind the keyboard, knew what your units without radios saw. That is to say, you, the human behind the keyboard, are the Division commander and you are directing the battle from behind the front. The fact that you, the human, can see what only one unit without a radio (e.g., a sharpshooter that is out of c&c) can see is what I considered relative spotting. You're telling me that ALL of my units now know the same thing I, the human, do? That's new to me. That would also explain how buttoned up JadgPanzers can spot units behind them.

Still doesn't explain why AT teams are preferentially targetted though (no, I will never let this rest until I get an answer smile.gif)

Link to comment
Share on other sites

Tom W

Ok Tom I don't like it but I do understand design limits, at least now that I understand what is happening I won't be so PO'ed when it happens, every game comes up a little short(sometimes a lot short) trade offs have to be made. I sure wish I could of been in on the start of this game so I would not sound like such a jerk when I open my big mouth. Thanks for setting me straight.

Link to comment
Share on other sites

Guest Madmatt

Guys, don't skip the last sentence in my post above. Its the most important element here.

Detection does not mean instant reaction. It is the delays that are in place that prevent your units from always immediately "seeing" (reacting to) spotted enemy units.

Tiger, there are some AI tweaks in the forthcoming patch that might have made your situation a little more palatable.

-Madmatt

Link to comment
Share on other sites

"implementation of TacOps style SOPs (standard operating procedures) would go a long ways to fixing this. They work great in that game"

Yep, that is very true, something like that could cover this sort of problem admirably.

In TacOps, which is 2-D, modern, and platoon scale (like Panzerblitz rather than Squad Leader, but with individual vehicle step losses and options to split units, etc), all the units can have SOPs set for them. Just like real-world standard operating procedures, these lay out a specific action that unit (or type, if you set them en-masse) will take if a certain event occurs.

For example, you can set it pop smoke and reverse 50 meters if fired upon, or to halt and unload passengers after firing (to continue to engage a target). There are a limited number of allowed actions and triggering events. You set them by hitting a button on the units control or orders panel, which brings up a sort of checklist, and you check off the boxes for the actions you want that unit to take in such situations.

So, if CM2 had SOPs, it might have a box for "engage infantry while hunting" that you could check yes or no. If there is just one way you always want it to be done, that would be a matter of selecting a unit of one type, and picking that SOP for all such units. Then it would stay there for all of them for the whole scenario, unless you told 'em different.

Incidentally, TacOps is plenty of fun itself, though without the 3-D "flash and chrome" of CM. It uses many BF standard ideas that also appear in CM, like we-go movement and great stretch LOS tools.

Link to comment
Share on other sites

Originally posted by Tiger:

...Tanks in 1.1 will continue hunting forward when near infantry, w/o stopping to hull-turn, unless you specifically target them...

Yes, I have noticed this under 1.1 as well. (Kind of renders the Hunt command useless, eh?) Armor will stop and target other armor, but infantry units (even when targeted by the AI) don't seem to be cause to stop movement anymore.

Link to comment
Share on other sites

Originally posted by Madmatt:

Guys, don't skip the last sentence in my post above. Its the most important element here.

Detection does not mean instant reaction. It is the delays that are in place that prevent your units from always immediately "seeing" (reacting to) spotted enemy units.

Tiger, there are some AI tweaks in the forthcoming patch that might have made your situation a little more palatable.

-Madmatt

Thanks for the update Matt

that's good news

Keep plugging away on v1.12, its good to have something to look forward to smile.gif

-tom w

Link to comment
Share on other sites

Originally posted by jasoncawley@ameritech.net:

"implementation of TacOps style SOPs (standard operating procedures) would go a long ways to fixing this. They work great in that game"

TacOPs is a geat game, and when it came out, I was such a great supporter writing AARs and such that they named a scenario after me.

Having said that, note that TacOps solves the AI problem by having the AI choose between a number (8 or more) strategies, which are executed rather mechanically.This would not work well for a game like CM.

A problem that has not been addressed with the great idea of SOPs is how well the AI can cope with it.SOPs would work great for the human player's units, but I am afraid that it would horrendously difficult to program an AI to use it well.

However, SOPs SHOULD work well for human vs human games, so it would be nice to have in CM2 or CM3.

Henri

Link to comment
Share on other sites

First let me say this. From a programmers perspective I think the Tac AI does a pretty decent job for the task at hand. Believe me I have lost as many a distracted tank as the next guy.

What would I LOVE TO SEE in a rewritten CM engine? The ability for players to modify the Tac AI as they see fit. Maybe this could be done with a plugin type module or better yet with some sort of scripting languague. Another possiblity is a GUI with some check boxes and slider bars. Obviously when playing with an opponent each players TAC AI would have to be "running" at the same time.

Probably not that hard to do using threads.

Players who are not programmer types could download other peoples Tac AI modules and use them.

This could be extened to include the strategic AI as well. I think it also does a pretty damn good job as well, but could you imagine how great it would be if it could undergo rapid interations with many people tweaking it. This would open the door for tournaments between stategic AI's. Also people could play against different stategic/TAC AI's downloaded from the NET.

"Man I downloaded SuperSlug's Stategic AI last night and it kicked my butt in three turns!!"

Just some thoughts.

------------------

I'd rather die sleeping like my grandfather,

than screaming like his passengers.

[This message has been edited by SuperSlug (edited 01-26-2001).]

Link to comment
Share on other sites

I agree with most of the guys around, the tank AI really need to be improved!

1) Every friendly unit on the map see what all other friendlies can see. I'm not surprised that this is the fact, however it would be VERY easy to implement an improvement to this. The current game-engine checks, at the moment, for each and every unit which enemy units are spotted. Based on this routine it is a simple matter of adding a vector to store which unit can be observed by each unit, and than to do a boolean operation on those vector, with a weighting factor (depending on a command and control routine) which units should be known by every unit. More or less what you as a commander would know. In a matter of fact some of the spotted enemies should actually not be known by you as a commander, only by you as the squad team member. These enemies could then only be targeted by this squad while all the others should not react on these - similar to unobserved enemies.

If these spotted enemy-vectors would be included, then tanks can not react to snipers to the side, or AT-teams from behind and would be a sitting duck without the support of infantery. You there is a reason why some tanks have a intercom connection on the outside of the tank.

This reaction/delay stuff which is implemented now is foundamentally wrong - and hence should be improved. No matter for how long a AT-team is behind a button-up tank, the tank will never start to rotate!

2) About the tankers desire to shot at anything in sight but forget about any might be dangerous opponent.

Here you should include a delay in the code, combined with some danger-weighting function, most likely a tanker would be more afraid by the recently smoke-screen concealed KT than a routing sniper, crossing your left side.

/Jonas

Link to comment
Share on other sites

Having read the above exchanges may I offer a simple suggestion.

Give the player the ability to have more control of targeting. If TacAI can't do something it is in the best interest of gameplay to allow the player to take on that function.

Target "Lock": Shoot at that Churchill until it out of LOS, then keep orientated to that direction until I say otherwise.

Target Priority: Churchill till out of LOS then target someone else. Could also be incorporated into an SOP style of "priority of engagement".

Target "Free": Shoot at whatever your little silicon brain figures it should, based on experience and threat profile.

Such a system may go a long way to allowing more control as to what gets fired upon. I think we have to remember that the "computer tank commander" is just that and cannot be expected to react like a person. CM is very good but could use a little tweaking.

I also think that the "powers that be" know this and are going to make CM2 all things to all people. In fact I am thinking of starting the "Church of CM2" with the faith that CM2 is in fact the second coming and will bring 1000 yrs of bliss to humanity. It shall cast "Lucifer" aka Bill Gates into the fiery pit of hell were he will roast and be tortured by guys who can actually do more than one push up and be forced to work on his own OS for 1000 yrs....or words to that effect.

Link to comment
Share on other sites

bredberg wrote:

I'm not surprised that this is the fact, however it would be VERY easy to implement an improvement to this.

Well, I'll still in the teaching assistant mode after todays sessions, so I'll give a formal answer.

Let

A = "The spotting system is coded as you presented in your post".

B = "The spotting system is easy to change."

Now, your basic statement is that:

A -> B

However, earlier both Steve and Charles (the programmer) have asserted:

-B

So, using the contrapositive deduction rule

P -> Q <=> -Q -> -P

we can derive the statement

-B -> -A.

Now we can instantiate the Modus Ponens inference rule

(P & (P -> Q)) => Q

to form

(-B & ( -B -> -A)) => -A

and conclude that

-A

has to be true.

So, either the spotting system is not implemented in the way that you presented in your post, or it isn't actually that easy to modify it. How it is implemented, I don't have any idea.

- Tommi

[edited to correct a typo in the formalization, and again to get the conclusions right]

[This message has been edited by tss (edited 01-26-2001).]

Link to comment
Share on other sites

Originally posted by SuperSlug:

What would I LOVE TO SEE in a rewritten CM engine? The ability for players to modify the Tac AI as they see fit. Maybe this could be done with a plugin type module or better yet with some sort of scripting languague. Another possiblity is a GUI with some check boxes and slider bars. Obviously when playing with an opponent each players TAC AI would have to be "running" at the same time.

Probably not that hard to do using threads.

This is a great idea, and it reminds me of a tank game (I forgot the name, it was one word, and it's on the tip of my tongue...) where one could program his tanks then send them into an arena to fight against other tanks.The program was a basic-like program, so there was a tradeoff between complexity of program and speed of execution: if you programmed your tank to make a lot of sophisticated operations, it would get killed before it had time to act, so tanks tended to be specialized (edge huggers, corner campers, recon tanks,killer tanks, etc)

But unfortunately this would send CM historical realism out the door, so I wouldn't count on BTS supporting it, although I do agree that it would be a lot of fun.

Henri

Link to comment
Share on other sites

Hmmm.....

Ok I'm not at the math department, however I can see your point.

Let me for the sake of simplification, make the following comparision.

Two man are about to cross a river. The first man undress and jumps in to struggle against cold/current etc, while the other man take a walk and finds a bridge further downstream.

The first man drowns, while the other get across very easy and even dry.

I don't wan't to question Charles ability as a programmer his is most probably more experiance than me - however if he haven't though about include these additional vectors to a each unit (agreeable this would eat up a bit of memory) it would be easy....

However a side-effect would be that a unit might not be able to shot at an enemy shown on the map, but not actually seen by this enemy. People not following this thread might find that VERY strange....

And please for you beloved ones leave those stuff (A,B,P,Q) at the office

Cheers Jonas

Link to comment
Share on other sites

Originally posted by Henri:

This is a great idea, and it reminds me of a tank game (I forgot the name, it was one word, and it's on the tip of my tongue...) where one could program his tanks then send them into an arena to fight against other tanks.

Henri

There's a blast from the past. I had that, or something very close to it about 10 -12 years ago and I ran it on my C-64 at the time.

Link to comment
Share on other sites


×
×
  • Create New...