1. Tiny Combat Arena
  2. News

Tiny Combat Arena News

0.14.1.4 is now Available!

0.14 is now available on the main branch of the game! This features the first couple missions of the training campaign, which is being used to finalize all the Arena features and polish the game for the 1.0 release.


In case you missed it, check out this previous news post on the Arena runtime to get a breakdown for the most important new features and content this patch contains.

[h2]Damage Model Updates[/h2]



This patch fixes a couple long-standing issues related to the damage model. The most notable new feature to come out of this, is the introduction of critical parts. To fix some related AI bugs, many parts on aircraft are now marked as "critical". When one of these is destroyed, the AI pilot will attempt to maintain control of the plane, but when they figure out they can't, they'll eject.

Between this change and the rest of the damage model fixes, it's now possible to destroy planes without completely obliterating them or setting them on fire.

[h2]Game Stuck At Splash Screen Bug Update[/h2]

This is an issue which impacts only a very small subset, but it is game breaking enough that I want to get as many eyes on this as possible. If you were somebody whose game would get past the splash screen, and the error log was showing the below error, a workaround has been implemented.
[FMOD] Initialization failed : Output forced to NO SOUND mode : ERR_OUTPUT_INIT : Error initializing output device.
The game should start up now, but if you were receiving this error, there still won't be any sound. This is a difficult bug that I've been unable to replicate, and even FMOD support themselves don't know much about this since they can't reproduce it. This likely has something to do with FMOD not being sure how to handle specialized audio hardware, and at least one person has figured out a way to fix this on their end. See this thread for more details.

[h2]Map Progress[/h2]


Here's some early shots of villages and towns will be populating the European map. Tools have been written to help in generating the towns to speed up development. As always, this is WIP and subject to change, but I'm really happy with the progress being made and look forward to its completion!

[h2]Changelog[/h2]
New Features:
- First 2 missions of the "Prelude" campaign meant to demonstrate/teach all Arena mechanics
- Arena attrition mechanic where destroying units reduces the "tickets" available for a side
- New objectives using attrition mechanic
- Attrition bar to display Attrition mechanics when in Arena map view
+ Illuminates when attrition damage is done
+ Has a "combo" visual when lots of damage is done in a short time
- Event system to drive mission design and objectives
- New Arena runtime and objective system
- Completion of objectives and mission completion handled by runtime
- Added BMP-1
- Added "Critical parts" which trigger ejection from pilot
- Added ingame objectives display for the Arena game modes
+ Automatically opens on sortie start, when objectives completed/failed, and auto hides
+ Can always be viewed from the pause menu
+ Added new setting for objectives display to auto hide (default) or always show

Improvements:
- Objectives right justified in Arena mission selector
- Font size reduced for the arena mission selector
- When objectives are completed, a HUD popup appears
- Arena map camera dragging more responsive
- Arena menu displays objectives with display names
- Spawning for vehicles in Arena handled through hand-placed spawn points
- Added spawn points to all strategic targets on old and new Island maps
- Objectives display in Arena Map UI revised to make failed objectives states and stars earned more clear
- Audio speed of sound increased 2x -> 3x
- M113 and BTR70 moved to the Mechanized subcategory in the Database
- Reimplmented an optimized raycasted ground clamping for vehicles
- Added distance readout to the nav mode strategic target markers
- Expanded the island tour description
- Losing a wingtip in AV8 reduces RCS roll authority
- Losing both wingtips in AV8 causes complete loss of RCS roll authority
- RCS damage can be caused to specific control axes
- It's possible to destroy aircraft from pilot ejecting from damage instead of fire

Bugfixes:
- Vehicle icons restored when in Arena view
- Tweaked navmesh to reduce chance of vehicles getting stuck
- Updated Sand Island (WIP) navmesh to fix hole in it
- Fixed NRE when switching to vehicle camera before a vehicle has spawned
- Vehicles no longer hover above ground or drive under ground
- All engine instances can be destroyed by damage
- Right engine is destroyed by right side damage on F-4E instead of left
- Control damage is no longer multiplied by >200X
- Game shouldn't get stuck on splash screens in exceptional audio related circumstances, but there still won't be any sound
+ See https://steamcommunity.com/app/1347550/discussions/1/4328601356343965480/

Balance:
- Reduced gun tracking against air targets for BTR70 and M113: 50 -> 25
- Lowered attrition requirement for blue tickets from 20 -> 15
- Most Wings and elevators on all jets listed as critical
- Tweaks to MiG-23 damage model to better match visuals
- Reduced image of wing damage from AV8 elevators 2.0 -> 1.0
- F-4 outer wings roll damage increased 0.1 -> 0.2
- Swing wings
- Raised blue tickets from 21 to 25 in the Attrition training mission

JSON:
- Added "DisplayName" to Objectives definition
- Replaced "PrimaryObjectives" and "SecondaryObjectives" with unified "Objectives" in Arena mission definition
- Objective definitions expanded
+ Value: Used by the ticket goals as the reference value
+ IsOneShot: Once the objective is completed, it can't be failed
+ IsFailing: Used for objectives which are completed by default, and change to failed if their condition fails (e.g. BlueTicketsMoreThan)
+ IsPrimary: Required to complete the mission
+ SetFlagOnCompletion: Sets a flag on completion
- Added new GoalTypes
+ RedTicketsLessThan, RedTicketsMoreThan
+ BlueTicketLessThan, BlueTicketsMoreThan
+ AircraftArrive
+ UnitArrive
+ AircraftTookOffFrom
+ AircraftLandedAt
- Added "IsInvincible" to StrategicTarget definition, preventing it from being disabled from damage
- Removed "RCS" as a value for "Control" in the "PhysicsDamage" entries
- Added "RCSRoll", "RCSPitch", "RCSYaw", as values for "Control" in the "PhysicsDamage" entries
- "Control" value defaults to "None" instead of "Pitch"
- Added "IsCritical" to the "DamageablePart" definitions

0.14.1.3 is now available on the Tester's branch

This patch fixes a couple long-standing issues related to the damage model. The most notable new feature to come out of this, is the introduction of critical parts. To fix some related AI bugs, many parts on aircraft are now marked as "critical". When one of these is destroyed, the AI pilot will attempt to maintain control of the plane, but when they figure out they can't, they'll eject.

Between this change and the rest of the damage model fixes, it's now possible to destroy planes without completely obliterating them or setting them on fire.



For modders:For modders: The RCS value in the Control parameter for the DamageablePart has been removed, and replaced with new values. See the changelog below for more details.

[h2]Changelog[/h2]
New Features:
- Added "Critical parts" which trigger ejection from pilot

Improvements:
- Losing a wingtip in AV8 reduces RCS roll authority
- Losing both wingtips in AV8 causes complete loss of RCS roll authority
- RCS damage can be caused to specific control axes
- It's possible to destroy aircraft from pilot ejecting from damage instead of fire

Bugfixes:
- All engine instances can be destroyed by damage
- Right engine is destroyed by right side damage on F-4E instead of left
- Control damage is no longer multiplied by >200X

Balance:
- Most Wings and elevators on all jets listed as critical
- Tweaks to MiG-23 damage model to better match visuals
- Reduced image of wing damage from AV8 elevators 2.0 -> 1.0
- F-4 outer wings roll damage increased 0.1 -> 0.2
- Swing wings

JSON:
- Removed "RCS" as a value for "Control" in the "PhysicsDamage" entries
- Added "RCSRoll", "RCSPitch", "RCSYaw", as values for "Control" in the "PhysicsDamage" entries
- "Control" value defaults to "None" instead of "Pitch"
- Added "IsCritical" to the "DamageablePart" definitions

0.14.1.2 is now available on the Tester's branch

This patch is mainly to fix some issues with vehicles moving around on the map. The navmesh has been updated, and ground clamping has been re-added to the game, but with new optimizations.

For performance's sake, vehicles used to drive directly on the navmesh. When the maps were guaranteed to be totally flat, this looked just fine. However, with terrain, the navmesh is necessarily coarse enough that imprecisions are actually noticeable, causing hovering vehicles, or vehicles that appeared under the ground.



To fix this, ground clamping has been re-implemented, and thanks to previous optimizations this time the performance impact is minimal this time is minimal. Like the rest of the movement, the rate at which the clamping updates is less frequent the further from the camera the vehicles are. The rotation is also pulled directly from the navmesh, which is close enough, skipping the math necessary to level the vehicles on terrain.



[h2]Changelog[/h2]

Improvements:
- Reimplmented an optimized raycasted ground clamping for vehicles
- Added distance readout to the nav mode strategic target markers
- Expanded the island tour description

Bugfixes:
- Updated Sand Island (WIP) navmesh to fix hole in it
- Fixed NRE when switching to vehicle camera before a vehicle has spawned
- Vehicles no longer hover above ground or drive under ground

Balance:
- Lowered attrition requirement for blue tickets from 20 -> 15

Arena Mission Runtime and Why it's So Important

The 0.14 patch cycle will probably be the most important patch the game sees up through the release of the game. With it comes the Arena Runtime and Event System, which basically controls and consolidates all the Arena mechanics, as well has a robust framework for creating and completing mission objectives in game.

I highly recommend checking out the full changelog for 0.14.1.1 (currently only on the tester's branch), as there's quite a lot that's been added to the game and changed.

[h2]BMP-1[/h2]



The BMP-1 has been added this patch. Their 73mm HEAT guns are low velocity and ineffective against tanks, but devastating against other mechanized units. Unlike the other mechanized units though, they have no self-defense machinegun, and so are quite vulnerable to air attack.

[h2]New Arena Mission Runtime and Event System[/h2]

This is the main feature of the patch, and where the huge bulk of development time has gone the past month. The code that ran the Arena mode was spread all over the codebase, difficult to work with, and not expandable to cover the needs for the training campaign and the campaign itself.



The new set of objectives that can be programmed into missions are currently:

  • Attrition (Red/Blue) Greater Than
  • Attrition (Red/Blue) Less Than
  • Aircraft Arrived At
  • Unit Arrived At
  • Aircraft Took Off From
  • Aircraft Landed At

If this sounds like something that should have been done a very long time ago, that's correct. For a long time I thought I could get away with the ultra-basic set of mechanics I had written for the Early Access launch version of TCA, but as the game is nears internally set milestone dates, and the flight mechanics and (still WIP) content nearing their final states while the core game mode still feels as barebones as it does, it's become clear that's no longer the case. All this together has caused me to make a big shift in development priorities, but more on that later.



To facilitate the above system, a new runtime event system has been implemented into the game. This decouples a lot of code that was reaching far across the game to totally unrelated systems, and centralizes it into a single point of contact. The combination of these two things means that adding new objective types, if needed, is also far simpler now.

[h2]New Spawning System[/h2]



A major difficulty that sprung up with the new map was that the old spawn system was no longer adequate. The original system was extremely simplistic, and only worked for the large flat plains that the previous map (and test maps) consisted of. Since the new terrain has water, roads, and dense bases with buildings, spawn points needed to get a lot smarter. Some simple tools have been written so that spawns can be hand-placed, and avoid the failed spawns that were frequently appearing on the new map.

[h2]Attrition[/h2]



The second tutorial campaign mission demonstrates the attrition mechanic. On some missions, each side has a number of "tickets", and depleting the enemy's, while conserving your own, will be necessary to complete objectives. This is a very straightforward mechanic, but it's a powerful one and fits certain mission types.

[h2]New Map Progress[/h2]



Work on the new map continues. This map will be available for 1.0 and is significantly larger than the previous map. The map doesn't correlate 1:1 with a real location, but is meant to be representative of northern Germany during the 80s.



Due to its size, a chunking system has been developed to prevent issues with collisions. We are currently working through the navmesh difficulties this creates.

[h2]Path to 1.0, and a Shift to Content-Driven Development[/h2]



As said before, this patch is probably the most important patch the game will receive until 1.0 with regards to features. Now that all the underlying building blocks are in place, I'm making a very conscious choice to move from developing features for notional future ideas, to instead adding content first and then adding the features as needed.

This is something that's perhaps long overdue, and is influenced by some side projects I've tackled over the course of the game's development, as well as the game's reception. Building levels for the game, playing them, seeing what's missing, and then adding the content and features as needed has in my experience been a lot more successful than the very "theoretical" approach that TCA has had up to this point.



What this means to you is to expect more frequent updates with a bigger focus on adding content to the game. For the most part, these will come in the form of the Prelude campaign missions and the supporting vehicles and features needed to build them. There is a pretty sizeable backlog of units that have already been modeled out, but need to be added to the game!



Thanks again for coming along with me on this journey. There's still a lot of work to be done until I'm ready to call the game "1.0", but with the new Arena tools and mechanics, I feel more confident than ever about completing this game.

0.14.1.1 is now available on Tester's branch, featuring first campaign missions

Hello, this patch features the necessary back end work to build out the rest of the campaigns for the game, and makes the necessary significant strides to move Arena and the game closer to its 1.0 state.

There is a known issue with vehicles not ground clamping correctly on the new map.

For a high level overview of what this patch means and future plans for the game, see this major news post.

[h2]Changelog[/h2]
New Features:
- First 2 missions of the "Prelude" campaign meant to demonstrate/teach all Arena mechanics
- Arena attrition mechanic where destroying units reduces the "tickets" available for a side
- New objectives using attrition mechanic
- Attrition bar to display Attrition mechanics when in Arena map view
+ Illuminates when attrition damage is done
+ Has a "combo" visual when lots of damage is done in a short time
- Event system to drive mission design and objectives
- New Arena runtime and objective system
- Completion of objectives and mission completion handled by runtime
- Added BMP-1

Improvements:
- Objectives right justified in Arena mission selector
- Font size reduced for the arena mission selector
- When objectives are completed, a HUD popup appears
- Arena map camera dragging more responsive
- Arena menu displays objectives with display names
- Spawning for vehicles in Arena handled through hand-placed spawn points
- Added spawn points to all strategic targets on old and new Island maps
- Objectives display in Arena Map UI revised to make failed objectives states and stars earned more clear
- Audio speed of sound increased 2x -> 3x
- M113 and BTR70 moved to the Mechanized subcategory in the Database

Bugfixes:
- Vehicle icons restored when in Arena view
- Tweaked navmesh to reduce chance of vehicles getting stuck

Balance:
- Reduced gun tracking against air targets for BTR70 and M113: 50 -> 25

JSON:
- Added "DisplayName" to Objectives definition
- Replaced "PrimaryObjectives" and "SecondaryObjectives" with unified "Objectives" in Arena mission definition
- Objective definitions expanded
+ Value: Used by the ticket goals as the reference value
+ IsOneShot: Once the objective is completed, it can't be failed
+ IsFailing: Used for objectives which are completed by default, and change to failed if their condition fails (e.g. BlueTicketsMoreThan)
+ IsPrimary: Required to complete the mission
+ SetFlagOnCompletion: Sets a flag on completion
- Added new GoalTypes
+ RedTicketsLessThan, RedTicketsMoreThan
+ BlueTicketLessThan, BlueTicketsMoreThan
+ AircraftArrive
+ UnitArrive
+ AircraftTookOffFrom
+ AircraftLandedAt
- Added "IsInvincible" to StrategicTarget definition, preventing it from being disabled from damage