Development Status #61

Tank Squad

Tank Squad is a tactical-combat action game. Take part in big tank battles during World War II. Play single-player or coop (4 players). Repair your tanks, replenish supplies, manage the crew and get back to the action!

[img]{STEAM_CLAN_IMAGE}/39404519/a66969cf5c0dbee09af82213d065d09a705032bb.jpg[/img] [h2]Dear Tankers,[/h2] Welcome to our [b]61th[/b] Development Status. Lets take a look what happend during development last weeks! [previewyoutube=frUjJ2LldxI;full][/previewyoutube] [h3]Environment Overhaul[/h3] Change from built-in to URP, had to spawn new approach to our visual fidelity. With new technology, came new tech art pass. We had to rework our shader for trees, and other vegetation, because it didn’t meet our new expectations. With that in mind, we got back to the basics, addresing the problems You, our Community had in demo tests couple of weeks ago: [list] [*] Performance [*] Overall look & feel [/list] [img]{STEAM_CLAN_IMAGE}/39404519/8b4f0ffe5f25eaba01f32263f0f2c2ae00058950.jpg[/img] [img]{STEAM_CLAN_IMAGE}/39404519/6c6f097a6c4dd607c1e1ebb8c9ee1087cbd8f99e.jpg[/img] For fixing our performance, we had to cut geometry from trees. GPU Instancing of 30 000 trees with 3-4K trisses, inputted heavy strain on GPU. So we cut triss numbers in half, which gave us much more resources to work with. [img]{STEAM_CLAN_IMAGE}/39404519/95f14e1a9c73bcd125c5d03bc34e09923d945edf.jpg[/img] Because of these changes, less geometry directly impacted how our game looks from the distance. Unity auto-optimized rendering hides geometry, if said geometry was smaller than one pixel to render (tree leaves started to vanish unnaturally). Our new shader had to compensate this problem. Chosen approach was to use higher values of alpha cutout threshold with the distance from player camera. This way our trees from afar look better than previously, beacuse they are blending better with environment. We also introduced specular, and emission fading, to boost volumetric feeling of vegetation. With this “alpha trick”, we added special depth pass on the shader. Depth pass write into Z buffer geometric information of every mesh on the scene, which prevents overdraw in actual forward+ pass for semi transparent materials (like leaves for example). This way we are minimizing numbers of one pixel being rewritten by the GPU. To push this approach even further, here comes the reduction of alpha cutout, mentioned above. With this trick, tree leaves obscure more screen space, which reduces even more pixel rewrites. Also we use atlas textures for every tree and grass in the game. With this approach we are reducing use of RAM, VRAM, and cycles of GPU work to render everything. [img]{STEAM_CLAN_IMAGE}/39404519/b8dbfb2e004059bfd29225e5416c633cdb2c82f7.jpg[/img] For overall look, with URP came new lighting model. Physical Based Shading use physics principles for lighting. The main change is conservation of energy. Light dissipates more naturally in the scenes. Previously our lighting model was based on Blinn-phong approach, which is quite nice approximation of natural lighting, but has nothing to do with realistic lighting. We also added new tech to the shader itself. Our vegetation now have simple implementation of subsurface scattering, which gives feeling of light going through leaves. We also baked Ambient occlusion to the vertex color, to boost volumetric feeling, and make trees look less “flat”. With vertex information, we additionally changed vertex normals, to make shading more smooth and natural. Additionally to all, Tank Squad presents its first steps towards dynamic time, and weather. Everything on the scene is computed in real time, no baking involved. [img]{STEAM_CLAN_IMAGE}/39404519/e71f5f87da410c0dff08e45dd6a5a3263554fee4.jpg[/img] Changes also come in for our sky, fog, and clouds. Now environment as a whole, feels more connected. We introduced to our workflow implementation of decals. Tank tracks, or some other smaller details will be added to Tank Squad with next development cycles, which give us another tool in creation of believable terrains. With URP also came in Screen Space Ambient Occlusion, which unfortunately is not meeting our expectations, so we are swapping SSAO for HBAO+. AMD FidelityFX Super Resolution will make its appearence too, so for people that struggle with performance, this should help them resolve this issue to some extent. [img]{STEAM_CLAN_IMAGE}/39404519/8ad163a16926a90b4cc3d92f442add7f852e8654.jpg[/img] [h3]AI enhancements[/h3] We’ve been pushing the next phase of AI enhancement process, this time focusing on attacking and ambushing. Quick summary of both behaviour types: Attacking means either level designer sets up an event with Attack Command for specified squads to: [list] [*] Move towards specified place or along waypoints [*] If units get engaged while moving towards the target position they switch to assault behaviour: [list] [*] The squad is divided into 2 groups, where one group assaults, second group is prone and provides support fire [*] Every X seconds the groups switch and rush toward their enemies [/list] [*] Based on this tactic: [list] [*] [url=https://en.wikipedia.org/wiki/Bounding_overwatch]Bounding overwatch[/url] [/list] [/list] Ambushing means: [list] [*] staying in assigned pose by lvl designer [*] Not starting combat untill: [list] [*] being shot upon [*] enemy is close enough (is lvl designer set this as trigger to start combat, we call this ambush radius) [*] enemy has triggered a specified collider on scene [/list] [*] When combat starts all units switch to one of two behaviour types: [list] [*] Standard - when they are set to be defensive, so they just stay where they were and open fire [*] Attack - start actively seeking contact or directly assaulting the enemy that triggered the ambushers [/list] [/list] [img]{STEAM_CLAN_IMAGE}/39404519/826d7b7eed7ce0ee5cfd62237b256021f1119cb2.jpg[/img] We would like to showcase this in future dev log or even dev stream how this works, as our plans to extend the AI are big. But we have to focus on many different aspects of the game. Thats why we now want to finalize and iron out current AI features and go on to those other aspects. [img]{STEAM_CLAN_IMAGE}/39404519/b6c5fcd5b3276bcdfd02c812cac7a0e3cbaecb5d.jpg[/img] Thank you and have a good one! [i]DeGenerals[/i] [img]{STEAM_CLAN_IMAGE}/39404519/ef5d3a6d6ff6538074686b68ff0998db3db3744b.jpg[/img] [url=https://discord.gg/vNQdBgrdRx][img]{STEAM_CLAN_IMAGE}/39404519/c3bdf5f1cdabcd495fb0a8166cee22818ef1129f.png[/img][/url] [url=https://www.facebook.com/TankSquadGame][img]{STEAM_CLAN_IMAGE}/39404519/f669dfaac50572abe510828b1ac67d3bcbcedf72.png[/img][/url]