Jump to content

CM's lack of true LOS / WYSIWYG


Recommended Posts

Combat Mission is not perfect.

BTS, do somefink, please.

I am the greatest player who ever sat down at a keyboard. I know all things WW2. The only way I can lose is when some gamey bastard cheats me or I get shot through a building by a trickytank. Or some German player uses those mythical Tiger tanks. If you don't perfect this game soon I will quit playing it in about 5 years. And that is a promise mister , not a threat.

P.S.

Can I preorder Cm2, Cm3, Cm4, and Cm5 now.

Link to comment
Share on other sites

  • Replies 87
  • Created
  • Last Reply

Top Posters In This Topic

aka,

can't you see what you have done? You have showed all of us that tanks and buildings are even more realistically reproduced than ever thought it possible.

You tank has just entered the far wall of the building and set its gun to fire through a breach, a window, a hole of the ruined building and hide itself from easy spotting.

It was happening all the time during war and we thought instead that in CM buildings were unrealistically made of extraterrestrial unpenetrable matter!!!!

It is even more realistic this way!!!

A bit of a kidding but not so far from truth if you stop and think of it for a sec wink.gif

Link to comment
Share on other sites

My readings about war and WW2 in particular have taught me many things, not the least of which is truth is indeed stranger than fiction. Very odd, unusual and even incredible occurances happen in war.

Here's one example. In a previous thread I mentioned Dmitry Loza's book of East Front war recollections. Loza describes in one chapter how a unit of Russian tankers in Matilda tanks ran out of HE ammo while in pursuit of German infantry. The Germans, emboldened by the lack of fire from the following Russian tanks, got several hundred meters ahead of the tanks and proceeded to drop their drawers and "mooned" the Russkies to show their contempt. The Red Army tankers were ordered to conserve ammo and so did nothing for some time as the pursuit ground on and the tanks strove to stay out of panzerfaust range. Finally, the Russian C.O. could take the humiliation of constant "mooning" Germans and so ordered his gunner to fire one AP solid shot round at the retreating infantry. The 2-Pounder round hit one of offending "mooners" square on and disintegrated him with body parts flying all over. Needless to say, the remaining Germans fled faster than ever and never again tempted fate while still in sight of their Russian pursuers. A strange but apparently true story.

CM duplicates this type of oddball occurrances in it's own unique way, whether intentional or not. Most CM gamers have their own unique war stories gained from close observation of events in the game. I think this is a quaint and endearing aspect of this gem of a game, one that make it stand out from the graphic spreadsheet games exemplified by Steel Panthers, etc. So I, for one, enjoy the oddball events in that spirit.

Link to comment
Share on other sites

Steve thanks alot for the reply. You pretty much confirmed what I had suspected, but it is nice to get the official word on it. I never had a beef with the moving vehicle situations, as I understood why that happened and also understood the limitations that caused it. My only problem was the vehicles seeing through the buildings, and you said you are passing that along to Charles, so I'm satisfied. Thanks again.

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

Craiger

All your victory flag are belong to me

Link to comment
Share on other sites

Until it is fixed I will continue to line my tanks up to aquire LOS directly through buildings hoping always to get that Lucky FIRST shot off without being detected.
You are hereby nominated for the filthy stinkin' cheatin' gamey bastard of the year award. biggrin.gif

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

"Stand to your glasses steady,

This world is a world of lies,

Here's a toast to the dead already,

And here's to the next man to die."

-hymn of the "Double Reds"

Link to comment
Share on other sites

Originally posted by Seahawk-vfa201:

aka,

can't you see what you have done? You have showed all of us that tanks and buildings are even more realistically reproduced than ever thought it possible.

You tank has just entered the far wall of the building and set its gun to fire through a breach, a window, a hole of the ruined building and hide itself from easy spotting.

It was happening all the time during war and we thought instead that in CM buildings were unrealistically made of extraterrestrial unpenetrable matter!!!!

It is even more realistic this way!!!

A bit of a kidding but not so far from truth if you stop and think of it for a sec wink.gif

Why thanks biggrin.gif

Thats why I posted this the first time around

"

I was the one who is constantly applying for that mythical job at BTS of gamey loophole tester if you recall.

(Posted in Good humour of course)

For the record I like this "undocumented feature" just fine the way it is!"

I agree that is not unrealistic, it is also not entirely predictable which makes it even better.

Steve's description of this "feature" as a "sweet spot" in the center if the house is quite a good one. IT was my "secret weapon" but I guess the cat is out of the bag now.

Oh well I should have just kept quiet in hind sight perhaps ? frown.gif

-tom w

Link to comment
Share on other sites

Originally posted by Simon Fox:

You are hereby nominated for the filthy stinkin' cheatin' gamey bastard of the year award. biggrin.gif

Greatfully accepted biggrin.gif

I AM honoured, tom Takes a bow!

(still trying to imagine what the statuete for the Gamey Player of the Year award looks like, can anyone out there with a better imagination than myself tell me what the award for the Gamey Player of the year looks like? smile.gif )

Thank you smile.gif Simon!

"I was the one who is constantly applying for that mythical job at BTS of gamey loophole tester if you recall.

(Posted in Good humour of course)

For the record I like this "undocumented feature" just fine the way it is!"

And I meant every word of it, I think that now that everyone knows that this is the way it works, (and you have no fear that your tank will fall into the basement of the house) I suspect we will see more gamers adopt this "somewhat" realistic tactic of hunting AVF's directly into the mid section of buildings to gain concelament and LOS thru the building.

TRY it, YOU"LL LIKE IT!! smile.gif

I really do hope they don't patch this because it is sort of unpredictable and finding that "sweet spot" is about on the same level of frustration (maybe a little easier smile.gif ) as getting the perfect hull down position. And now that I mention it, if I can hunt into a building and get in that nice hull down position at the same time, that would be GREAT. But houses are always on Flat ground so I have not figured out how and when to hunt into the ideal hull down posture AND be half way into the building for camoflauge at the same time but I am looking into it!

biggrin.gif

-tom w

Link to comment
Share on other sites

You know tom there is a rumour going around that you only play on maps that have buildings dotted along ridgelines (a most unnatural landscape indeed) so that you can not only hide behind them but be hull-down as well! I would say you are a "shoe-in" for the filthy stinkin' cheatin' gamey bastard of the year award. biggrin.gif

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

"Stand to your glasses steady,

This world is a world of lies,

Here's a toast to the dead already,

And here's to the next man to die."

-hymn of the "Double Reds"

Link to comment
Share on other sites

Guest Andrew Hedges

There was a scene in Cross of Iron where Steiner & Co. ran into a building to escape a bunch of troops. A T-34 fired into a wall of the building from point blank range, which made a hole in the wall about 12" in diameter. The tank then drove forward and its gun went into the 12" hole (and eventually the rest of the tank knocked down the wall as it continued forward).

That might be essentially what Tom's tankers do (except for the driving and causing the building to collapse).

Link to comment
Share on other sites

Originally posted by Andrew Hedges:

There was a scene in Cross of Iron where Steiner & Co. ran into a building to escape a bunch of troops. A T-34 fired into a wall of the building from point blank range, which made a hole in the wall about 12" in diameter. The tank then drove forward and its gun went into the 12" hole (and eventually the rest of the tank knocked down the wall as it continued forward).

That might be essentially what Tom's tankers do (except for the driving and causing the building to collapse).

yup..

Thats my intention anyway biggrin.gif

Punch a hole thru both walls and then drive right on in.

(basements don't seem to be a problem smile.gif )

see the funniest thread ever "Tanks in the basement"

http://www.battlefront.com/discuss/Forum1/HTML/004082.html

smile.gif

-tom w

[This message has been edited by aka_tom_w (edited 03-15-2001).]

Link to comment
Share on other sites

Ok, after reading this thread and some of the previous ones covering the same topic, there's still one thing that isn't really clear to me.

> Possibly the only way to fix this would be to calculate

> trajectories dynamically when the shell is in flight.

Correct, but only part of the solution. There would also need to be a huge amount of TacAI work to simulate compensating for leading, wind, dropage, etc. Not only does the coding for this require a lot of time, but the CPU cycles necessary to carry it out as well. Too much to ask of us or the computer at this time.

As I see it, you're already doing something similar now. The player can see a trajectory of the shell on the screen. For this, you have to calculate some parameters (even if it's only for a parabolic flight path) to get the shell starting at the shooter and finally arriving at the target location (hit or not hit doesn't play a role here). Now, you could take this trajectory and calculate possible intersections with objects (actually, that or something similar is already done for misses). There's no need to change/calculate the trajectory in-flight (except for ricochets). Of course, checking for collisions with objects needs CPU time during the calculation of the turn, but probably not all that much (more if collisions with units are also considered, but as I understand it that's not the case right now). Especially since the collision calculation is already done for misses (so the code exists already), I really can't see the reason why this can't be done for hits too (so pre-calculated "hits" could impact earlier, thus not really hitting), and even using a simplified trajectory would be better than nothing. There may be reasons for this not being feasible right now, but of course I can't take a look at the source code to see why.

Any comments would be appreciated.

Dschugaschwili

Link to comment
Share on other sites

Rather than checking the shell in flight for intervening objects, would it be possible (easier) to have a 2nd LOS check on the target after an amount of time equal to the shell flight-time has passed? If there is no longer a LOS (target is behind cover) it is treated as a miss. Otherwise the normal hit procedure is followed.

It doesn't seem like a huge deal, given that it will really only happen for some combination of long range, slow shell and quickly moving target.

Just a thought.

--Philistine

Link to comment
Share on other sites

Originally posted by Dschugaschwili:

Ok, after reading this thread and some of the previous ones covering the same topic, there's still one thing that isn't really clear to me.

snip...

since the collision calculation is already done for misses (so the code exists already), I really can't see the reason why this can't be done for hits too (so pre-calculated "hits" could impact earlier, thus not really hitting), and even using a simplified trajectory would be better than nothing. There may be reasons for this not being feasible right now, but of course I can't take a look at the source code to see why.

Any comments would be appreciated.

Dschugaschwili

Hi

If I may, I will attempt to summarize the answer BTS gave the last time this came up. The BTS response went something like this:

They suggest that we (as gamers with consumer level computers at the minimum hardware standard for this game) would not be patient enough to wait for the "crunch" that would take perhaps up to ten times as long to do all the HARD math and collision detection and calculating of the real life trajectory of the round. I think they said they could implement this if they chose, but our cpu hardware to do the math involved would leave us with very long delays to "crunch" the turn in a big scenario as the results of the move were being calculated into the movie. In a big scenario now you might wait 2-3 minutes for the crunch, what if that was 20-30 minutes? This was said to be a "deal breaker" as it would severely detract from the flow and playability of the game.

I believe there is a quote to this effect somewhere.

(If I am mistaken I'm sure someone will correct me, if Steve and Charles believe I have not correctly stated the BTS position on this issue I am sure we can count on them posting to this thread smile.gif )

hope that helps

-tom w

[This message has been edited by aka_tom_w (edited 03-16-2001).]

[This message has been edited by aka_tom_w (edited 03-16-2001).]

Link to comment
Share on other sites

Originally posted by Dschugaschwili:

you could take this trajectory and calculate possible intersections with objects (actually, that or something similar is already done for misses). There's no need to change/calculate the trajectory in-flight

There is, because reality is always in motion. You can't stop the time, check for possible intersections and have accurate results. This kind of static intersection check would be useless because it could not possibly know that 0.25 seconds after the check some unexpected entity temporarily blocks the trajectory just when the projectile is in that location.

Therefore trajectories must be constantly checked (thousands of times per second to accurately track projectiles from high- velocity guns) for each airborne projectile. This is the dynamic method. If the check was made 10000 times per second for each projectile to ensure that it would travel under 10cm between checks and there were 20 shots fired in one game turn and one would be in the air for 1 second on the average and the engine could evaluate 1000 intersection checks per second, it would take minutes to just calculate one minute worth of intersection checks.

the collision calculation is already done for misses (so the code exists already)

He said it was a simple static LOS check, so clearly useless for this purpose.

I'm sorry if I totally missed your point.

Link to comment
Share on other sites

Originally posted by Philistine:

Rather than checking the shell in flight for intervening objects, would it be possible (easier) to have a 2nd LOS check on the target after an amount of time equal to the shell flight-time has passed? If there is no longer a LOS (target is behind cover) it is treated as a miss. Otherwise the normal hit procedure is followed.

It doesn't seem like a huge deal, given that it will really only happen for some combination of long range, slow shell and quickly moving target.

Just a thought.

--Philistine

I hope Charles reads this,

That sounds like a "reasonable" compromise because it only doubles the LOS checks.

The idea seems quite simple.

Do an LOS check, fire the round, calculate the in-flight time to the target, at the end of that time check LOS to the target again, if no LOS then the round must be calculated as a miss.

BUT this means the determination of a hit or miss is NOT made at the time the round is fired but at the time after the inflight travel when it "should" hit or miss the intended target. Does this mean the chance to hit should be calculated for the target in the posture, position and cover that the target finds its self in AT the end of in-flight travel time of the incoming round???

This may not be anywhere near as simple to program as it may sound to us. I still think it is worth mentioning to Charles though.

Any other comments on this one?

I would like to suggest that with the new quicker minimum hardware standard for CM2, the extra time hit in the crunch and hit on the CPU cycles for this new "LOS check at the END of the inflight travel time" should (I HOPE) be offset by the faster CPU's leaving the crunch time about the same as it is now,but giving us the next level of almost real life inflight trajectory and collision detection calculation when determining the status of a hit or a miss.

(As a side note, this suggestion will have no bearing on my now patented "hunt your tanks up to the building and shoot through the middle ("sweet spot") of the it" trick as there is LOS at the begining of the round in flight and at the end of the round inflight as well, my pics posted here highlite a different issue altogether, i.e. LOS through buildings when no movement is involved.)

your comments?

-tom w

[This message has been edited by aka_tom_w (edited 03-16-2001).]

[This message has been edited by aka_tom_w (edited 03-16-2001).]

Link to comment
Share on other sites

Originally posted by aka_tom_w:

Do an LOS check, fire the round, calculate the in-flight time to the target, at the end of that time check LOS to the target again, if no LOS then the round must be calculated as a miss.

Maybe the predetermined hit could be considered to be "conditional" until it is verified by the second LOS check? The engine should remember the location of the shooter when it fired (it could have moved too) and then run the LOS check between that spot and the graphical hit location. But isn't this the problem, the engine does not know exactly where and when the graphical hit happens?

Tom, can you acquire LOS/LOF through the middle of a church?

Link to comment
Share on other sites

Originally posted by zahl:

Maybe the predetermined hit could be considered to be "conditional" until it is verified by the second LOS check? The engine should remember the location of the shooter when it fired (it could have moved too) and then run the LOS check between that spot and the graphical hit location. But isn't this the problem, the engine does not know exactly where and when the graphical hit happens?

Tom, can you acquire LOS/LOF through the middle of a church?

I have never got LOS through the middle of a church. Never tried actually, to do so just hunt your tank up to the last available meter of open ground before the church and let the tac AI do the rest. The secret is to hunt the tank into the church so it is half in and half out. But I have never got LOS straight thru the middle of a really big structure like that.

And yes good point about the position of the shooter if it is moving, except, doesn't the location of the shooter only matter at the instant the round is fired? To check the los of the shooter at the end of the inflight travel time of the round would only be of interest if you were dead serious about FOW results and wanted to know if you could "spot" for the result of the hit or miss if you lost LOS you might not be able to see the damage you did but it should have no actual impact on the hit or miss determination.

-tom w

Link to comment
Share on other sites

Philistine's [edit: oops attributed it to aka_tom_w the first time round] suggestion needs two slight modifications: "at the end of the in-flight time check LOF to the target again from the firing point, and if no LOF then the round must be counted as a miss".

#1: we have to use line-of-fire rather than line-of-sight, because what happens if smoke appears in the way in the middle of the shell's flight? That blocks a line-of-sight check at impact-time, but the shell should still hit, dammit.

#2 [edit - oops, Zahl already pointed this out]: the check should be made from the firing point on the battlefield, not from the firing unit, which might have moved behind cover in the meantime. Again, this doesn't mean that the shell it fired two seconds before from open ground shouldn't hit.

Note also that this depends on non-targetted units remaining "transparent" to shells (i.e. BTS can't make that more realistic!). Otherwise any unit that was in the line-of-fire at impact-time would cause a miss, even if it was (say) a friendly armored car that had moved 10m in front of the point-of-fire, well after the shell had passed that point.

Apart from those slight changes, I think this might be feasible: kudos to philistine [edit] for thinking it up. Rather than having to track the shell throughout its entire trajectory, we just check it at the endpoints. A neat solution that saves a lot of CPU!

I agree that Charles needs to be paged at this point biggrin.gif Anyone from BTS listening?

[This message has been edited by FriendlyFire (edited 03-16-2001).]

Link to comment
Share on other sites

Originally posted by FriendlyFire:

Philistine's [edit: oops attributed it to aka_tom_w the first time round] suggestion needs two slight modifications: "at the end of the in-flight time check LOF to the target again from the firing point, and if no LOF then the round must be counted as a miss".

#1: we have to use line-of-fire rather than line-of-sight, because what happens if smoke appears in the way in the middle of the shell's flight? That blocks a line-of-sight check at impact-time, but the shell should still hit, dammit.

#2: the check should be made from the firing point on the battlefield, not from the firing unit, which might have moved behind cover in the meantime. Again, this doesn't mean that the shell it fired two seconds before from open ground shouldn't hit.

Note also that this depends on non-targetted units remaining "transparent" to shells (i.e. BTS can't make that more realistic!). Otherwise any unit that was in the line-of-fire at impact-time would cause a miss, even if it was (say) a friendly armored car that had moved 10m in front of the point-of-fire, well after the shell had passed that point.

Apart from those slight changes, I think this might be feasible: kudos to aka_tom_w for thinking it up. Rather than having to track the shell throughout its entire trajectory, we just check it at the endpoints. A neat solution that saves a lot of CPU!

I agree that Charles needs to be paged at this point biggrin.gif Anyone from BTS listening?

Agreed,

Both your suggestions are what I meant..

But we MUST credit Philistine, it was his original idea to begin with I was just helping it along the way.

GREAT Idea Philistine!

Thanks!

-tom w

"Philistine

Member posted 03-16-2001 06:46 AM

Rather than checking the shell in flight for intervening objects, would it be possible (easier) to have a 2nd LOS check on the target after an amount of time equal to the shell flight-time has passed? If there is no longer a LOS (target is behind cover) it is treated as a miss. Otherwise the normal hit procedure is followed.

It doesn't seem like a huge deal, given that it will really only happen for some combination of long range,slow shell and quickly moving target.

Just a thought.

--Philistine "

[This message has been edited by aka_tom_w (edited 03-16-2001).]

[This message has been edited by aka_tom_w (edited 03-16-2001).]

Link to comment
Share on other sites

Thanks for the attribution Tom (but not really necessary biggrin.gif).

Zahl had a good point about the LOS being from the point of fire and not necessarily the firing unit. Which may be a problem (I was thinking that the code is there for LOS checks from units, but may require substantial "tinkering" to do a LOS check from a piece of ground).

If it couldn't be done from the firing point, it might still be useful to do from the unit (assuming the coding change wasn't too involved) as I'd think that a firing from a moving unit (and hitting) will be substantially less frequent than firing at a moving unit.

Again, I'm not sure how big a deal this really is. I've never actually seen it happen in a game I was playing (at least to a degree that made me notice it).

I wonder if this would cause a large coding problem? It sure is easy to throw out conceptual changes when you don't have to implement them... biggrin.gif

--Philistine

Link to comment
Share on other sites

Originally posted by aka_tom_w:

BUT this means the determination of a hit or miss is NOT made at the time the round is fired but at the time after the inflight travel when it "should" hit or miss the intended target. Does this mean the chance to hit should be calculated for the target in the posture, position and cover that the target finds its self in AT the end of in-flight travel time of the incoming round???

Yes, we can separate the factors affecting the chance-to-hit into those applicable at moment-of-firing, and those applicable at moment-of-impact. But I would argue that almost everything can realistically be done at moment-of-firing. Remember that the gunner is already predicting where the target will be in two seconds, so whether it moves into thicker cover or not is irrelevant - it's how well he could see it at the moment-of-firing that counts. The only two factors that I can think of that need to be postponed to moment-of-impact for maximum realism are:

#1. Profile of the target - if there's less metal to hit, there's a lower chance of hitting it smile.gif

#2. Posture of the target - as well as affecting #1, this should affect WHERE the target gets hit. If a targetted Sherman has turned its turret 90 degrees to one side by the time the shell arrives, it would be nice if the game engine showed a turret hit as a side turret hit rather than a front turret hit.

PS My apologies to Philistine for not correctly creditting him the first time round: now corrected smile.gif

Link to comment
Share on other sites

I still can't see how the engine could possibly know the location or the time of impact WITHOUT tracing the projectile in flight and seeing WHEN and WHERE and HOW exactly does it really hit the target. Philistine's suggestion looks like a solution on the surface, but how can you tell the engine to extract these vital details from the graphical representation we are seeing?

Link to comment
Share on other sites

Originally posted by zahl:

I still can't see how the engine could possibly know the location or the time of impact WITHOUT tracing the projectile in flight and seeing WHEN and WHERE and HOW exactly does it really hit the target. Philistine's suggestion looks like a solution on the surface, but how can you tell the engine to extract these vital details from the graphical representation we are seeing?

It doesn't seem necessary to extract the details from the graphical representation.

I envision something like:

1. A shot is fired (a LOS to the target is necessary at this time)

2. The engine does a calcluation of the time of flight which would be velocity of the shell divided by the distance to the target (to be most accurate you would have the velocity reduced by wind resistance--I would think the velocity of the target can be safely disregarded in considering flight time because it is so much less than shell velocity).

3. At this time an additional LOS is attempted (from the point of firing,if possible).

4. If the new LOS is not possible, it is a miss. If it is possible then eitherthe normal to-hit calculation is performed at that time or(if the to-hit calculation must be performed at time of firing) the shell will follow the result of the initial to-hit.

I have no clue whether this is possible/feasible to implement, but as I understand it, the graphical representation is done afterwards, and does not necessarily represent exactly what happened. The program does the calculation for the entire turn at the beginning, so that the graphics use the calculations which are already done, rather than the calculations being dependent on the graphics (if that makes sense?)

On a related note, are the shells in the game actually graphically depicted at the correct velocity? E.g., does a shell travelling at 500 m/s take approximately 2 seconds (a bit more, actually) to travel 1000 meters?

--Philistine

Link to comment
Share on other sites

Originally posted by zahl:

I still can't see how the engine could possibly know the location or the time of impact WITHOUT tracing the projectile in flight and seeing WHEN and WHERE and HOW exactly does it really hit the target. Philistine's suggestion looks like a solution on the surface, but how can you tell the engine to extract these vital details from the graphical representation we are seeing?

I agree with Philistine

The underlyeing engine does not extract anything from the graphical representation we see.

No, the graphical representation of what we see is an extrapolation of the 3D universe of Math coding hell that lies beneath the surface that Charles invented for our pleasure.

If he can code a chance to hit percentage and LOS check for his 3D math CM universe for the instant of when the shot is made, then we are suggesting he can also make the code confirm that result at the end of the inflight travel time for the round when it impacts the target or misses if the target has moved.

I agree as well with all of Friendly Fires suggestions.

AND he brings up a VERY good point.

If the target is moving could it be lead by the gunner. Well yes of course it could.

So in the time it takes for a round to travel from the shooter to the target could a target duck behind a protective building in time to be "missed"?

I think we can say the WWII tanks gunners were farily good at hitting moving targets.

The real question here is can a target the size a a tank move fast enough to be far enough from its original position at the time the shot was fired to gain any real benifit from this suggestion?

I agree, the concept here is that at the time of impact on the sceondary LOF check,after the inflight travel time of the round, if there is no LOF (e.g. tank is now behind building) then we are proposing that the shot be scored a miss?

BUT what if the gunner lead the tank well, and nailed its rear aspect just as it started to disappear behind a buidling. Or nailed the turret of a tank just backing down from a hull down position? Since there is only the center mass of the tank to consider when LOS and LOF and targeting are determined we may be trying to implement a level of reality and sofistication that is too discreet and too precise for the rest of the mechanics of the game. BUT we should still keep lobbying anyway!

I think this is a BIG BIG HUGE can of worms!

But I like fishing smile.gif so lets keep opening more cans biggrin.gif !

-tom w

[This message has been edited by aka_tom_w (edited 03-16-2001).]

Link to comment
Share on other sites


×
×
  • Create New...