Jump to content
Game-Labs Forum

Line of Sight Smoke Screen Suggestion


Skeksis

Recommended Posts

Currently smoke screens are based on if ships are within the radial distance of a deployed smoke screen.

Suggestion.

If ships were assigned to another ship to deploy smoke screens, then the game would have a ‘direct link’ to all those ships and their information and in an instance the game would know exactly how to compute the line of sight smoke screen.

Example.

Screening ship B is assigned to target ship A by helm mode 'Screen', attacking ship C is targeting A, XL is a predetermine value, the smoke screen length (in-game value). At this point all factors are known, computing SR can be done in an instance. The game would have to cycle through each grouped ship to test if the targeted A is within B radials but the game won't have to cycle through every single ship in the battle, this method would be selective searching only. 

t8rHUfp.png

 

Search by Radial Distance vs Direct Link Selection.

Currently, because there's no direct link, there must be some form of searching to determining if ships are in-range of the smoke screens. If so then that means the game has to loop through every smoke deployable ship, test if it is deploying and then loop through all the other ships testing if they're in-range of its smoke, this would be very taxing, any searching would be taxing. The method I suggest has selective looping, it's only going to loop through the grouped ships when the game needs to update smoke screen effects.

At the instance of target selection, all ships and there values are linked: the attacker, the target and its screening ship(s), all is known, from there the game can instantly compute line of sight and if any smoke deployments are shielding the target, very fast.

The Rule.

Smoke screens only works if the ship helm mode is set to 'Screen' and the ship is screening its selected ship.

I don't think much would change in regards to gameplay, except screening ships can be vectored further away from the ship they're protecting. But it will introduce line of sight and set a better battle environment. Ships can still deploy their own smoke screens.

Adaptation.

There's only thing that might need some looking into, when ship are set to screen another ship they are going to need to know which side to screen, two options...

  • The screening mode is changed from one mode to two: 'port screen' and 'starboard screen'.
  • The player sets a target to screen from.

Or you could have both these options included into game. I suspect players would use the 'Spread' mode more, 'loose' spread could be use with great effect for both the players and the AI, like it would have a greater arc of screening being closer to the enemy. Or players might choose the 'tight' spread mode, options are really up to the players. Maybe the game should have port and starboard screening modes anyway. Later, more spread modes good be an option.

Summary.

If this method could save or eliminate some searching then it could free up resources for other things e.g. more ships, it might be worth testing. Line of sight smoke screens would be a more practical application, more realistic. Any moves towards more realistic gameplay must be good.  

Edited by Skeksis
  • Like 4
Link to comment
Share on other sites

Option 2.

We could optimize this alittle bit more with a continuous smoke trail spanning all the screening ships XG...

fiFj4y3.png

 

 

This option would remove any searching, super fast!

Though I don't know how longer smoke trails would effect the games visuals/fps, benefits might not outweigh gains, but maybe smoke screening ships could be made to close the gap alittle to optimize smoke animations.

 

Edited by Skeksis
  • Like 1
Link to comment
Share on other sites

Nice illustrations.

Have raised the operation of smoke screens previously, as they clearly are based on that other cursed game as mobile cloaking devices and thus have bugger all to do with realism (there's that term again, LOL).

Here are my suggestions:

What a smoke screen ought to do:

- Leave a trail of whatever length (based on the speed of the ship, obviously).

- Obscure targets where the screen itself intercepts line of sight.

- Possibly have TWO states: heavy and light. "Heavy" is the condition of the screen as laid. "Light" is what the screen becomes as it starts to disperse (see below).

A HEAVY screen ought to PREVENT FIRING AT ALL AT A TARGET OBSCURED, as happened in a number of real world battles. Ships of the era still relied almost exclusively on optics for gunnery, even when radar was present.

A LIGHT screen ought to impose a significant penalty on gunnery through it.

- Disperse over time. If going with the idea of HEAVY and LIGHT screens, I'd suggest a "standard" rate at which they go from HEAVY to LIGHT to dispersed/no effect. That standard rate ought to increase with the velocity of wind. No screen is going to be effective for long, if indeed it's even achievable, in significantly windy conditions. The good news at least is ships firing at you are going to suffer penalties for the weather.

- Drift according to the wind direction.

What it ought NOT do:

- Act as some sort of cloaking device for the vessel laying the screen. The screen CAN obscure the vessel laying it, just as it can any other, but that's equally a function of the bearing of the enemy ship wishing to target it, the screen laying ship's course relative to that, and how the wind affects the screen. It's not as though they generally covered such a significant area that a ship was ever likely to be sailing "IN" the screen; I'd have thought they're not at all like "instant fog" in terms of area of coverage, even if they DO have a similar effect on vessels trying to see through them.

 

Cheers

 

Edited by Steeltrap
  • Like 3
Link to comment
Share on other sites

How simple could line of sight smoke screens be under the hood.
I'm only showing the principles...

// we would only need two points, a single line from start to end.
// our smoke screen 
struct dSmokeScreen {
vector3 pt1;                  // start, deployment position plus smoke circle radius and thereafter to follow the ship           
vector3 pt2;};               // end,
ship position plus smoke circle radius       

// nestle somewhere in ship struct would be a dSmokeScreen, updated everytime the ship moves,
// extracting aSmokeScreen could be like so…
dSmokeScreen aSmokeScreen = Ships[c].MainGunsTarget.ScreeningShip[b].SmokeScreen;

// and if there were something like this...
vector3 ptAttackingShip = Ships[c].Position;                                 // line start
vector3 ptTargetShip      = Ships[c].MainGunsTarget.Position;     // line end

// then testing line of sight could be like...
if (LineIntersectsLine(aSmokeScreen.pt1.x, aSmokeScreen.pt1.z, aSmokeScreen.pt2.x, aSmokeScreen.pt2.z,
                                    ptAttackingShip.x,  ptAttackingShip.z, ptTargetShip.x, ptTargetShip.z))) {
                // do something
}

Essentially this is all you would need. 

Edited by Skeksis
  • Like 1
Link to comment
Share on other sites

Nice ideas. I brought up issues with smoke in the past and it seemed to be ignored. One thing I would stress is wind needs to affect smoke. This would add depth to the tactical use and add more interaction of smoke with ships and the environment.

Second any ship should be able to use smoke regardless of position or role. Maybe at a funnel and/or engine penalty. Any ship can use it historically so why limit it here. If the simulation, ie wind, is appropriate there wouldn't be any issues of it being over powered.

Another point I would maybe say it could be interesting to add is types of smoke. Different periods had different kinds of smoke with differing effects and behaviors. For instance some naval smoke screens were "heavy" and would fall into the ocean quickly and would be nearly useless in rain but wouldn't be blown very far by the wind. While other kinds would tend raise into the air.

Edited by Ruan
Link to comment
Share on other sites

On 9/4/2020 at 7:58 AM, Steeltrap said:

A HEAVY screen ought to PREVENT FIRING AT ALL AT A TARGET OBSCURED, as happened in a number of real world battles. Ships of the era still relied almost exclusively on optics for gunnery, even when radar was present.

I love everything about this post and this thread, but I'mma just jump in to say that smoke ought not to significantly affect radar-directed main batteries. First example that comes to mind is Admiral Hipper vs Glowworm, 1940. Glowworm laid smoke to cover herself (turning back into it, as would be possible above) at about 5-7km range but Hipper scored several hits through the smoke with radar, on a zig-zagging destroyer capable of 36kts.

There were also quite a few Pacific battles at night where radar was used heavily and sometimes exclusively for gunnery direction, such as Third Savo Island and Surigao Strait.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...