1. Tiny Combat Arena
  2. News

Tiny Combat Arena News

Massive Vehicle Optimizations and New Features

Hello! It's been a month since the last release. I try to keep a monthly release schedule but this month's work has ballooned into something large enough that a release at this very moment (even on the tester's branch) is not possible. However, there is good news and progress that I'm very excited to share.

In summary, vehicles are in the middle of a large refactor to fix blocking issues preventing more interesting maps, but has expanded to include big optimizations for guns, bullets, and their visual effects.

[h2]Pathfinding[/h2]
[previewyoutube][/previewyoutube]
The above video shows ~500 vehicles doing pathfinding on a map that is (theoretically) 100km across, at 200 FPS. Vehicles have never, and could never, drive across a bridge like this before.

The core feature I was interested in was pathfinding for the vehicles. At first, I was planning on writing this myself and applying it only at the formation level. However, a friend pointed me to the Unity pathfinding package. I was skeptical because of my previous experience with Unity packages, especially those marked experimental, but this proved to be shockingly effective and easy to use.

After some quick prototyping, I found out that this could not only be used for pathfinding, but as a replacement for the current, and very expensive vehicle physics. Put simply, rather than vehicles running their own kinda strange physics, they can instead just follow the navmesh which is a "good enough" approximation of the map, bypassing the need for expensive ground clamping and physics calculations.

With the integration of proper pathfinding, not only does this mean that vehicles can correctly path their way around mountains, buildings, and airfields, but their performance is dramatically improved. There were some very big scares in the implementation particularly with regards to the game's floating origin, but those hyper-critical issues have been resolved enough (navigation takes place in something like a parallel universe 😂) that this is a way forwards.

Worth mentioning too is that this also addresses many old reported issues of vehicles such as their shaky movement when going over uneven ground.

[h2]Gun/Bullet optimizations + Externalization of Data[/h2]
[previewyoutube][/previewyoutube]
In the process of updating the vehicles, I accidentally ended up doing that turret/bullet refactor I've been dreaming about. Bullets are pooled in a much smarter way, which in particular effects AAA, and all the many little bugs they had (such as disappearing tracers) are now fixed. This was a pretty deep rabbit hole that has resulted in new particle effects for most of the bullet based weapons along with new and improved sound effects, especially for bullet flybys. Please keep in mind that several effects are still WIP, since right now the tanks are using machinegun impacts.



This rework also allowed bullet data to be loaded from JSON like everything else. They can be edited by anybody, it's easier for me to make new ones, and most importantly, no longer rely on hardcoded and unmodifiable prefabs.

[h2]What does this mean going forwards?[/h2]


As anybody who has seen me talking about this on the MicroProse Discord would know, I am really excited about this.

[h3]1. The game can hit its vehicle targets[/h3]


The current arena demo, which featured ~120 vehicles, was already at the tipping point of what I was comfortable with performance-wise. There wasn't room to go bigger from there. My original target for active vehicle counts has been around 500 vehicles. While that isn't Falcon 4.0 numbers of vehicles (thousands...), I was never going for that. An upper limit of ~500 units on the map sizes I intend the game to have affords both the scale and "living battlefield" feel that I'm aiming for.

One of my primary goals for Tiny Combat was for the player to feel like they were instrumental in winning a larger battle taking place on the ground rather than isolated dogfights in the clouds. This is one big step closer to that.

[h3]2. Much more interesting maps[/h3]


The new pathfinding code comes with many new features I am so excited about, some of which I wasn't expecting to ever be solved. Bodies of water such as rivers and lakes can block unit movement. Vehicles can correctly drive over bridges. They will prefer to drive on roads when possible, and avoid driving over the runway! They can even drive through tunnels. Oh yeah, and they aren't restricted to flat ground anymore.



One of my biggest anxieties with the game has been map design and terrains. A combination of technical and design issues has made terrains the most difficult subject for me to approach because of both specific technical limitations regarding the game's style, and how vehicles could possibly be incorporated into them. Even something as simple as a base being on higher ground than another base was pretty much off the table until now, let alone having the AI navigate around mountains, through ravines, and over bodies of water.

A great weight has been lifted from my shoulders with this, allowing me to focus more on producing interesting maps, scenarios, and content to fly around (and through 👀) without isolating ground vehicles from the action. There's some dream ideas I've had for maps since the project began that are now possible and I thank you all for sticking with me through this journey. There's still work to be done before this can be re-integrated fully into Arena, but it's getting close.

0.8.3.4 Hotfix

Hello, this is a small patch meant to address some issues found after the last release. None of these are critical, but they were low hanging fruit. Since the next patch will involve some pretty heavy lifting, I figured it was worth putting out a hotfix rather than having these wait on a big and unrelated patch.

Balance:
- Minimum radius for splash damage calculation now 33% from 25%, increasing the lethality of all splash damage

Improvements:
- Mk82, Mk83, and Mk84 have small, medium, and large explosion visual effects respectively
- Explosion crater size pulled from JSON data files

Bugfixes:
- IR missiles can no longer lock onto buildings
- Chaff/Flares reloaded when rearming/refueling
- Vehicle dust trails no longer disappear the instant the vehicle is destroyed
- Fixed error caused by missile seekers tracking an expired flare

0.8.3.3 is now on stable! Weapons camera, Improved TWD, and tougher air defense!

[h3]Snakeyes[/h3]


A new bomb has been added to the game, the Mk82 Snakeye. These are high-drag bombs designed for high speed passes at low altitude. Their slow fall speed allows you to leave the blast area before they detonate on the ground or on a target. The new bombs can be found in a new loadout named "High Drag Bombs".

[h3]Threat Warning Display and Cockpit Switch Audio[/h3]
[previewyoutube][/previewyoutube]
You will now receive audio cues from the Threat Warning Display when:
  • A radar has been detected (short beep)
  • A radar now has you locked (constant beep)

This is meant to help prepare the game for the upcoming SAMs, by giving the player more tools to understand when they're in danger. This also ties into changes made to the ground vehicles to make them more threatening.

In addition to the threat audio, nearly all actions have switch audio cues to help provide feedback. It's minor, but I love the immersive feeling it gives when doing actions such as adjusting weapons or targeting.

[h3]Weapons Camera[/h3]
[previewyoutube][/previewyoutube]
A feature that has been on the backlog for a while, you can now watch munitions you've fired all the way to impact. This is a really fun way to get cool footage and see the effects of your weapons.

[h3]Balance Updates[/h3]


While the tools to detect when you're in danger have gotten better, so have the threats themselves. AAA vehicles now use radar to detect and engage targets. Their fire is more accurate, and their ammunition now uses proximity fuzes.

In general, how deadly something is should be correlated to how much warning you get. The radar directed Shilkas and Vulcans in the game right now are more on the high end of what AAA should be, so they appear visually and audibly on the Threat Warning Display. In the future there will more variety to anti-aircraft fire.

The full patch notes are below.

[h2]Patch notes[/h2]

New Features:
- Added four-stage weapon camera, default key: F6
+ Before launch: camera gives a view of the currently selected weapon under the wings
+ After launch: camera follows weapon from third person to the target
+ Before impact: camera cuts to a flyby to show the impact
+ After impact: camera follows what was hit by the munition
- Once weapon camera starts following a weapon, the normal external/chase/flyby cameras work on it as well
- Added Mk82 Snakeyes and High Drag bomb loadout
- AAA now hooked into sensor system and uses radars to detect and lock targets
- M163 and Shilka now have radar hardpoints their radars are mounted to
- Added NAV mode accessible by holding the "select next weapon" bind, or with the new default keybind: `
+ When in NAV mode, HUD reads NAV, and all weapons are safed
+ When in free flight, aircraft defaults to NAV mode
- New "select previous weapon" keybind added (defaults to mouse scroll up)
- Added chaff/flare counter inside the AV8B cockpit
- Added chaff/flare counter to the Threat Warning Display
- Icon size for both Radar and TWD can now be adjusted in settings (defaults to 75%)
- Option added to hide allies from the TWD and Radar
- TWD HIDES allies by default, radar SHOWS allies by default
- New audio levels available for tweaking in settings: Missile growl, interior engine, warning tones, cockpit effects
- When performing actions such as flaps, targeting, etc. various switch sounds will be heard for audio feedback

Balance:
- Proximity fuze on AAA bullets increased from 1 to 10
- Blast radius on AAA bullets increased to from 10 to 15
- "Fulda" houses have greatly reduced HP (100, 200, 300 for 1, 2, and 5 respectively)
- AAA is more accurate, but less precise

Improvements:
- Unity updated to 2020.3.30f1
- Reduced minimum allowable setting for camera smooth speed to 1
- Smoothed switch between padlock camera and cockpit camera
- Slight optimizations for all viewable objects
- Stores are now viewable with the camera system
- Cluster munitions "fake explode" so they can be tracked easily with a camera
- Indicated airspeed displays only positive value
- Updated credits with new music and sound contributions
- Center of mass offsets from destroyed wings greatly reduced (experimental change!)
+ Should make the plane act less weird after losing a wing?
- Pressing the nav mode hotkey while in nav mode leaves nav mode
- When leaving nav mode by selecting next weapon, the last selected weapon will still be selected
- Wording of range on the threat warning display and radar changed to clarify that it's miles
- Slight change to the threat warning display design
- Lower cloud layer is lower and more numerous
- High cloud layer uses larger Clouds
- Support for arbitrary number of cloud layers (no player-facing change)
- Ranging logic shouldn't put contacts at the very edge of the Radar/TWD anymore
- Minor stylistic updates to the radar display
- Audio sliders now snap in increments of 5

Bugfixes:
- Cockpit view shoulder peeking matches smoothing settings
- Camera no longer pans across the seat when looking over shoulder at opposite sides
- Fixed chase camera producing incorrect audio when the look at target has died
- No more "ghost page" in multi-selector dialog when exactly 10 items appeared on a page
- When a cluster bomb explodes near a building, the log is no longer spammed with warnings
- Removed unused hangar mode scene
- Fixed tracers going weird on origin shift (known issue: tracers can disappear for a single frame during origin shift)
- IR growl no longer continues after player death
- IR growl can no longer be heard in third person
- G text updates correctly in third person camera stats
- Switching weapons while in weapons camera will update the camera text correctly
- Fixed bug where bomb fall line could appear when looking 90 degrees off the nose
- Threat warning audio no longer plays after death or sortie end
- Threat warning audio can be heard and correctly updates regardless of if the HUD is visible (e.g. third person)

v0.8.3.3 is now available on the Testers Branch

v0.8.3.3 is now available on the testers branch. This patch was to specifically address the biggest complaint that the weapons camera had, which is not being able to view munitions you've already launched/dropped.

This also fixes another bug that specifically happened with bombs dropped in the weapons camera. It was pretty difficult to track down, but it also lead to fixing the source of several other problems the CCIP bomb piper had so it was worth it.

For more information on the tester's branch and how to join it, please see this Steam event post.

[previewyoutube][/previewyoutube]
Improvements:
- Weapons camera can view the most recently launched munition

Bugfixes:
- Weapons camera no longer sometimes looks at the wrong location
- CCIP bomb fall line no longer glitches to "no solution" for random frames
- CCIP bomb sight should be slightly more accurate

Patch 0.8.3.2 is now live on Testing Branch!

[previewyoutube][/previewyoutube]
Hello! Patch 0.8.3.2 is now live on the testing branch.

The cockpit switch audio was something I wanted to sneak in before I made the final patch release. Most actions the player has now have associated audio with them. It's easier to hear if you turn on the cockpit filtering (which deafens out the window audio as it would in reality) and turn up the new sliders for internal internal audio.

The Threat Warning Display also saw some minor visual revisions, and filters out friendlies now to reduce clutter. If you'd like to re-enable this though, it can be done in options, along with hiding friendlies from your radar display.

The public patch release will be up in a couple days if things go well. If you'd like to get on the testing branch, see this post from the Steam forums.



[h2]Comms Check[/h2]
Originally I had said that I would only do news posts related to patches if they were big ones, but in hindsight that wasn't a good idea. I've been keeping tabs on community discussions and it's definitely not clear to Steam users (where the game is sold) what's being worked on and what the status of the game is. To that end, I'll be making Steam patch notes for every patch, regardless of if it's on the testing branch or not.

I have other thoughts regarding how to best communicate what's going on and what's coming up, but I'll have more to say about that that once this patch is on the public branch and I can focus on the next big task.

[h2]Patch notes[/h2]

New Features:
- Added chaff/flare counter inside the AV8B cockpit
- Added chaff/flare counter to the Threat Warning Display
- Icon size for both Radar and TWD can now be adjusted in settings (defaults to 75%)
- Option added to hide allies from the TWD and Radar
- TWD HIDES allies by default, radar SHOWS allies by default
- New audio levels available for tweaking in settings: Missile growl, interior engine, warning tones, cockpit effects
- When performing actions such as flaps, targeting, etc. various switch sounds will be heard for audio feedback

Improvements:
- Pressing the nav mode hotkey while in nav mode leaves nav mode
- When leaving nav mode by selecting next weapon, the last selected weapon will still be selected
- Wording of range on the threat warning display and radar changed to clarify that it's miles
- Slight change to the threat warning display design
- Lower cloud layer is lower and more numerous
- High cloud layer uses larger Clouds
- Support for arbitrary number of cloud layers (no player-facing change)
- Ranging logic shouldn't put contacts at the very edge of the Radar/TWD anymore
- Minor stylistic updates to the radar display
- Audio sliders now snap in increments of 5

Bugfixes:
- G text updates correctly in third person camera stats
- Switching weapons while in weapons camera will update the camera text correctly
- Fixed bug where bomb fall line could appear when looking 90 degrees off the nose
- Threat warning audio no longer plays after death or sortie end
- Threat warning audio can be heard and correctly updates regardless of if the HUD is visible (e.g. third person)


It's worth mentioning that compared to the public branch, this is in addition to features added in 0.8.3.1. The main features of that patch were the weapons camera, audio for the threat warning display, the new Snakeye bombs, and some rebalances to make AAA more dangerous.

The full notes for that are listed below:

New Features:
- Added four-stage weapon camera, default key: F6
+ Before launch: camera gives a view of the currently selected weapon under the wings
+ After launch: camera follows weapon from third person to the target
+ Before impact: camera cuts to a flyby to show the impact
+ After impact: camera follows what was hit by the munition
- Once weapon camera starts following a weapon, the normal external/chase/flyby cameras work on it as well
- Added Mk82 Snakeyes and High Drag bomb loadout
- AAA now hooked into sensor system and uses radars to detect and lock targets
- M163 and Shilka now have radar hardpoints their radars are mounted to
- Added NAV mode accessible by holding the "select next weapon" bind, or with the new default keybind: `
+ When in NAV mode, HUD reads NAV, and all weapons are safed
+ When in free flight, aircraft defaults to NAV mode
- New "select previous weapon" keybind added (defaults to mouse scroll up)

Balance:
- Proximity fuze on AAA bullets increased from 1 to 10
- Blast radius on AAA bullets increased to from 10 to 15
- "Fulda" houses have greatly reduced HP (100, 200, 300 for 1, 2, and 5 respectively)
- AAA is more accurate, but less precise

Improvements:
- Unity updated to 2020.3.30f1
- Reduced minimum allowable setting for camera smooth speed to 1
- Smoothed switch between padlock camera and cockpit camera
- Slight optimizations for all viewable objects
- Stores are now viewable with the camera system
- Cluster munitions "fake explode" so they can be tracked easily with a camera
- Indicated airspeed displays only positive value
- Updated credits with new music and sound contributions
- Center of mass offsets from destroyed wings greatly reduced (experimental change!)
+ Should make the plane act less weird after losing a wing?

Bugfixes:
- Cockpit view shoulder peeking matches smoothing settings
- Camera no longer pans across the seat when looking over shoulder at opposite sides
- Fixed chase camera producing incorrect audio when the look at target has died
- No more "ghost page" in multi-selector dialog when exactly 10 items appeared on a page
- When a cluster bomb explodes near a building, the log is no longer spammed with warnings
- Removed unused hangar mode scene
- Fixed tracers going weird on origin shift (known issue: tracers can disappear for a single frame during origin shift)
- IR growl no longer continues after player death
- IR growl can no longer be heard in third person