Share this project

Done

Share this project

Done
Planetary Annihilation brings RTS gameplay to a new generation of players in a way that's never been seen before.
Planetary Annihilation brings RTS gameplay to a new generation of players in a way that's never been seen before.
44,162 backers pledged $2,229,344 to help bring this project to life.

Translations, AI and Modern Update 113034

Posted by Planetary Annihilation Inc (Creator)
30 likes
 
 

Hello Commanders,

With the successful launch of TITANS 1v1 ranked ladder season 2 with new leaderboards it’s back to toiling away in the update mines.

In the background, work continues on our tech upgrade and the prerequisites necessary to transition to the new PAnet infrastructure. While these 2019 long-term goals remain long-term, we still want to deliver some additional improvements to the game that is currently in your hands and ensure support for the widest playerbase possible.

You can try out our modern build branch, which will eventually replace the legacy branch, if you’d like to enjoy some performance and stability enhancements right now including an update to Coherent UI, the framework for our moddable user interface.

See our Happy New Year update for a reminder of the modern build details.

Translations

We’ve seen an increase in the number of non-English speaking players playing our game and we want to make sure we’re giving you our full support. We have engaged with a new translation team to update and improve the existing translations, replace community translations, and add support for Japanese. We’re also updating Community Mods to allow for mod translations.

As you can imagine this is a big job so we’ll be doing it in a number of passes, focusing first on adding missing strings.

In this patch we’ve included updates for:

  • French
  • German
  • Russian
  • Simplified Chinese
  • Traditional Chinese
  • Korean
  • Japanese
  • Italian
  • Spanish

Work in progress:

  • Official translation support for mods

Also in the works are plans to add servers in South-East Asia (SEA) once we complete our migration to PAnet.

TITANS 1v1 Ranked Mid-Season 2 Winners

We’re roughly halfway through season 2, which means it’s time for mid-season prizes. Congratulations to all those who fought the good fight, blew up a whole lot of robots, and are walking away with their well deserved spoils.

Uber #1 (US$500): [TNC] [Nik] NikolaMX (whew, this guy is just too good)

Most active players (US$100 each)

Uber

  • [TNC] [Nik] NikolaMX
  • [BSE] Diskraip
  • [ICARUS] nimzo

Platinum

  • [WAF] Viroo
  • PAG_Clopse
  • Sinoccence

Gold

  • [BSE] Qivy
  • [GPP] Isaac Arthur
  • Alive In

Silver

  • muhr
  • go
  • e1vis

Bronze

  • FrigoPorco
  • TotalAnnihilator
  • ΗΑΖΞ

Winners will be contacted shortly to arrange payment of their prize.

Now we enter the second-half of the season, and that means there’s US$1000 up for grabs for the Uber #1 spot. We’ve seen the return of some big names from the past, so we expect the battle to be hard fought. There will also be another round of most active prizes for each league. You can check out the full prize details in our season 2 announcement post.

We’re also making a few map adjustments based on feedback and game review. These are intended to improve the flow of play and your general 1v1 ranked experience.

AI

It wouldn’t be PA if we didn’t keep improving the AI. Some of you noticed it was seeming a little under the weather recently, but we found the cause and administered treatment. Now the AI should be face rolling you once more. This includes improved air and naval attacks. You may also notice it’s more prone to bombarding you from the coast too. Ooooo, nasty.

As many of you will know, the AI’s Commander often liked to plant both feet in the soil, hold the line, and then explode in combat against forces it should never have fought. These Commanders are expensive to replace, so we’ve taught it that discretion is the better form of valour, leading to less unnecessary deaths, and it surviving to deliver the late game awesomeness we know you want.

Lastly, we did some work on enhancing the speed with which the AI processes all this information, making it more efficient than before.

TITANS Balance

Air has been a continuous thorn in the side of balance, often overwhelming the defences intended to stop it due to the ability for a player to commit their full strength to every engagement. In an effort to combat this we have boosted the strength of all land anti-air, including the Commander, with the intent to allow a greater diversity of play and hopefully reduce the massive fighter blobs. No longer will your Dox fight in the shade.

The Locust has also seen a further nerf, with a reduction to health. This allows for units like the Laser Defense Tower to kill them with a single shot. They’re still devastating if undetected, but easier to stop once spotted.

The Icarus has had a minor change made to its attack behaviour so that it attacks like a gunship. Will this make it a powerful weapon of destruction? Nope. Will it make it look so much cooler before it explodes? You bet. It will also be slightly harder for Dox to hit.

Stability

We, and our community testers, have spent many hours hammering away, looking for any defects so that we could reap a bountiful harvest of logs and crash dumps. These have been used to squash a number of crash root causes, including the single largest cause of server crashes.

In our modern build we have also updated Coherent UI to resolve a defect we identified which could cause client crashes.

Stability remains a big focus going forward, and an area we will continues to work on. Thanks to everyone who helped us by running the PTE build.

tl;dr

This is an update about language and you skipped it? Are you aware of irony?

  • First pass of new and improved translations
  • South East Asia (SEA) servers planned
  • 1v1 ranked mid season 2 prizes awarded
  • Ranked maps updated
  • Improved AI
  • Balance changes
  • Improved stability and modern Coherent UI update

Technical Notes

Aww yiss, this is the good stuff.

Translations

New translation handling:

  • New prefix in literal strings that support knockout bindable HTML: !LOCID:locId:locText
  • New data-loc-id and data-loc-no-style attributes that support knockout bindable HTML without styling: <loc data-loc-id="locId" data-loc-no-style>locText</loc>

TITANS 1v1 Ranked Map Pool Updates

Aquilaris 

  • Platforms opened to amphibious and hover units

Bulkhead 

  • Removed spawn platforms
  • Added 2 metal near the base

Lost Temple 

  • Reduced the amount of water metal
  • Increased the starting platform size
  • Moved metal closer to the base and into tighter clusters for defense

Riddler 

  • Increased base space by shrinking lava crevasse
  • Moved some metal points at the equator
  • Lowered the CSG around the air only metal
  • Reduced crater metal from 6 to 4

TITANS Balance Changes 

Commander 

  • AA rate of fire increased from 1 to 2 shots per second (reducing early game air snipes)
  • Target priorities changed to equal priority for main threats:         
  • Air & ( Transport | Bomber | Gunship | Titan)
  • Mobile & Air

Spinner Vehicle Anti-Air 

  • Rate of fire increased from 2 to 3 shots per second (open up ground pushes against heavy air)
  • Target priorities changed to equal priority for main threats:         
  • Air & ( Transport | Bomber | Gunship | Titan)
  • Mobile & Air

Locust Nanoswarm 

  • Health decreased from 80 to 60 (easier to kill and will require more micro if rushed)

Icarus Solar Drone 

  • Attack behaviour changed to aggressive circle-strafe (similar to Kestrel gunship)
  • Target priorities changed to:         
  • AirDefense | ( Land & Mobile ) | ( Naval & Mobile )
  • Air
  • Fabber | EnergyStorage | MetalProduction
  • Land & Naval

Galata Turret Anti-Air 

  • Target priorities changed to equal priority for main threats:         
  • Air & ( Transport | Bomber | Gunship | Titan )
  • Mobile & Air

Bot / Vehicle / Air / Naval Advanced Factories 

  • Cost increased from 4,500 to 4,800 (slowing the T2 rush)

Client Improvements 

  • Improved sandbox mode no longer requires a mod to show user interface for units, vision and control (will also be obvious if you join a sandbox game)
  • Improved stability when marshalling data between Coherent UI and engine
  • Improved performance and stability of pushing unit specs when starting live game
  • Modern: updated to Coherent UI 2.5.9.3 which may improve rendering on Linux

Client Fixes

  • Fixed missing languages in Steam client
  • Fixed initial language not being set based on Steam client language setting
  • Fixed commander selection in 1v1 ranked new game lobby
  • Fixed a material library threading crash
  • Fixed windows crash handler failing triggering a Window Error Report (WER) which was also masking the material library crash
  • Modern: updated to Coherent UI 2.5.9.3 with fix for memory allocation crash
  • Modern: updated libcurl for possible fix for login failures on Windows 7

Server Fixes

  • Fixed our #1 server crash. We now know this was caused by creative use of multiple anti-entity target weapons in the Legion Expansion Rampart shield generator when encoding deltas for the ammo capacity history curve
  • Fixed a crash if a seeking projectile was fired at a unit that as it leaves the planet
  • Fixed a navigation cost cell integrator crash in pathing

AI Improvements

  • AI performance improvement pass focusing on AI data updates, build location updates and attack location selection
  • Improved the AI’s ability to use naval against land targets
  • Improved the AI's use of space near it's starting base on some planets
  • Improved the AI's economy management
  • Improved the AI's handling of slow air platoons e.g. zeus + angel
  • Small improvements to the AI’s nuke and Unit Cannon targeting
  • AI Commander should no longer charge the front lines to its death
  • AI platoons should spend less time stuck against terrain trying to attack something

AI Fixes

  • Fixed a math error causing the AI to only evaluate half the planet for military targets
  • Fixed an error causing the AI to underutilize its air force
  • Fixed AI not attacking on gas giants
  • Fixed AI incorrectly marking bases as unable to deploy vehicle/naval units
  • Fix for crash if a mod enables an AI controlled Unit Cannon to build fabbers
  • Hardened the Fabber and Factory manager system to prevent a crash

Crash Reporting

  • Added --enable-full-memory-minidump (Windows only) to be used when requested by support

Modding

  • Work in progress: new unit specs API to replace Blueprint Info Framework

Other Modern Updates

  • libcurl 7.64
  • libsdl 2.0.9 for Windows (macOS was already 2.0.9 and Linux is system version)
  • lz4 1.8.3
  • miniz 2.0.8
  • zlib 1.2.11
  • libpng 1.6.36
  • libsquish 1.15
  • stb_truetype 1.21
  • stb_image 2.21
  • breakpad

https://planetaryannihilation.com/news/translations-ai-and-modern-update-113034/

TITANS 1v1 Ranked Ladder Season 2

Posted by Planetary Annihilation Inc (Creator)
19 likes
 
 

Hello Commanders,

Season one of 1v1 ranked has ended, so let us give our congratulations to [TNC] [Nik] NikolaMX, a player so humble he put his own name in a clan tag.

Fighting off many worthy opponents he has dominated the Uber league, holding the #1 position for most of the season. An Invictus statue will be on its way to our deserving season 1 winner.

Season 2 – 2019-01-25 to 2019-04-25

It’s season 2!

All ranks have been reset; everything is up for grabs again.

A new season needs new maps. As you know we introduced four new maps mid-way through the previous season, and they’ll be carrying over to season two. But the rest of the maps have been taken out back and… retired. Sleep well old maps, you’ve served your time. Replacing them are eleven brand new maps.

Season 2 Map Pool (15)

  • Aquilaris (WPMarshall)
  • Bulkhead (WPMarshall)
  • Canyon (WPMarshall)
  • Centax-3 (Grand Homie)
  • Disparity (WPMarshall)
  • Enfer (Grand Homie)
  • Geonosis (Grand Homie)
  • Lost Temple (WPMarshall)
  • Lugaan (WPMarshall)
  • Niflhel (Grand Homie)
  • Riddler (WPMarshall)
  • Singe (WPMarshall)
  • Tartarus (Grand Homie)
  • The Ardennes (Grand Homie)
  • The Marne (Grand Homie)

New maps mean new strategies, and everyone is on an even footing because no one has had a chance to practice these before. We look forward to seeing what you make of them and hearing your thoughts on how they play. These maps will also be made available to play in custom lobbies in the near future.

Prizes!

Of course, what season is complete without prizes? And what could possibly top an Invictus Commander statue? Like that relative that doesn’t know what to get you as a present, we opted for cold, hard cash. Nice.

The player who holds Uber #1 at the mid-season point (2019-03-08 00:00 UTC) will be awarded US$500. The player who is Uber #1 at the end of the season (2019-04-26 00:00 UTC) will receive US$1,000.

But what about those of you playing in Bronze reading this and thinking, I’m never going to hit Uber so what do I care? Well we’ve got you covered too. We’ll be awarding US$100 to the most active player in each of the five leagues, both mid-season and at the end of the season. Doesn’t matter where you rank in the league, only how much you play.

Summary of Prizes

Mid-season at 2019-03-08:00:00 UTC

  • Uber #1 - US$500
  • Most active Bronze player - US$100
  • Most active Silver player - US$100
  • Most active Gold player - US$100
  • Most active Platinum player - US$100
  • Most active Uber player - US$100

End of season 2 at 2019-04-26:00:00 UTC

  • Uber #1 - US$1,000
  • Most active Bronze player - US$100
  • Most active Silver player - US$100
  • Most active Gold player - US$100
  • Most active Platinum player - US$100
  • Most active Uber player - US$100

Maximum annual winnings for Uber #1 is US$6,800 if you hold the position all year and play the most!

All prizes are awarded at the discretion of Planetary Annihilation Inc. Players in breach of the Planetary Annihilation Community Rules and Guidelines may be disqualified. The decision of Planetary Annihilation Inc is final.

tl;dr

Seriously? We spent a lot of time writing all that. Millennials are ruining the patch note industry.

  • Ranked season 2 has begun
  • New ranked map pool
  • US$2,500 to be won this season

Let the soothing voice of WPMarshall take you on a guided tour of this season’s maps.

Happy New Year Update 112589

Posted by Planetary Annihilation Inc (Creator)
44 likes


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 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 TITANS 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

 

TITANS 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

TITANS 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://planetaryannihilation.com/game-updates/happy-new-year-update-112589/

TITANS 1v1 Ranked Ladder Reset and Seasons Update 112314

Posted by Planetary Annihilation Inc (Creator)
24 likes

 Hello Commanders,

The official TITANS 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

TITANS 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

  • 2019-01-25 - 2019-05-02
  • 2019-05-03 - 2019-08-08
  • 2019-08-09 - 2019-11-14
  • 2019-11-15 - 2020-02-20

TITANS 1v1 Ranked Fixes

  • Fix for never-ending 1v1 ranked queue after a network error

TITANS 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)

TITANS 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)

Multi-threading, Performance and AI Improvements Updates 112176 / 112209 / 112214

Posted by Planetary Annihilation Inc (Creator)
43 likes

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!

https://planetaryannihilation.com/2018/10/17/multi-threading-performance-and-ai-improvements-update-112176/