64 bit – The Future of PA and Titans

Hello Commanders,

Today marks the six year anniversary of the Planetary Annihilation Kickstarter, where 44,162 backers helped breathe life into the concept of a next-generation RTS, where thousands of units would clash across multiple worlds, unleashing interplanetary destruction.

It’s been a long road and we’d like to say a big thank you to everyone who backed, supported or just played Planetary Annihilation over the past six years; we couldn’t have done it without you!

The incredibly sexy technical work continues behind the scenes. After the next major update we will be focusing on 64-bit operating systems as we continue to modernise Planetary Annihilation. If you’re part of the 2% still on 32-bit Windows now would be a good time to upgrade so you can fully reap the benefits of the changes we’re making.

Similar to Valve, Blizzard, Nvidia and many other game developers, this modernisation necessitates saying goodbye to some unsupported, end-of-life operating systems like Windows Vista, and older macOS / Linux releases. We’ll confirm the details prior to our modern build going live and plan to make unsupported older builds which will continue to work in offline mode available to anyone who cannot upgrade.

We have also performed a much needed refresh of our community rules and guidelines, after all we don’t want our little pocket of humanity to fall into discord and be overthrown by the Machine Liberation Army. There’s even a tl;dr version, because we know you want to be playing PA not reading rules. These apply to all aspects of PA: lobby names, in-game chat, official forums and the official Planetary Annihilation Discord server, which is now live.

Please feel free to use the official Planetary Annihilation Discord server to coordinate games, discuss strategies, seek out help with modding, and anything else PA related. We also hear there’s more to life than PA, and while we’re not sure we believe that, we have created an off-topic channel just in case.

See you in Discord: https://discord.gg/C3GBXbg

The PA Team

planetaryannihilation.com – The Future of PA and Titans

Hello Commanders,

We hope you enjoyed the multithreading technical update from Sorian. The work on modernising Planetary Annihilation continues and we will bring you more of that sweet technical goodness in future posts.

The transition to Planetary Annihilation Inc is almost complete and we have moved the website, forums and support.

New URLs are as follows:

The support articles are being developed to provide more content relevant to issues we see reported. Like with any game though, we find most issues are caused by out-of-date drivers, especially with cross-platform OpenGL support, so please ensure you check that your drivers are up-to-date.

We are targeting 15th September for the launch of our official Planetary Annihilation Discord server, though you can already sign-up. We will also be following up later with Discord rich presence support to make it easier than ever to form a party with your friends, join a game with them, or just spectate one they’re already in.

In looking to the future, Classic Planetary Annihilation has been removed from sale. This will not impact existing players, the game will remain in your Steam library and Classic PA players will still be able to upgrade to TITANS at the permanent 90% off discount. New players will only see TITANS in the store, which is both backwards compatible with Classic PA lobbies and also supports switching to classic mode to host classic games. Classic PA will continue to receive updates, including the new simulation performance improvements with multithreading that Sorian is working on.

Later this month we will be releasing new PTE (Public Test Environment) builds for TITANS and Classic PA with some of those improvements for you to try out. The PTE is how you can test out new features that are still under development, and we’ll be using it to get your feedback ahead of official releases.

See you in Discord on the 15th!
https://discord.gg/C3GBXbg

The PA Team

Multithreading – The Future of PA and Titans

@Sorian is back working on server simulation performance with multithreading this month and we have a technical update to share on his work for the next update.

Two years ago I was given the opportunity to continue work on my baby, Planetary Annihilation, for the 99337 Performance Update. My primary focus was attempting to improve performance by multithreading parts of the simulation. My initial focus was on areas of the simulation where I thought it would be easiest to do things in parallel. The most natural separation was based around planets.

Since navigation and physics are typically the worst performance offenders, separating updates by planet seemed like a good plan. Their updates tend to only act on a single entity. Initial testing blew up spectacularly, as I expected it would. Fortunately, there were not many areas of contention between threads and a performance win was born.

So, now that I am back, you may be wondering what I am working on now. I’ll be continuing right where I left off! This time I am digging further into the sim to see where I can split large groups of tasks over threads to speed things up. Early this week I was focused on the physics update. I figured, since we should only be looking at two unique physics objects at the same time, it should be possible to thread this.

Well, I was right and wrong. There were the usual small issues to fix, but threading the physics update revealed a larger issue. The physics system utilizes an HGrid (described as a loose octree) to find potential entity overlaps using a function called buildPairs. It turns out that there is no guarantee that the vector of pairs that we get back does not contain duplicates. Under normal operation this isn’t a huge issue, as this is a single call that immediately returns and it was just being done thousands of times more than it needed to be. However, when you throw threading into the mix it gets ugly. Fixable, but ugly.

I have also started work on restructuring the sim tick a bit to allow the navigation and physics updates to happen alongside other updates. Right now I have it running alongside the economy update, but the economy update is only a small part of the overall update, so not much of a win there yet. I am hoping to split some of the plan steps (our sim has plan, execute, and record steps for entities) out into a group that can also run at the same time as the navigation/physics update.

For the navigation system, I have been mainly focusing on the epic number of allocations the navigation system does during voxel integration. I have a new system in place that saves off vectors of cost cells (the objects the integrator makes tens of thousands during voxel integration) for reuse. The integrator is also doing a better job of allocating in blocks instead of individually. On the multithreading front, the navigation system has proven to be quite difficult. There are so many little acceleration features and so much lazy loading that is simply prevents multithreading without a significant amount of work.

So, what’s next? There is still more work to be done with navigation, there is still the sim tick stuff to be investigated, and some AI updates as well (of course), starting with a much needed performance pass. And that doesn’t even get into other fun stuff like modern toolchain and Coherent GT updates.

Mike “Sorian” Robbins

Planetary Annihilation Inc: The Future of PA and Titans

Hello Commanders,

It’s Planetary Annihilation: TITANS’ third birthday, and we have some very exciting news to share.

We are proud to announce the creation of Planetary Annihilation Inc, a new company with a team comprised of original PA developers and long-time community contributors. Our sole focus will be Planetary Annihilation and making PA into the best game that it can be, one ready to take full advantage of the many changes in technology since development started back in 2012.

None of this would have been possible without our dedicated community and so we will be opening up our communication to let you know what we are working on and experimenting with. No more radio silence!

We’ll be launching an official Discord server next month. This will be a place for you to connect with other players, ask for help, share your awesome strategies and where we can engage with you to keep you informed on all the cool stuff going on.

As a thank you to everyone who purchased the original Planetary Annihilation we are permanently increasing the TITANS upgrade discount to 90% off!

This is just the beginning of the journey we’re embarking on. As we ramp up Planetary Annihilation Inc there will be more announcements about the shakeup of the 1v1 ladder and some big changes we are implementing to improve performance on newer hardware.

There are a lot of changes coming, so make sure you don’t miss anything by following us on Twitter @PA_the_game.

We hope you’ll join us on this journey, and remember: mine the gas giant, claim the asteroids, and never, under any circumstances, let them own the metal planet.

The PA Team

https://planetaryannihilation.com/

Future of PA and Titans Update

We wanted to share some of the things we’ve been working on and that are currently in the pipeline:

  • Ladder reset for 1v1 giving everyone a fresh shot at hitting the top of the ladder
  • Working on server performance and optimizations to improve player experience (some of these optimizations have already been made)
  • New 1v1 ranked maps

We will let everyone know as these come online.

Also, for those of you who did not see the announcement, Community Mods, the Community Dedicated Server, Community Chat and Legion Expansion support are now up and running.

Hotfix 110069 is now live!

This hotfix resolves the SSL issue preventing MacOS users from being able to sign in. A separate fix for the PA Launcher will be rolled out next and we will release that as soon as it is ready. Thank you again for being patient with us and happy annihilating!

Update: A fix for the PA Launcher on MacOS has been released. However, there is a new bug that has appeared on the Windows PA Launcher that causes it to get stuck in an update loop. For the time being, please hit Cancel and it will allow you to continue to play Offline for now while we sort this out. Thank you for understanding.

Second Update: The issue with the Windows PA Launcher has now been resolved and you should be able to launch the game again using any platform and any OS. Thank you for bearing with us as we worked through this issue!

Hotfix build 110029 is now live

This hotfix resolves the SSL issue preventing most people from being able to sign in.

We are aware that there is still an issue with MacOS as well as the PA Launcher. We are still working on tracking those down and will release a fix as soon as we are able. Thank you for your continued patience.

Official Chinese Localizations now live on build 109959

We’re happy to announce that we now included official translations in Traditional and Simplified Chinese. Enjoy!

我們很高興地宣布,我們現在包括繁體和簡體中文的官方翻譯。 請享用!

我们很高兴地宣布,我们现在包括繁体和简体中文的官方翻译。 请享用!

The Balance and Community Servers Update 108271 is now live!

Balance changes:
Zeus

  • Reduced Zeus effective rate of fire to 0.5 from 0.67
  • Increased Zeus ammo per shot and capacity to 10,000 from 9,000
  • Decreased Zeus ammo demand to 5,000 from 6,000

Leveller

  • Increased Leveler build cost to 800 from 600
  • Decreased Leveler turn rate to 50 from 60

Gil-E

  • Increased Titans Gil-E range from 180 to 220 for Titans (same range as Classic PA)

Titans vs Classic PA

  • Titans Leveler ammo velocity is slower (140 vs 150)
  • Titans Gil-E health is lower (150 vs 200)
  • Titans Gil-E build cost is lower (800 vs 1200)
  • Titans Gil-E weapon can also target WL_Air

Polish/fixes

  • Fixed sudden death mode not displayed for other players in new game lobby (patched via community mods)
  • Fixed zoom to celestial for POV camera
  • Added tooltip for POV camera button
  • Fixed attack, move attack and area attack for point / follow units to attack from max weapons range instead of rushing into and hugging target eg bots, hornets, etc.
  • Fixed multiple saves during same game corrupting config
  • Community Servers Support:
  • Posting community servers beacon
  • support for 32 players with 16 alliances
  • command line option –gameover-timeout
  • command line option –community-servers-url
  • command line option –community-server-public-host
  • command line option –community-server-region
  • added missing help for recently added command line options.
  • added state to server beacon
  • added offworld support for AI only (no human players) testing

Enhancement Update 105067

A host of new custom commanders, free for everyone!

  • Added Locust, XOV, Reaver, spz58624, raizell, visionik, tykus24, mostlikely, nagasher, zancrowe, kevin4001, damubbster, commandonut, sadiga, jt00010177, vidicarus

Balance changes:

  • Removed friendly commander reclaim
  • Changed grenadier group preference to back
  • Changed default bounty to 0.25

POV Camera Mode, Spectator Selection, Holodeck Improvements

  • A POV camera mode that follows a unit and watches the action from their perspective! The default keybind for this is Ctrl+Shift+M.
  • More details can be found on the following thread in our forums: https://forums.uberent.com/threads/new-pov-camera-mode-testing.72119/

Alternative Win Conditions

  • Sudden death for teams (protect your weakest player)

Sim Speed Control for Local Servers

  • Added sim speed control for local servers with key bindings -/=

AI Improvments

  • Added AI shared armies
  • Added resume anywhere for AI games with no human players

Fixes

  • Fixed black screen joining game over state
  • Added social notifications when uberbar hidden
  • Fixed broken classic galatic war saves with missing combined unit_list.json for.ai and .player spec tags
  • Changed handling of look at player for spectators to use units
  • Changed label for dynamic alliances eco sharing from RESC to SHARE ECO

Modding

  • Added Friendly_Commander reclaim type and excluded friendly commanders from default unit reclaim type. Commander reclaim can be enabled again by adding Friendly_Commander to reclaim_types.
THE GALAXY WON'T CONQUER ITSELF Get it now on Steam!