1. Tiny Combat Arena
  2. News

Tiny Combat Arena News

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

0.13.7.1 has been released! Features UI sounds and more accurate VTOL behavior.

As work continues on the Arena introduction campaign, UI sound effects, such as for when mission objectives are completed, were needed to unblock a task, so this very old backlog item has finally been taken care of.

[h2]UI Sound Effects and UI Audio Channels[/h2]

This has been a task I've been dreading for a very long time simply because it was going to be a tedious exercise. Thanks to some foresight and plentiful use of nested prefabs, it actually wasn't as bad as I thought it was going to be. UI SFX are one of those really minor things that add a lot to game feel, so I'm really happy this is finally done.

[previewyoutube][/previewyoutube]

[h2]VTOL Nozzle Angle Changes[/h2]



Another small backlog item: The nozzle thrust and rotation is now based on an engine actually rotating versus just magically being applied through input. The UI has been updated accordingly to support this. The effect is exaggerated here in the above gif, since the Pegasus nozzles rotate fast enough that you won't notice this.

[h2]Changelog[/h2]
New Features:
- New sounds when hovering/clicking on buttons
- New sounds when a slider is manipulated
- New sounds when a "big thing" happens such as selecting a game mode
- Added UI and Music sound sliders to the audio settings
- External audio can be heard (quietly) when in database view

Improvements:
- Engines apply VTOL nozzle vectored thrust based on true nozzle angle
- AV8B nozzle moves 180 degrees a second
- On the HUD, nozzle chevron and text shows desired angle
- On the HUD, nozzle bar shows true nozzle angle
- VTOLD HUD is triggered by desired nozzle angle instead of true angle
- STOVL MFD reports true nozzle angle instead of desired angle
- AV8B nozzle angle gauge reports true nozzle angle instead of desired angle
- AnimatedParts can be overridden by engine VTOL values

JSON:
- Added "VTOLNozzleSpeed" to engine definition, how many degrees/second can rotate
- Added "VTOLAnimatedParts" to engine definition, any AnimatedParts in this list will instead be controlled by the engine VTOL controller