1. Cleared Hot
  2. News
  3. Jungle Preview

Jungle Preview

[p]Hello Pilots! Join me on this Saturday morning as I share what we've been up to since the holidays! New Jungle preview, new water, boats, and performance updates. Let's go... [/p][p][/p]
Jungle Preview
[p][/p][p]Our revised jungle theme is coming together.[/p][p][/p][p]We've been doing a ton of work finding the right style for the jungle that won't melt your GPU. We're not quite done optimizing but we're getting closer. The overall vibe is coming together and I'm pretty excited about it. [/p][p][/p][p]The jungle will play differently than Texas, and we're exploring how those elements play into mission types. Expect to be ambushed by units hiding in the trees, fend off naval attacks, and escort your allies through dangerous extraction missions. [/p][p][/p]
Water 2.0
[p]For those of you that have been following the game for a while, you know that we started with a more low-poly style. As that evolved into our current style, the water got left behind in low-poly mode. [/p][p][/p][p]Thankfully Texas doesn't have a ton of water :D But now that we're headed to the jungle, it was time to make the water feel like... water.[/p][p][/p][p][/p][p]I explored several different approaches, including some package systems, some basic shaders, and doing something with Unity's shader graph. [/p][p][/p][p]I ended up picking this shader that is pretty lightweight - it is meant to even run on mobile devices, so performance is quite good. We get some better looking water, and it actually moves. It should add a lot to the missions we can do in the jungle. [/p][p][/p]
Buoyancy
[p]This was incredibly fun to work on- I love the physics stuff. I tried several different implementations of the physics behavior and ended up with one that feels pretty satisfying to me. [/p][p][/p][p][/p][p]I tried a couple different calculations for the buoyancy. A few considerations were: [/p]
  • [p]Has to run fast- performance over realism[/p]
  • [p]Simple to implement and tune for different types of vehicles (or NPCs!)[/p]
  • [p]Has to match the actual wave action of the water [/p]
[p]
I ended up picking a solution where each object has various float points that get force added to them depending on how much they are submerged, with some damping. [/p][p][/p][p][/p][p]Left: Linear calculation without damping, Right: square root based depth calculation, with damping [/p][p][/p][p]The buoyancy system is using Unity Jobs to run the calculations in parallel. So we should see a nice benefit from being able to actually do something with your multiple CPU cores. [/p][p][/p][h2]Boat Driving[/h2][p]The boats can now drive as well! The physics model here is pretty simple- tuned for action and a bit of chaos.[/p][p][/p][p]This is just a start- we have a bunch of water units we'll be implementing for Chapter 2. [/p][p] [/p][p]Yes, the NPCs are just fine with a bit of underwater time. [/p][p][/p]
Performance Side Quest
[p]We spent a good chunk of January exploring how to improve performance in the game. [/p][p][/p][h3]Steam Deck [/h3][p]We found a big improvement by making some small changes and building for Linux. This should improve everyone's Steam Deck performance and allow us to render more trees in the jungle. This will release with Chapter 1B.[/p][p][/p][h3]Unit System[/h3][p]We made a handful of small improvements to how units work in the game. [/p]
  • [p]Previously all the units (NPCs, vehicles, etc) were using the same Unity driven FixedUpdate call. We updated that to use our own update call, which is a bit better. [/p]
  • [p]We now assign a priority to units based on their proximity to the player, and update further units less often.[/p]
  • [p]We ignore allies when searching for targets. [/p]
[h3]Destruction System[/h3][p]We found a small gain here by delaying some physics calculations to when a piece is falling off- not when something first breaks. This just reduces the amount of physics rigidbodies being calculated. [/p][p][/p][p]Also if you haven't played w the slider for Active Debris Limit- this will improve your CPU performance in destruction heavy scenes. It was part of a previous update but important to mention.[/p][p] [/p][h3]A* Navigation [/h3][p]We've updated the system that the NPCs and vehicles use for pathfinding, and switched to a system that uses Unity's ECS system for greater parallelization. We also added optimizations on navmesh calculation for static objects. [/p][p][/p][h3]Pooling[/h3][p]Decals for bullet holes were not being pooled previously. This should be a small improvement to every mission.[/p][p][/p][h3]Unity 6.3 Update[/h3][p]We've updated to Unity 6.3, which is their latest long term support version. We didn't notice any major improvements from this but it allows us to update a bunch of other packages which should help.[/p][p][/p][h3]Shadow Map[/h3][p]We found a couple small ways to reduce the amount of extra shadows being rendered, that were outside the game view. We still have some work to do here, but we reached the level of what's helpful without rebuilding major Unity render features. [/p][p][/p]
PITCH YOUR JUNGLE IDEAS NOW
[p][/p][p] [/p]
  • [p]What type of water-going enemies?[/p]
  • [p]What missions come to mind when you think jungle?[/p]
  • [p]Other childhood game memories you want to relive :D [/p]
[p][/p][p]Thanks for following along- We're so thrilled to get the opportunity to make this game. All thanks to you. [/p][p][/p][p]- Colin "cfinger" and the Cleared Hot team [/p]