1. Planetary Annihilation: TITANS
  2. News

Planetary Annihilation: TITANS News

Happy New Year Updates 112595 / 112589



Happy New Year Commanders,

Our faster modern toolchain server build with multi-threading is now live on official servers! This should mean the servers perform better than ever before, especially on multi-planet systems.

The modern client with local server remain opt-in via the modern BETA in Steam and the PA launcher. If you are playing single player with a local server or hosting LAN games we encourage you try the modern client.

To help new players pick up the game faster, the Planetary Annihilation guides section is now a one-stop shop for everything you wanted to know about Planetary Annihilation but didn’t know to ask.

We have expanded the 1v1 ranked map pool with four community maps from WPMarshall and GrandHomie (for a total of 15 maps):
  • Enfer (GrandHomie)
  • The Marne (GrandHomie)
  • Lugaan (WPMarshall)
  • Singe (WPMarshall)

Your complaints about dodging in ranked have also been heard. Not only have we removed ranked queue status information from Community Chat, we’ve also anonymised names in the ranked lobby and removed the ability to leave the lobby. You really are trapped in there with your opponent now, so don’t queue if you don’t intend to play.

We’ve also got AI upgrades for the single-player and comp stomp crowd. The neural network’s fitness function (it sounds technical which means it’s impressive) has been reworked so that the AI is smarter about the way it evaluates battles.

Another long-standing AI request was the ability to select which Commander the AI uses. We promised to add this and so we have. Please feel free to admire the new Commander selection UI, making better use of your screen real estate.

We’ve continued to keep an eye on crash reports and have put a lot of effort into eliminating everything we can. You should find Planetary Annihilation an even more stable experience than before. We’ll continue to keep an eye on things to see what else might crawl out of the woodwork. Some of these things can be pretty edgecase, but we won’t stop in trying to track them all down, we hate crashes even more than you do.

Audio modding has arrived, so modders can now add whatever sounds they like to the game, either overwriting existing sounds or even adding completely new ones. Give your new unit its own style as it threatens doom to its enemies. Break subwoofers everywhere with extra bass in every shot sound effect. Replace the in-game VO with your own voice so you can literally congratulate yourself on your wins, you egotistical monster. We look forward to seeing what you come up with.

As a final thanks for continuing to play Planetary Annihilation TITANS we have added two NEW dedicated servers running the latest modern linux builds that can handle epic games of up to 32 players. A number of trusted community members have been given the keys, so keep an eye out in Community Chat and the official Planetary Annihilation Discord for announcements of big games. You haven’t truly won a game of Planetary Annihilation until you stand victorious on the wreckage of 31 other Commanders.

tl;dr
  • Official servers using modern toolchain builds with multi-threading
  • Two clients available (stable legacy and cutting-edge modern for testing)
  • 1v1 ranked maps expanded with four community maps from WPMarshall and GrandHomie for a total of 15 maps
  • 1v1 ranked lobby is now anonymous showing Player 1 and Player 2
  • 1v1 ranked lobby leave option has been removed
  • AI improvements with reworked and retrained neural networks
  • AI commander selection (as promised)
  • Server crash fixes
  • NEW official guides: https://planetaryannihilation.com/guides
  • NEW audio modding
  • NEW official dedicated servers with up to 32 players for big games


Balance Changes
  • Pelican cost increased to 160 and health decreased to 150
  • Locust cost increased to 260
  • Spinner range increased to 120


Technical Notes


Next year we will be moving to PAnet, which will replace the legacy UberNet infrastructure with modern server environments. Eventually all the legacy Windows servers will be replaced with faster modern Linux servers.

Toolchains


Software development toolchain: https://en.wikipedia.org/wiki/Toolchain

Legacy toolchain
  • Visual Studio 2012 / Windows 8 SDK
  • Xcode 5.0.1 / macOS Mountain Lion for macOS Lion 10.7+
  • Legacy Steam Linux runtime / GCC 4.8.4
Modern toolchain
  • Visual Studio 2017 latest / Windows 10 SDK latest
  • Xcode 10.1 / macOS 10.14.1 latest for macOS Mavericks 10.9+
  • Modern Steam Linux runtime / GCC 5.4.1 (currently limited by Steam Linux runtime)
  • Native Linux / Clang / LLVM 7.x for dedicated Linux servers


Server Improvements
  • Faster modern toolchain build
AI Improvements
  • Completely reworked the AI’s neural network fitness function to improve how the AI evaluates the outcome of a battle
    • Instead of being based on the difference between each and every input before and after the encounter, the fitness function now primarily looks at which side lost more metal value. Not every encounter results in a metal loss, so the fitness function also compares unit count losses as well as health losses, but they don’t count nearly as much as metal losses
  • AI commander selection in new game lobby
Server Fixes
  • Fix for crash if the AI was trying to teleport a fabber or commander to a planet as the planet was destroyed
  • Fix for multiple cases where a unit could be removed from a platoon (dropping the reference) before being added to a new platoon, causing a crash later on in the game
  • Fix for crash if the commander did not have an Uber cannon spec
  • Fix for build arms not ticking in multi-threading enabled servers causing fabbers/commanders to not face their build targets
  • Fix for crash if a fabber/commander was assisting in the construction of a projectile that died
  • Fix for a crash if a projectile target died and was cleaned up by the sim
  • Improved fix for players disconnecting from new game lobby not being removed from game
Client Improvements
  • Reorganised start menu is now scrollable with more space for menu items
  • Improved commander and colour selection in new game lobby
Client Fixes
  • Fix for ESC key locking up the start menu if no video was playing
  • Fix for community videos not showing if community mods not enabled
Modding
  • NEW audio modding:
    • api.sound.playSoundFromFile(path)
    • api.sound.playSoundFromFileAtLocation(path, x, y, z)
    • api.sound.registerCueMod(cue, path)
    • api.sound.unregisterCueMod(cue)
  • NEW build.txt with original build number (will differ from version.txt for legacy clients)
  • NEW gBuild global with original build number from build.txt accessible in all scenes
  • NEW --version command line option to override version.txt for targeting a different server build
112595
  • Hot fix for 1v1 ranked


https://planetaryannihilation.com/news/

Modern Toolchain Test Build 112527-pte



Seasons Greetings Commanders,

This is a call to action to help us test the start of our tech upgrade.
Planetary Annihilation is moving to tier 2.


As we enter the holiday season we bring you a little present in the form of not one, but two(!) Public Test Environment (PTE) builds. That’s right, the choice is yours. But before we get ahead of ourselves, a little reminder that PTE builds are opt-in and an opportunity for you to try out new features before we move them to stable. They may be a little unstable, a little rough around the edges, but they’re the cutting edge of Planetary Annihilation. Check this guide on how to opt-in to PTE.

Work on Planetary Annihilation started back in 2012, and it was built using the latest and greatest tooling at the time. But like the Progenitors, things have moved on and tooling has improved. This PTE comes in both legacy and modern build flavours, using either the build tools PA has been using since release, or the modern 2018 goodness. Newer tools allow us to lower RAM usage and boost performance, among other benefits. Of course this also means it’s less well tested and therefore possibly less stable at this time.

The PTE will be running its own servers, separate from the stable servers, and all of them running the modern build. This is the place to come for cutting edge performance. Bring your friends!

It’s not just about tech though, there’s a host of goodness packed into this update. In particular, the AI has once again undergone brain surgery to improve the way it evaluates battles, making it smarter about when to fight and when to ru… execute a tactical withdrawal.

Modders should make sure to hop onto this PTE to take advantage of the new audio modding capabilities and get their sweet audio goodness ready to launch alongside this update when it hits stable.

We also nipped in the bud most of the major crash sources we’ve identified. You can help us find more by running the modern build. We salute your sacrifice, Commander.

tl;dr
  • two clients available (stable legacy-pte and cutting-edge modern-pte for testing)
  • official PTE servers using modern toolchain builds
  • 1v1 ranked maps expanded with four community maps from WPMarshall and GrandHomie for a total of 15 maps
  • 1v1 ranked lobby is now anonymous showing Player 1 and Player 2
  • 1v1 ranked lobby leave option has been removed
  • AI improvements with reworked and retrained neural networks
  • AI commander selection (as promised)
  • Server crash fixes
  • NEW audio modding


Technical Notes


Next year we will be moving to PAnet, which will replace the legacy UberNet infrastructure with modern server environments. Eventually all the legacy Windows servers will be replaced with faster modern Linux servers.

Toolchains


Software development toolchain: https://en.wikipedia.org/wiki/Toolchain

Legacy toolchain
  • Visual Studio 2012 / Windows 8 SDK
  • Xcode 5.0.1 / macOS Mountain Lion for macOS Lion 10.7+
  • Legacy steam linux runtime / GCC 4.8.4
Modern toolchain
  • Visual Studio 2017 latest / Windows 10 SDK latest
  • Xcode 10.1 / macOS 10.14.1 latest for macOS Mavericks 10.9+
  • Modern steam linux runtime / GCC 5.4.1 (currently limited by steam linux runtime)


Community Maps
  • https://github.com/planetary-annihilation/pa-community-maps
Server Improvements
  • Faster modern toolchain build
AI Improvements
  • Completely reworked the AI’s neural network fitness function to improve how the AI evaluates the outcome of a battle
    • Instead of being based on the difference between each and every input before and after the encounter, the fitness function now primarily looks at which side lost more metal value. Not every encounter results in a metal loss, so the fitness function also compares unit count losses as well as health losses, but they don’t count nearly as much as metal losses
  • AI commander selection in new game lobby
Server Fixes
  • Fix for crash if the AI was trying to teleport a fabber or commander to a planet as the planet was destroyed
  • Fix for multiple cases where a unit could be removed from a platoon (dropping the reference) before being added to a new platoon, causing a crash later on in the game
  • Fix for crash if the commander did not have an Uber cannon spec
  • Fix for build arms not ticking in multi-threading enabled servers causing fabbers/commanders to not face their build targets
  • Fix for crash if a fabber/commander was assisting in the construction of a projectile that died
  • Fix for a crash if a projectile target died and was cleaned up by the sim
  • Improved fix for players disconnecting from new game lobby not being removed from game
Client Improvements
  • Reorganised start menu is now scrollable with more space for menu items
  • Improved commander and colour selection in new game lobby
Client Fixes
  • Fix for ESC key locking up the start menu if no video was playing
  • Fix for community videos not showing if community mods not enabled
Modding
  • NEW audio modding:
    • api.sound.playSoundFromFile(path)
    • api.sound.playSoundFromFileAtLocation(path, x, y, z)
    • api.sound.registerCueMod(cue, path)
    • api.sound.unregisterCueMod(cue)
  • NEW build.txt with original build number (will differ from version.txt for legacy clients)
  • NEW gBuild global with original build number from build.txt accessible in all scenes
  • NEW --version command line option to override version.txt for targeting a different server build

https://forums.planetaryannihilation.com/threads/modern-toolchain-test-build-112527-pte.73222/

1v1 Ranked Ladder Reset and Seasons Update 112305

Hello Commanders,

The official 1v1 ranked ladder was reset on 2018-11-02 at 06:00 UTC starting a new season that ends on 2019-01-24.

The player holding the Uber #1 position at the end of this season will be shipped an Invictus Commander statue, a beautiful item that everyone should want in their trophy cabinet.



There will be new 1v1 ranked maps later this month with at least one new map every month.

Current Map Pool (11)
  • Amplus
  • Berg
  • Blitz
  • Clutch
  • Crag
  • Duat
  • Forge
  • Lock
  • Meso
  • Pacific
  • Roc
1v1 Ranked Seasons in 2019


Starting in 2019 each 1v1 ranked season lasts 3 months with a ladder reset at the start of every season.

2019 Seasons
  1. 2019-01-25 - 2019-04-25
  2. 2019-04-26 - 2019-07-25
  3. 2019-07-26 - 2019-10-24
  4. 2019-10-25 - 2020-01-23
1v1 Ranked Fixes
  • Fix for never-ending 1v1 ranked queue after a network error
1v1 Ranked Display Improvements
  • 1v1 rank and inactivity displayed in start menu (moved into base game from community mods)
  • 1v1 rank display in game over (moved into base game from community mods)
1v1 Ranked Work in Progress


The following are still in development / testing:
  • Tweaks to limit highest initial placement to Gold
  • Inactive 1v1 ranked ladder decay (slowly lose points if you're not active)
  • Visible points display
  • Penalties for disconnecting instead of surrendering


Technical Notes


Server Improvements
  • Experimental multi-threading on official servers (still legacy toolchain and infrastructure)
  • More performance and memory usage improvements to navigation cost cells
  • Logging of server rate
  • Logging of system free memory (currently windows only)
AI Improvements
  • Further refinement of AI aggression
  • Adjusted how the AI chooses where to expand
  • Performance improvements
  • Retrained neural networks
Server Fixes
  • Fix for AI Platoon::numUnitsOfType server crash
  • Fix for AI chooseStartLocation server crash when passed bad data
  • Fix for AI attempting to transfer a unit to a planet that did not have an initial planet manager assigned
  • Fix for AI getting stuck building no factories if it is modified to remove the ability for the AI to build one or more factory types
  • Fix for a multi-threading crash
Client Improvements
  • More visible orbital attack lines in the orbital path visualiser
Client Fixes
  • Fix for particle emitter crash when emitter has an invalid fx_trail_spec
Modding
  • MatchmakingUtility.getSeasonEndDate()
  • New gVersion global with current build number accessible in all scenes
    api.game.isPTE()
  • UTC start_timestamp (landing time) and end_timestamp (game over) in server control state to calculate accurate game elapsed (note that valid_time_range.min is the in-game landing time)


https://planetaryannihilation.com/news/

AbleGamers Charity Tournament 2018



The most overtly pay-to-win tournament in Planetary Annihilation’s history is back for its fifth incarnation!

https://www.youtube.com/watch?v=aZ19dFfdiyQ

We return once more to bring you the biggest, most unpredictable and most expensive event in our community calendar. With the support of the Planetary Annihilation community, we hope once again to be able to treat you to a showcase of this uniquely cataclysmic Real-Time-Strategy game.

Sixteen players will battle in a series of free-for-all games for a chance to be crowned King of Chaos. The players will need to use all the wit, skill and diplomacy they have available to them as they try to claw victory from this frantic scrum. However, there is a twist:

YOU control the carnage!


You, the spectators, have the ability to donate units to the player of your choice, LIVE, as you watch the battle unfold. Give an underdog a second chance, drop a TITAN in the middle of a rampaging horde, or just throw down a load of nuclear missiles to watch the explosions.

Why?


This tournament is in support of the AbleGamers Charity, a fantastic organization which makes gaming and computing more accessible to those with disabilities. Every cent donated goes directly to the charity via the donation page. This annual tournament has raised over $6,400 so far, with last year raising over $2,200. As ever, we’re hoping to beat last year’s total!

How?


Before the tournament goes live, a ‘menu’ will be published, showing how many dollars you must donate in exchange for each available unit in the game. Along with your donation, you must include instructions detailing which player you wish to donate to, which units you wish to donate and where you want them to be placed. Once the donation and instructions have been received, our resident Puppetmaster will ensure they are added to the game.

For those unable to make it live to the event, units can be donated in advance and will be added at the first available opportunity.

Main Event


Saturday 2018-11-24 18:00 UTC

Qualifier Event


Saturday 2018-11-17 18:00 UTC

Live stream


https://www.twitch.tv/wpmarshall

Multi-threading, Performance and AI Improvements Update 112176

Greetings Commanders,

It took us a little longer than we expected to prepare this build in light of some server issues last weekend, which are now resolved.

This is our first new build on the legacy toolchain and will be the first of many once we stablise our modern toolchain builds.

Our focus is on speed and stability as we work to ensure we’re in the best place possible ahead of upgrading the technologies which underpin the game. We’ve implemented numerous server sim performance improvements, while also resolving a number of the most common causes of server-side crashes.

You should still make sure your graphics drivers are up-to-date as out of date drivers are still the most common cause of client issues. Seriously. Go do it now!

Over time we’ve seen the competitive meta settle, revealing some very visible imbalances. No one likes those. We’ve introduced some small changes to fix things. Balance is as much an art as it is a science, so we’ll continue to monitor and adjust as necessary.

The AI has also seen some love, upgraded to be more ruthless than ever. It’s in it to win it, with an upgraded neural net, along with additional behavioural improvements.

Finally, rumour has it some kind of ladder reset is fast approaching...

Balance
  • Advanced Air, Bot, Vehicle and Naval Factory cost increased by 25% to 4,500 (minor delay to T2 rush)
  • Slammer cost increased to 500 (minor adjustment against Leveler)
  • Solar Array cost decreased to 1,600 (minor adjustment against land-based advanced power)
  • Gil-E vision increased to 220 (vision now matches weapon range)
  • Bluehawk range increase to 220 (buff as a counter e.g. Kaiju)
  • Pelican health increased to 200 with group (formation) preference set to back (increased survivability)
  • Stingray vision increased to 250 with new radar and sonar of 350 (new cruiser role as naval radar)
  • Typhoon vision increased to 250 with drone guard radius of 250 and passive health regen reduced to -2 (20 seconds)
  • Kaiju rate of fire decreased to 0.5 shots per second (minor nerf)


Technical Notes


AI
  • Adjusted the neural network fitness function
  • Neural networks have all been re-trained for Titans and Classic
  • Threat response platoons now see amphibious units as anti-sub threat
  • Added a couple of new target filtering options, a new neural net input, and a few new outputs
  • AI does a better job of gathering and using intel as well as caching it for later use to improve performance
  • When looking for a place to attack, the AI will now take into account neighbouring areas when determining what size of a force to use
  • The AI will now look for more fights that it can win rather than fights it can at least tie
  • Fix for AI platoons that would get stuck trying to disband
  • Adjusted how much the AI raids
  • Improved AI neural data merging
  • Adjusted AI aggressiveness


Server / Simulation Performance
  • Adjusted how search spaces are updated in an effort to get through as many of them as possible per tick
  • During the nav update, more of an effort is made to allow as many search spaces as possible generate their high level path so units can start moving faster
  • Added a fail safe to allow nav to steal more voxel budget if it is having a tough time getting through search spaces
  • This will give nav an opportunity to fulfill a larger number of move requests over a shorter time
  • We now query a search space to ensure we have enough voxel budget remaining for the space to prevent doing a bunch of useless work
  • Added the count of updating search spaces in nav to the perf output window
  • More aggressive filtering of collision pairs to reduce the number of pairs we have to check
  • Nav now attempts to pre-allocate the cost cells it will need for the updating search spaces it has
  • Search spaces now return their cost cells to nav when they are finished so they can be reused later
  • Moved the spatial DB update for dynamic objects so that it only happens once, at most, per update


Server / Simulation Multi-Threading

Please note multi-threading must be enabled for your server.
  • The task scheduler now supports running the plan step of parallel tasks (such as weapon auto targeting and auto manoeuvring) at the same time, per unit
  • Entity record step now runs in parallel
  • The nav and physics updates now run alongside the economy update
  • Added multi-thread support for the heavy parts of the recon update
  • Units can now update their weapon aims in parallel
  • The physics update now supports multi-threading
  • The small island build is now multi-threaded per sector
  • This helps in-game perf as well as system loading
  • Added --max-threads command line to set the max number of background threads


Crash Reporting
  • Improved crash reporting for all platforms
  • Crash dumps are now stored in the log folder (varies by OS) instead of a temp folder
  • On Windows, a DxDiag report (stripped of all personally identifiable info) is now automatically attached to crash reports


Crash Fixes
  • Fix for crash if, during the same tick, a search space was marked for removal and then another search space was created for the same destination
  • Fix for rebuilding the collision geometry BVH when it wasn't needed
  • Fix for crash in swizzle tree from trying to evaluate log(0), in a rare case
  • Fix for big game crashes caused when the flood runner gets a request from a search space with an invalid goal location
  • Fix for virtual texture binding crash on the client


Modding
  • icon atlases now use grids which increases the maximum strategic icons (52x52px) on an 8K texture (older GPUs) to 157 x 157 (24,649) and on a 16K texture (modern GPUs) to 315 x 315 (99,225) resulting in a breaking change to the following shaders:
  • particle_direct_ring_selection.vs
  • particle_direct.vs
  • particle_icon.vs
  • particle_status_icon.fs
  • particle_status_icon.vs
  • strategic icon mods should use the new utility function calculateAtlasUV (added to particle_common.vs) replacing:
    v_TexCoord = vec2(a_TexCoord.x, vUVAndExtra.x + vUVAndExtra.y
  • (1.0 - a_TexCoord.y));
    with v_TexCoord = calculateAtlasUV(vUVAndExtra.xy);


Server Issues Resolved

Our legacy infrastructure hit a 10GB limit for archived game summaries. That's a lot of games!