This is a preview of work in progress and experiments for the next major update to PA.
TITANS Balance Changes
- Omega orbital battleship kinetic bombardment
- Reclaim metal value based on metal cost (vs max health)
- Laser turret energy consumption
New Mechanics / Automation
- Allied use of teleporters (and maybe transports) for dynamic alliances and unshared team static alliances
- Map units
- Map wreckage
- Commander capture of map units
- Coherent GT
- Added first pass of terrain horizon occlusion for icons, status, blips and features
- Added first pass of visible wreckage reclaim progress
System Editor Improvements
- Data editor for terrain height adjustments
System Editor Fixes
UI Frameworks Updates
- KnockoutJS 3.5.1
- bootstrap-select 1.13.14
Server / Sim Improvements
- Reclaim wreckage value based on metal build cost
- Update height of reclaimed wreckage
Server / Sim Fixes
- Fixed incorrect initial and dead reclaim values
- AI retraining with air changes
- AI proxy bases
Galactic War Improvements
Updated software development toolchain: https://en.wikipedia.org/wiki/Toolchain
- C++17 optimisations
- Visual Studio 2019 latest with 142 build tools / Windows 10 SDK latest
- Xcode 12 / macOS 10.16 testing
- Steamworks SDK 149
- Windows libcurl 7.70.0 with nghttp2 1.41.0 for HTTP/2 and multiplexing
- breakpad latest
- AMD Optimising C / C++ Compiler (AOCC) vs Clang / LLVM 10 for dedicated servers
- Linux servers
- Skybox selector
- Added wreckage_mesh_bounds for visible wreckage reclaim (defaults to mesh bounds)
- Added icon_vertical_offset for terrain horizon occlusion (defaults to top of mesh bounds)
- strategic icons for metal extractors now include green metal spot
- custom URL protocols will be changing:
- atlas:// > coui://atlas/
- spec:// > coui://spec/
- bundle:// > coui://bundle/
- uncached:// > coui://uncached/
- TODO: Fix Linux segfault in CoherentUI_Host (deferred to Coherent GT)
- TODO: Fix Linux mesa corruption (deferred to Coherent GT)
- TODO: Fix reclaim server crash
- TODO: Reproduce load game crash
Attack Task Fixes
The recent attack task fix to prevent mobile units charging to their death exposed some other issues with the attack task and multi-threaded updates.
The previous implementation of the attack task would accidentally require mobile units with ballistic weapons to move towards their target prior to setting a weapons target even if they were in weapons range.
This was most obvious with the commander ubercannon (d-gun) where the commander turns or moves towards the target.
Without a weapons target the weapons task could not iteratively calculate ballistic firing solutions for either high or low arcs.
Meanwhile the attack task would be waiting for a firing solution during the first tick which would never be calculated.
The second tick of the attack task would then create a move task even when in range assuming no ballistic firing solution could be calculated and the unit needed to move closer.
The third tick would be waiting for the move with the weapon firing no early then the fourth tick.
The original implementation would also create a move task with a target goal based on 50% of the existing move range causing units to charge to their death even when in range.
This was most obvious with grenadiers, hornets, etc.
A small move distance or failed move might also stall the task by not setting the weapon target.
This was most obvious with the commander ubercannon (d-gun) where the minimum commander movement was too small at close ranges.
The attack task now sets the weapon target as early as possible when in range to allow for parallel calculation of a firing solution and only moves units their minimum navigation distance when required to keep them at range.
TODO: Area attack fixes