Jump to content

LOS bug is back


Guest Guest

Recommended Posts

Recently I had a strange thing in Objective Pooh, not sure it was a bug or what. One of my Squads could see a RED tank, but couldn't order fire support on it. Is that supposed to happen?

Dont have a screenie of it, altough reproducing might be possible for me since I have some saves. Depends on the red tanks willingness though ;)

Link to comment
Share on other sites

Recently I had a strange thing in Objective Pooh, not sure it was a bug or what. One of my Squads could see a RED tank, but couldn't order fire support on it. Is that supposed to happen?

I see this rather frequently. When I was beta-testing I made a report about a MG team that showed an identified enemy icon but was unable to target it. It was explained as some kind of LOS updating frequency compromise for computational efficiency and I did not report it again thereafter.

In any case, I can definitely confirm your observation. This targetting anomaly happens every now and then.

Best regards,

Thomm

Link to comment
Share on other sites

Adam,

We'll look into it. If you can target a rooftop or the ground floor you should be able to target any individual floor between. I don't think I've ever seen it be different than that, even since the beginning of testing. So it will be interesting to see what you think you've found.

Lethaface,

Recently I had a strange thing in Objective Pooh, not sure it was a bug or what. One of my Squads could see a RED tank, but couldn't order fire support on it. Is that supposed to happen?

From your description, I can't tell. If you can reproduce it and make a save of it, that would be interesting to see.

Steve

Link to comment
Share on other sites

Unfortunately, it's not a bug in the sense that it's working as expected. It's just not working the way we would like it to. That's a different sort of thing.

It's what we call the "oblique angle" problem and it is definitely something we want to fix. Various improvements over the past 3 years have made it less of an issue, however the core problem remains. Sadly, the fix is actually quite straight forward and easy to implement. It's also an excellent way to make your computer cough and sputter :( I'll explain in detail...

NOTE!! This problem only occurs with Area Fire!! Direct fire against known targets are completely not affected by this issue.

The problem, basically, is that for Area Fire LOS is only drawn from Action Spot center to Action Spot center. Therefore, if the center is blocked it doesn't matter if you can see part of the Action Spot from your firing position (i.e. you get down to Camera Position 1 and take a look). The same works in reverse, of course, so if you can't Area Fire a spot any unit on that spot can't Area Fire back at you.

This is most pronounced with buildings because buildings aren't necessarily on the Action Spot grid (at least not exactly) because their footprint isn't restricted to 8x8m. It is also important to land Area Fire right at the building since landing rounds next to it doesn't tend to do anything useful. So while this problem exists for all terrain, it generally isn't noticeable outside of fairly dense urban areas.

Normally when two known units are firing at each other LOS is already established (separate routine) and, therefore, it can be assumed that there are no major blockages between the shooters and targets. This means all the code has to do are the LOF checks based, usually at most, on 7 known spots to 7 known spots (a Team can only have 7 men in total, an Action Spot strives to only have one Team in it). Obviously the aim of each shot can be off, even WAY off, but that's not too tough for the computer to handle due to the reduced possibilities of striking intermediate blocking terrain.

Area Fire, on the other hand, by definition lacks specific targets. This means the 7 man team doing the firing is literally asked to aim (semi-randomly) all over an Action Spot. This means there are thousands of possible "targets". If the two Action Spot centers LOS check works out, then it's presumed that there aren't any major LOS impediments. That means the system can pretty much randomly select a point for each soldier to fire at and then do a LOF check knowing that it will likely come back positive. In other words, very similar to what I just described above.

The problem with an Action Spot that is mostly blocked is that this assumption of clear LOS becomes more-likely false than true. That means the system has to do LOS checks before trying to fire each weapon, then do a LOF check when the weapon is fired. Because there are literally thousands of spots to shoot at, it would require potentially hundreds of extra LOS checks per soldier per shot fired. Otherwise you get a large portion of the shots fired hitting something that is obviously (to the player, anyway!) in the way because LOF isn't prechecked. This leads to all kinds of problems, including potential friendly fire, reduced suppressive effect (of the desired target anyway!), wasted ammo, and generally a "WTF GUYS! DON'T YOU KNOW YOU CAN'T HIT THE PART OF THE HOUSE BEHIND THAT BIG WALL?!?!" reaction. Not a good thing, for sure.

Now, take those hundreds of extra checks per soldier per time fired and multiply that by number of soldiers firing Area Fire concurrently. If you have 2 Marines Squads firing Area Firing at marginally visible Action Spots at the same time, that's 26 guys requiring hundreds of extra checks PER SOLDIER PER SHOT at the same time. That isn't likely to make the computer's resources very happy :)

So there you go! It's something that's always existed and is on our list of things we want to fix, but it's not something we think we'll get to very soon. But now that I've bugged Charles for the 1000th time about this, maybe he'll just get tired of it and figure out a compromise that won't kill the computer :D He's sure there is a practical way to do more than chip away at the core problem (which is what he's done in the past), but it's not something he thinks of as a top priority. Most people don't have significant problems on a regular basis (play style has a lot to do with that), so it's an important thing to fix but not at the top of the list at this very moment.

Steve

Link to comment
Share on other sites

Yeah, this is a known issue. I posted on it and got a two page discussion, including Steve's response, back in September: http://www.battlefront.com/community/showthread.php?t=83773

In a perfect game world you could area fire at anything you see. Steve has posted about why that can't work right now.

The next best solution was what Flanker15 posted in the previous thread: if a "?" exists, be allowed to target the "?" as if it were an enemy unit. (This presupposes two things: the reason you want to area fire is due to known enemy activity; the known enemy is no longer in LOS (if it were visible, you could fire at it, albeit with a grey LOS/LOF line)). If an enemy has just disappeared from LOS, a "?" marker appears.

So, allowing "?"s to be a target, is that possible?

Thanks,

Ken

Link to comment
Share on other sites

c3k,

So, allowing "?"s to be a target, is that possible?

This has been proposed to Charles a few times already, but for reasons I now forget he felt it would likely result in some undesirable side effects. I have a feeling they might be the same ones that I outlined above because if you see a "?" your guys don't know where the enemy is, or even how many, so you wind up with the same sort of computational problems as just targeting the spot without a "?".

The viable solution, I think, is to have an Action Spot capable of being broken up into mini Action Spots on the fly when Area fire is requested on a spot. This means the firing unit would suffer some extra LOS checks at first, but once it discovered a mini spot that couldn't be hit that spot would be removed from targeting considerations for future shots. For example...

If an Action Spot were subdivided into 9 Action Slices (I like the sound of that ;)) the initial Area Fire would try to hit all 9. If it found that it could only hit 1 of them, then all Area Fire would be concentrated on that 1 Action Slice for the rest of the time the unit is firing. This would dramatically reduce the LOS checks, probably to a point that the computer could handle under most any realistic situations (i.e. not a tester having a Battalion Area Fire 200 different spots at one time :)). When the Area Fire ceases the subdivisions are erased so as to not clog up RAM. Practically speaking this would mean no more than a few of these specialized Action Spots being maintained at any one time.

Although this might sound straight forward, it isn't. What happens if the firing unit is on the move? When do you recalculate which Action Slices can be seen or not seen? There's probably a lot more I'm not thinking about either, since code often works in ways that are completely unintuitive from a player's standpoint.

The bottomline here is that there is most likely an acceptable, even if not perfect, solution for this problem that the computer could handle. But the time that would need to be invested into the coding, testing, tweaking, testing, etc. cycle is potentially quite serious. It's definitely worth doing, so the question isn't "if" but rather "when" does it make sense to do it. As I said, it isn't such a huge problem that we think we should halt everything fand fix it like we did with the ELOS system back in v1.06 days.

Steve

Link to comment
Share on other sites

Adam,

It's possible that we are talking about the same issues (certainly some of the earlier ones you brought up definitely are the same). Remember that individual soldiers spot on their own from their current position, not from Action Spot center. So if you set up a situation where one guy wanders over to a "perfect" spot where he can see, then you get LOS. If in another situation nobody moves to that perfect spot it might look like the unit should have LOS but, because of the "oblique angle" limitation the actual result is that the unit doesn't. A subtle shift of individual soldiers can make this situation go back and forth if the position relative to the intended target area is right on the cusp of being one way or the other.

Remember, this is 3D we're talking about here... so a tall wall can just barely block LOS to a particular higher floor just as easily as it can block LOS from seeing a laterally orientated building. In other words, the "oblique angle" issue I described is just as applicable to height as it is lateral placement. What it might not be is just as likely to come upon. I have no idea if that is the case or not, but it might be that oblique LOS is circumstantially easier to see with lateral conditions vs. vertical ones.

Steve

Link to comment
Share on other sites

Based on the screenshot, it looks like the soldiers are on the reverse side of a slope. Since CMSF calculates LOS from 5 different height levels, it is entirely possible that LOS could be blocked for soldiers in a prone position.

Is LOS also blocked if they are kneeling, standing up or if a vehicle is in that spot?

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...