Dev blog - Smoke screens.
[p][/p][h2]Historical context.[/h2][p]It is obvious that smoke screens were widely used in naval battles during World War I, but information about their technology and tactics in the internet is fragmented and incomplete. It appears that in addition to traditional funnel smokes produced by reducing the amount of air supplied to the boiler furnaces, chemical smokes, sometimes called artificial fog, also began to use in the late period of the war. They were more dense and wind-resistant. And unlike traditional funnel smokes, they also did not affect the propulsion system of the ship, allowing it to maintain speed during the smoke-laying maneuver.[/p][h2]Smoke screen game mechanics.[/h2][p]In the game, smoke screens are used to obscure visibility. They have two distinct phases of lifetime cycle: creation and dissipation.[/p][p]During the creation phase, when the ship is moving, the smoke behaves similarly to the normal funnel smoke effect:[/p][p]
[/p][p]But when the ship opens fire or performing damage control work, there is a little difference from normal funnel smokes. Because the ship can lay smoke over multiple turns in a row, the smoke screen shape can be complex, and particles that create the smoke screen effect must follow this shape when the ship is not physically moving in the scene:[/p][p]
[/p][p]At the creation phase, smoke screens are also retain their maximum density and, accordingly, their maximum ability to obscure visibility.[/p][p]When the creation is complete, the smoke screen separates from the ship that created it, and its particles become static. At the end of each turn, such smoke screens partially lose their opacity and slightly moves by the wind:[/p][p]
[/p][p]Of course, with stronger winds, smoke screens disperse faster.[/p][h2]Differences between smoke screen types in the game.[/h2][p]From the description of funnel created smoke screens it follows that technically any ship with coal/oil-fired boilers can create them.[/p][p]However, in the game there will be a limitation for civilian ships. They will not be able to create funnel smoke screens not because of technical reasons, but because their crews do not have the necessary qualification for this.[/p][p]When the ship has funnel smoke screen creation enabled, the performance of all its working boilers limited to 50% of their maximum, resulting in a corresponding reduction in propulsion system power. Additionally, funnel smokes can’t be created more than four turns in a row, and subsequent attempts require the cooldown equal to the number of creation turns. For example, if you laid smoke for 2 turns, you will need a 2-turn cooldown before you can enable smoke screen creation again.[/p][p]Chemical smoke screens also can’t be created for more than four turns in a row, but unlike funnel smokes, their creation can’t be interrupted until this interval has passed and they can be immediately activated again without any cooldown periods. Futhermore, they take twice as long to dissipate and, of course, they don’t relate to ship propulsion system. But this comes at a price: chemical smokes have a limited number of charges and they are only available on high tier destroyers.[/p][p]
Thus, such destroyers can create smoke screens of both types, even simultaneously (even though it doesn't make much sense).[/p][p]
[/p][h2]Use of smoke screens by game AI.[/h2][p]This is probably the most complex part of the whole smoke screens story, which is still not complete at the time of writing this article. The basic idea is minimizing 2D shapes created by the enemy group on one side and expected positions of our own AI group on the other side. These shapes may be of different types and have different widths:[/p][p]
If there are many ships in the AI group, the shape is created based on their expected positions, which are closer to the enemy:[/p][p]
[/p][p]When escaping from an enemy(being under heavy artillery fire, fleeing the battlefield and avoiding ‘Crossing the T’ situations in an artillery fight), the AI will first request a smoke screens coverage from other groups of allied ships. These ship groups make decisions whether to provide assistance or not based on the relative ships value (the column of dreadnoughts will refuse to create a smoke screen for a destroyers squadron) and their position relative to the 2D shape of the nearest dangerous threat to the ships group requesting assistance. An allied ships group may already be inside the 2D shape, and it is easy to provide assistance even if the wind is not very favorable:[/p][p]
[/p][p]Or it can be close enough the shape so that the smoke screen creation maneuver will take relatively few turns:
[/p][p]If the assisting ship groups completely obscure all 2D threat shapes with their smoke screens, the AI will do nothing more. But in other cases, given that almost any ship in the game can create a smoke screen, the AI will try to lay its own smokes. And this task is more complicated because, unlike allied ship groups, the AI will try to maximize coverage of all 2D threat shapes. There is also more complicated logic of choosing the moment to start laying smoke. In some cases, motion simulation shows that it is better to start as early as possible:[/p][p]
[/p][p]In other cases, it is better to start later to minimize the visibility of the AI escaping route:[/p][p]
[/p][p]Since creating a funnel smoke screen reduces ship's speed, and chemical smoke screens have a limited number of charges, it is also advisable to optimize the number of ships laying the smoke screen. For example, when retreating from an enemy in a column formation, the creation of a smoke screen by the leader ship may be unnecessary if the 2D threat shape will be completely obscured by the smokes laid by ending ships.[/p][h2]Conclusion.[/h2][p]Implementing smoke screens into the game turned out to be a much more complex and time-consuming task than I expected. But it should have a significant impact on the gameplay, making it more fresh and varied. And I’m very sad that I couldn't finish it till the end of the year. Now debugging and polishing it will become my primary task as early as January 2026. Hope that the coming year will be less troublesome but more productive.[/p][p]Merry Christmas and Happy New Year! See you in 2026.[/p]