Showing where PD can attack depending on terrain

Hello everyone,

I guess this is the forum to add suggestions that could be usefull for the game.

I wondered if it was possible to add a feature that would highlight in green the terrain where a PD can attack, and in red the terrain where it cannot because its shot will impact some "hills" inbetween where the turret is, and where the ennemy would be.

Indeed it is very frustrating to put PD, believeving you are safe from the ennemy but realize afterwards that it shoots in the ground and doesn't cover you.

Thank you very much.

I'm afraid this is not possible. The amount of computations we'd need to do in Lua for this would hurt performance quite a bit. I can only recommend you to zoom in to be sure when placing a turret.

A work of art is never finished, merely abandoned

@jip Couldn't it be possible to just make all PDs taller? I know that's a big task (remaking models, textures, etc) but could it be possible?

FAF Website Developer

Making the PDs taller doesnt solve anything. You would need to go ridiculously tall to avoid the issue in most cases.

Yep - the issue becomes smaller the higher it gets but it won't ever go away. You're just moving the frontier. Let alone that they become a lot easier to hit (walls will have less effect).

A work of art is never finished, merely abandoned

Not sure how feasible of idea it is, but maybe it would be possible to fill in the range ring when you are hovering the PD over land?
Or add texture that only shows up during the hovering that would go from the base of the PD to the edge of it's range, crossing through all the terrain that it meets on the way. So that the red outline would show terrain on the same height or below the base of PD while the normal looking one would be higher than the base?

@randomwheelchair Or we could make a mod to show a ring made at top of the PD that clips with map territory, that way, if you see clipping, you can assume the PD will be blocked there

FAF Website Developer

Send immense amounts of hate towards mappers anytime they put dumb hills on maps for no reason. I made a small amount of progress using this technique and you can continue my work.

Ive been trying to come up with a solution for this for awhile. A firing solution you could say.

I used to play the game exclusively in cartographic mode back when it came out, and one solution on one of my (many underserved and quite cold) back burners would do something like those elevation lines, but to a finer degree. I've had trouble figuring out shaders though.
Otherwise I think the solutions would be pretty Lua intensive, so zooming in and looking at the terrain to find good spots is the main solution.

You must deceive the enemy, sometimes your allies, but you must always deceive yourself!

The only thing that can do this is getting terrain height in a specified point, but as @Jip said, it may be very weighty to compute even with error

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

If you have an upgraded land HQ, your PDs should be able to shoot through terrain. When you get a T3 HQ, the PDs shoot homing bullets.

@randomwheelchair said in Showing where PD can attack depending on terrain:

Not sure how feasible of idea it is, but maybe it would be possible to fill in the range ring when you are hovering the PD over land?
Or add texture that only shows up during the hovering that would go from the base of the PD to the edge of it's range, crossing through all the terrain that it meets on the way. So that the red outline would show terrain on the same height or below the base of PD while the normal looking one would be higher than the base?

We could have a mesh that is a simple cylinder and move / scale that around accordingly. I'm not sure we can add it to the preview selection. But we could def. add something like this once the turret is in place through some toggle - that way you could 'scan' for terrain that is higher than the turrets base.

A work of art is never finished, merely abandoned

ALthough chances are the PD can't attack something that is on high terrain so the current system might actually be more accurate...

And there's different arcs and other issues. I don't think this game is fit for a solution that we want 🙂

A work of art is never finished, merely abandoned

I guess it is computationally intensive in the case we want to see it while the turret is preselected (because it has to be done "live" and calculated for each position we place the turret). Hence, what if there is an option we can press that checks on a specific spot if it is possible?

Would it still be too computationally intensive? Doing things this way would only make the computation "once" for a specific spot (I don't know if I am clear with my question).

Thanks.

I understand your question / approach - I'm just pondering about the implementation. I don't think we'll see this happening any time soon. There are more pressing issues / features.

A work of art is never finished, merely abandoned

What about displaying something that would make terrain more visible while PD is selected? Some kind of contour overlay or color-coded height map. That wouldn't require as much computation power and would still make it easier to tell when you're putting PD somewhere stupid.

But yeah I agree, it shouldn't be a priority. Just brainstorming

That would be a cheap solution (adjust the normals used for lighting calculations of the terrain to make bumps more visible). But we have no access to the engine - we can't add it in.

A work of art is never finished, merely abandoned

@arma473 hello starcraft my old friend

I guess from time to time everybody runs into this frustration. I see that the computing-intensity is a problem, but cant it be precalculated once?
The "hit-ability" of a given coordinate on a map is just a function of a given PD and its Placement-coordinate. Both are constant through the game so its possible to calculate a table pregame and read it. That table could as Property of the map. To minimize this, you can spread the coordinate a bit - we dont need pixel-accuration here.