Hotfix 86765

Fix for crash when loading a save or resuming a game where an entity spawned and died on the same tick.
Galactic War Titan cards will now properly interact with the orbital and air titan, and will not show up in Classic PA
Fix for a crash in closestPointPlane
Fix for a crash caused by units trying to initialize a celestial move task after their planet has been blown up but before the unit has been destroyed.
When launching PA Classic on Steam when you own TITANS, the Quit & Install / Quit & Launch buttons on the popup now initiate the install or launch for you.
Fix for AI crash on shutdown in the interplanetary request system
Fix for a crash in BuildTask
Fix for a crash when loading a save with a unit with a celestial body and no order.
Fix for a crash when SimWeapon is verifying index in one place and not in another
Make main.css rules a little more specific
Fix some cursors on certain Linux drivers
Updated Classic land neural net data.
Sim units no longer kill the server if spawned with an invalid spec id.
Shut down empty load_save servers.
Set +x bit on published Linux files that need it. Fixes the Linux download not working out of the box
Fix default parameters to panel.move.
Fix for boolean inversion in the build task when creating the unit.
Added a ‘no-gpu’ option to the panel api. This allows us to reduce the number of processes and interacting with the gpu. Enabling software-ui has been know to solve certain ui crashes, and this offers a more balanced solution.
Titans should no longer teleport
Titans land neural net update
Titans air neural net update
Never automatically set particle data format as PositionWithAlpha. The format is almost never used, and when it is it’s usually by mistake and causes something to break.
Events for enemy units will no longer be treated as your events. This bug was most noticeable with the idle fabber/factory widget
Solar Drone (Icarus)
-Underwater Vision decreased to 50 from 500
Nuke Tank (Manhattan)
-Armor Damage Orbital increased to 0.33 from 0.0
-Armor Damage Commander set to 0.33
Drone Carrier (Typhoon)
-Ammo Demand decreased to 15 from 30
Missile Drone (Squall)
-Metal Cost increased to 90 from 30 (Only will affect repair speed)
-Health Regen decreased to -3 from -1
-Acceleration decreased to 80 from 90
-Move Speed decreased to 80 from 90
-Turn Speed decreased to 240 from 270

TITANS Update 86422

Surprise! Planetary Annihilation just got BIGGER.

New difficulty ramping system
-Ramps all AIs, including bosses
-Difficulty is added based on distance from starting planet
-Has a modifier for galaxy size
Rebalanced econ modifiers for difficulty levels
Reduce AI on easiest difficulty
Made absurd slightly stronger
Adding titan enabling and titan cost reduction cards to galactic war.
Custom planets for galactic war.
Change system names to random names
Fix artillery tech showing up for artillery commander
Make custom commanders appear in galactic war as minions
Fix for GW AI doing nothing if you have a minion
Fix for GW AI not using Titans units
New Galactic War card audio hooks for ammo, cost and Titans.
Removing abandon war option from gw_play. Instead, the war can be deliberately removed from the saved games screen.

AI Changes
Improved AIs start a bit
AI Should respond better to naval threats
AI platoons will not completely lose their task when they encounter enemy forces.
Orbital laser attack task now supports escort squads.
AI now designates a larger area for rally points.
AI will handle its commander better.
If the AI commander is the only fabber on the planet, it will build things, even while heavily damaged.
Allied AIs will be notified when a nuke is intercepted.
AI will no longer build satellites on gas giants.
AI will see unit cannons as more of a threat.
AI will see anti-nukes on another planet as a higher priority target if it has nukes anywhere in the system.
Updated land based neural networks for both Vanilla and Titans.
Fix for AI seeming to ignore pelters as a threat.
AI will try to protect the commander with umbrellas.
Fix for code error in strategic manager.
Get the AI commander to focus on building factories more.
AI can now send orbital units between planets.
Adjusted AI platoon composition.
Fix for AI platoons with small vision and weapon ranges not working quite right.
Updated fighter and bomber neural network data for classic.
Fix for AI units not microing at all.
Fix an issue where the AI would rush unit headlong into a fight for no reason, instead of firing from an appropritate range.
Fix for AI platoons getting stuck against walls due to repeatedly (and unnecessarily) issuing move and attack orders.
Some more adjustments to AI platoon keep at range and micro distance calculations.
Fix for AI land platoons trying to attack things they are not supposed to.
Updated Classic land neural net data.
AI has separate platoons for Titans.
AI will not weparate the advanced bombers from basic bombers and gunships
Disabled the land Titans for the AI.
AI will only build one Ragnarok per planet.
Added AI neural net fighter and bomber data for Titans.
Made game enders appear as juicier targets to the AI.
AI will build nano swarms in the unit cannon.
AI should no longer clump its naval forever after building a hover ship.

Bounty Mode
-New game mode! You gain an economy boost (set in the lobby) for every commander you defeat
-If the commander self-destructs, then the last person to damage their army gains the bonus
-Added filter to server browser

System Editor
Explicit Planets always need a generator because we can’t rely on a default
Added option to toggle off water meshes. Default keybinding is ctrl+w.
Changed default water depth to 100 (from 50)
New set of CSG

Balance changes
Make subs a bit faster
Fix torpedos firing at hover units
Updated solar drone to have a weapon
Give death weapons to air, vehicle, and bot titans
Beef up nuke tank’s health and making it slower
Bumping up hover tank cost a bit
-Weapon Yaw Range decreased to 90 from 120
Unit Launcher (Lob)
-Range increased to 340 from 260
Slammer (Adv. Assault Bot)
-Move Speed increased to 14 from 12
-Acceleration increased to 140 from 12
Spark (Tesla Bot)
-Splash Damage increased to 50 from 30
Tesla Bot (Spark)
-Metal Cost reduced to 105 from 130
-Rate of Fire increased to 0.5 from 0.4
-Ammo Capacity decreased to 400 from 600
-Ammo Per Shot decreased to 400 from 600
Solar Drone (Icarus)
-Metal Cost reduced to 125 from 150
-Damage increased to 25 from 10
-Rate of Fire increased to 1.0 from 0.5
-Ammo Source Energy added
-Ammo Capacity set to 1500
-Ammo Demand set to 100
-Ammo Per Shot set to 300
Fabrication ships are now much more tanky and also more expensive.
Drone Carrier (Typhoon)
-Range increased to 250 from 180
Missile Drone (Squall)
-Brake decreased to 90 from 110
-Added target priorities: Air, Mobile, Structure – Wall, Wall
-Adjust drone size to make them easier to hit by AA
Support Barge (Barnacle)
-Build Arm Metal Draw decreased to 45 from 60
-Build Arm Energy Draw decreased to 400 from 800

Added “memory” storage API, which is like session storage, but asynchronous and without size limits.
– Added a KO extender to store to memory.
– Galactic war now uses memory storage for passing the battle config.
Fixed inconsistencies in the WorldView.fixupBuildLocation API.

Set full opacity to pause background
Tweaked the background for sub menus
Added in UI sound effects
Fix for login button
Fix unit idle effects staying on after unit dies
Set vanilla brush spec biome colors
Make community tabs scalable, work at min rez
Fix for a performance issue when hovering over the planet panel.
– The holodeck show/hide was creating and destroying the render target.
– That’s very, very bad for performance.
– Now it only lets go of the render target when it has to.
You can now place a build preview over an existing build preview, if the specs are the same. This is most relevant for metal extractors.
Fix for community tab list widths showing null message when the leaderboard is empty
Nav work:
– Expand cmesh walls at buildVoxel time based on move type radius
– This is roughly the same thing we do when placing cost stamps for units/structures. But mildly specialized for cmesh walls (which don’t place cost stamps).
– Place cost near edges of unpathability
– This includes not just obvious walls but stuff like shorelines for land units. Hover/Amphibious units correctly receive no cost at shorelines.
– For example a “puddle” on land will be and has always been fully pathable by land units. It’s just a puddle. You can’t built naval on it either because it’s not “deepwater”. However because of spheres there will be voxels that have water surface and only water surface. This voxel should be ignored by the cost layer.
– TLDR: apply cost if ((floodable && !pathable(movetype)) || (!floodable & has_flag(avoid_flags(movetype))”
– Fix for some group behavior issues
– Large units always get their own groups
– Hover and Amph constrain down to Amph.
– Minor cleanup
– mMergeSubGroups persists across frames. It only resets to nullptr sometimes. If it starts as null in Group::mergeSubeGroups then it’s initialized to the first subgroup in the list. If it persists then it’s plausibly later in the list. If that group gets merged into another group that’s determined to be closer then there will be an empty subgroup while iterating. Because empty groups aren’t cleared until after the full iteration
**- Add correct cost stamp data to titan units so they lay down blocking cost for small units.
Adding turn acceleration to all the boats. Fixes our twitchy boats.
Update CSS and icons on uberbar
Fix the Twitch TV wrapper covering up the close button
Fix for Twoboots commander
Fix for crash related to blips
Don’t expect a secondary color for blips in the world hover
Keep single laser tower name on one line
Fix for launching a GW game using a save from the time when commanders were in the old schema.
– There is still some data out there using objects, which results in [Object object].ai on the server.
Overriding build previews with other build previews is now only allowed when combined with a feature requirement.
Added logic which excludes certain defaults systems when selecting a random start system.
Make blips appear properly in the world hover
Unit launcher effects
Playing Ragnarok music based on maintaining a total Ragnarok unit count.
Layout update for mini-leaderboard tab
Adjusted the formations that units go into while navigating to a position
Unify command bar, special icon atlas, and cursors.
-They now all live in ui/main/shared/img/icons.
Several game_over bug fixes.
Remove Armory refresh button
Adjusting the placement size of a whole bunch of structures in further efforts to reduce the amount of units getting stuck in bases.
Matchmaking: swap original PA background to use titan default
Added more time control hotkeys.
-skip forward 1 sec: –
-skip back 1 sec =
Fix video list to not overlap close button for twitch feed.
Fix an issue where the game over panel would not appear in the gw/tutorial.
Layout adjustments to resource line in build bar hover detail
spacing and type tweaks in build bar hover
Make teleporter a little bit more better
Addded in FIGS translations
Closing Credits and Kickstarter pop-ups when clicking on overlay.
Add a drop shadow to orbital launcher
Don’t require steam linking
Fix for a race condition that sometimes caused the game_over screen not to appear
Remove slow and unnecessary _.cloneDeep call from GW planet loading.
Update TitleDisplayName based on Steam Persona name.
Polish combat alerts
Changed galactic war save/load to push the system data into a separate database.
– Allows save/load of the game to not serialize the system
– Fixes in-game perf problems.
Filter out combats that you are not in
Add in strat icons to the tutorial titan commander
Fix uberbar
Update combat planet icon when celestial info changes
Fix for GW games losing their systems.
Fix for previews ever getting left behind
Jump smoothly to acknowledged combats
Fix to music pause when playing intro again
Drone Carrier effects
Drone ammo effects
Heavy Bomber effects
Fixed animation error spew on Air Titan
Handle invalid locales and boot configs
Hide combat alerts when chronocam scrubs
Show army defeated alerts even when we didn’t see who killed them
Enabled save during the game over state
Default the game language to the Steam game language
Improve visual stability of unit alert panel
Position combat alert PIP as close as we can to the alert
Changed the isMisc() test in the unit alerts to be a broader catch-all
– Units losing and gaining power would trigger an alert without a CSS style due to being missed from the old version of this function.
Improve planet tracking robustness
Fix Naval wake FX
Some progress logging in
Added a play tutorial prompt
Icons for new CSG
Restore min-width on unit title in build-bar hover
Update tutorial image
Adjust ramp edge transition brush
Added fly and idle animations for support platform
Add layout for draw scenario
Fix logic for draw game over screen
Fix tooltip cropping in econ bar
Naval unit explosion FX work
Fix for rare crash when the AI chooses to fire the unit cannon and one of the units built by the unit cannon was killed that tick.
Mac OS X 10.11 crash fix when prepareOpenGL being opened later than before
Reducing the size of the dynamic light on air unit explosions.
Fix superweapon alert positioning
-A min-height in the wrong class was causing a very strange layout
Fix crash that comes from DynamicObj writing non-fininite data into curves. Crash is derived from an uninitialized Vec3f being written into velocity
Updates to save game icons
Fix fabber ships not having fabber effects
Orbital launcher missile effects
Fix destroyers not having torpedoes
Fix for brake values <= 0 not stopping on a dime like they should
Proper kill credit will be awarded for planet smashes, planet lasers, and destroying a commander in a transport.
Fix issue where anti-nuke missiles spun in place
Nav sweep waves will now obey the nav voxel budget.
Fix for the game over screen not showing up for spectators when the game ends.
Modifications to the tactical missile and missile ship effects
Probable fix for dynamic decal crash on the client.
– Changed the decal IDs & biases to be generated via atomic so multiple threads can’t get the same IDs.
– Moved the threading behavior in ClientDynamicDecal to adding the decals instead of loading the specs. (Should prevent hitching during chronocam & spectator use.)
– Made the CDD add/remove more reliable in corner cases of removal while adds are in flight & etc.
– Changed the PlanetBuilder decal API to consider the decal result to be part of the API. This is implemented by accumulating into temporaries and guarding a swap operation. (Holds the lock for less time, and is generally more robust.)
– When removed, dynamic decals are now cleared.
Minor cleanup of api.content to prevent bogus data.
Fix active content not being updated if your active content is no longer unlocked.
Changing icon for Halley to be of when it’s open so it looks different than the catapult.
Fixed crash on game session exit.
Fix some error spew and missing combat events.
Fix for the end game screen appearing after chrono resume.
Fix issue where galactic war card modification of base specs were not inherited by child specs.
Effects revision of battleship weapons
Fix for error where the back button stops working in the save game browsers.
Fix for bug where the game would be automatically paused when a player entered the settings menu (if all the human players were on the same shared army). it will still automatically pause if only a single human player is in the game.
Disconnecting will no longer pause the game if the disconnected player already been defeated.
Fade in the game over panel
Bumping up the wreckage_health_frac a little bit to make wreckage a little more frequent.
created a new torpedo hit effect and adjusted the torpedo trail
Perf improvment to planet building step.
Tutorial prompt will now only show when using titans
Fix effects on ragnarok and helios staying on after they die.
Fix for effects lingering on client puppets if they’re “unPuppeted”.
Unit launcher now properly animates.
Fixed build bar hover lag.
Adding extra spawns for more players on Clutch, Lock and Crag
Removing the old TITANS FFA system from the list and adding a player counts to a few systems that were missing them
Fix for control group error spew.
Reduce the amount of nav initialization done on the client.
Add VO cue to ‘Start Annihilation’ button
Galactic war start screen should no longer occasionally end up blank.
Fixed the long pause when starting a new galactic war game.
Fix for tooltip cropping in community bar.
Play VO when we annihilate planets
Play “control group saved” sound when saving control group through ui
Restore pip-follow-alerts functionality
Fix a crash on 404 from Coherent.
Add a “Remember my password” checkbox on launcher
Handle Steam overlay being disabled
crash fix. the sim module call to check unit type did not correctly check for a null handle. if you use chronoresume, you can end up with null handles for commanders that where dead during a previous chronoresume.
state flag/ vision bit bug fixes. chronoresume did not correctly handle rewinding time to a point after a player was defeated. the server js would assume that the vision bits / control bits had not changed since the game started.
fix for some logic errors with the game over display and chronoresume.
added logic to reset various ui panels after chronoresume, so they don’t display stale data (unit alerts/combats, idle fabbers/factories, time alerts).
fixed the army selections widget in the stats panel.
Redirect back to last scene if replay loading fails.
Attempted fix for the damageable QNAN crash.
Make server disconnection/crash in galactic war return to gw_play
Fixed severe performance issues with high input rate mice.
Fix for displaying the draw (no winners) end game screen.
Fix an issue where weapon range rings would not appear for anchors.
Prevent menu music from playing over first playback of intro video.
Added filter mechanism for the time bar.
Teleporters now face the same direction units travel through them when orienting placement.
Fix for invalid reward of 3 vs 1 steam achievement.
Set the default stats display to total unit count instead of build efficiency.
Fix for loading a gw saved battle.
Fix watching replays on leaderboards
Fix a crash with fmod internals
Fix start menu rank title tooltip.
Fix unit cannon VO playing for holkins and missing alert text
Disable language dropdown in-game.
Do not play main menu music on video completion if playing galactic war intro movie
The client will no longer allow resume anywhere before the commander lands or after the game has ended. the resume from here button should grey out where appropriate.
Remove the play backwards button.
Fix for fetch twitch channels.
Fix for crash when loading a save or resuming a game where an entity spawned and died on the same tick.
Add steam.launchContent API.
Fix for a crash in closestPointPlane
Fix for a crash caused by units trying to initialize a celestial move task after their planet has been blown up but before the unit has been destroyed.
When launching PA Classic on Steam when you own TITANS, the Quit & Install / Quit & Launch buttons on the popup now initiate the install or launch for you.
Fix for AI crash on shutdown in the interplanetary request system
Make getCameraInfo return the cameraInfo rather than having to pass an empty struct.
Stop showing ‘undefined’ when hovering over a still-loading sun
Use loadSceneMods in main.js.
Fix for AI shutdown crashs due to a lambdas containing things that end up destroyed before the queue gets processed.
Fix for a crash in BuildTask
Fix for a crash when loading a save with a unit with a celestial body and no order.
Fix for a crash when SimWeapon is verifying index in one place and not in another
Make main.css rules a little more specific
Improve feedback when user clicks a command
Added a culling token to prevent corrupt LOD groups from infinitely queuing meshes
-Prints out an error we can search for in case it causes other problems
Fix some cursors on certain Linux drivers
-Replaces fully transparent pixels with completely black pixels rather than some color with transparency
Clean up of communit tab controls (twitch display number, miniboard rank numbers)
Shut down empty load_save servers.
-This should reduce the amount of server capacity dedicated to failed attempts at connecting to load_save servers.
-This should also fix a race condition when the sim becomes ready before the client connects.
Sim units no longer kill the server if spawned with an invalid spec id.
Set +x bit on published Linux files that need it. Fixes the Linux download not working out of the box
Fix default parameters to panel.move.
Fix for boolean inversion in the build task when creating the unit.
Added a ‘no-gpu’ option to the panel api. This allows us to reduce the number of processes and interacting with the gpu. Enabling software-ui has been know to solve certain ui crashes, and this offers a more balanced solution.
Removed unnecessary normal map detail from tops of structural brushes to improve overall appearance in different texture settings and zoom levels
Fixes for drone projectile orientation
-Projectiles that turn toward their velocity now preserve their up value
-Spawned units on projectile death inherit the orientation from the projectile
Set organic brush specs biome colors
Death effects for Air Titan
Modified jungle organic CSG textures to blend better with the planet surface.
Tuned up Organic mountain brushes textures to blend better with planet surface
Darkened outer edges of Mountain organic brushes for better visibility
Improve Tutorial loading
Fix issue with planet explosion not lining up with the ragnarok’s position.
Set tutorial panel to yield focus
Fix cursors and an image in tutorial star 1.
Flak tank FX work. Added new anim tree for flak tank.
Added Titans logo splash screen.
Heavy bomber jets, lights, and anim tree tweaks.
Make air titan’s wreckage keep moving.
Extended viewing distance of titan smoke
Added death animation sequence for titan_orbital
Made titan_bot attack effect lit
Orbital Teleporter work:
-Improve teleport target location determination for orbital teleporters.
Fix typos and grammar errors in tutorial
Wreckage work:
-Get aerial/orbital wreckage to work better
-collisionLayersFromMoveType returns AnyGround rather than AnySurface for air/orbital. This is so they collide with Seafloor instead of WaterSurface
-Added dumb setSnapToUnpathable setting for dynamic object. Usually we want to snap to pathable terrain. For aerial wreckage and ONLY aerial wreckage was actually want to allow snapping to unpathable. This flag is set only for aerial wreckage
added deploy animation to orbital_probe to support orbital launcher factory
Update to commander landing effect.
Removing the armor damage value on the torpedo so that commanders can actually shoot at hover tanks while it’s submerged
Fixed updating your username in the uberbar
Fix for Steam name already being in use as a display name on ubernet
Helios shouldn’t fall anymore
Fix to unit cannon effect playing underground
Replace old selection/hover rings with a shader effect.
-the effect scales without creating noticable aliasing.
-the effect also normalizes the ring thickness across units of different sizes.
Updated interstitial screen
Music and SFX cue work for titan deaths
Death animation and effects for Ragnarok Titan
Added the Titans 1v1 systems to the ranked pool
Fix visual ‘pop’ in animation that could occur for Titan Atlas
Fixed up destroyer, frigate and hover ship hit effects
GW tutorials will be deleted when completed instead of archived
Systems are no longer named for the commander you fight on them, but the commander name appears on the galactic map
Each enemy commander only appears once in GW
The tutorial panel will no longer initialize unless you are actually using the tutorial.
Fix for matchmaking background not scaling
Non-default commander loadouts now should all give expansion units properly.
UI audio for continuous build and power stance
Galactic war orbital commander will now properly give expansion units
Reconfig game mode layout, add tooltips to describe what bounty mode, dynamic alliances, etc. are. make the bounty mode multiplier noticeable to players who join the lobby.
Make game mode controls appear to not have interactivity (other than the tooltip) for players who join
Don’t reject clients until we determine content when loading a replay
Don’t show “YOU SHOULD DO THE TUTORIAL” popup after you explicitly start the tutorial.
Fix client mods not working until you’ve disconnected from a game.
Update simplified credits dialog
Titan sized scorch mark on death.
Giving the drone carrier a turn_accel of 15
Changed hit effect for missile ship and Vehicle Titan
Removing the Construction and Factory tags from the Ragnarok so it no longer shows up as an idle factory.
Add Titans watermark to landing pages when playing Titans
Disable active content dropdown in settings screen while in game.
Putting the hover ship and heavy bomber in the correct spot on the build bar.
Add updated icons for pc and mac
Units which can attack will no longer try to attack wreckage. units will no longer try to assist ‘friendly’ wreckage.
Adding the fabber unittype to the proxy commander so it follows selection logic like a commander would.
Fix for hover ship’s side guns recoiling when rear gun fires and side guns not having any sound or muzzle flash fx.
Also now uses proper cues for the hover ship weapons.
Fix for PBAOE and unit death weapons not assigning an army index to the damage volume.
Add indicators in the server browser for when a game is a titans game
Bounty mode and continuous build toggle VO.
Update format and display of bounty multiplier. show value in dynamic ally mode.
Changed the VO priority for bounty VO
Adding Unittype_Offense to the nanoswarm so it’s selected with the “select all bots” command.
Updates to strat and build bar for hover ship, orb laser, orb railgun to show correct targeting modifiers. resize destroyer strat icon.
Fix to not wrap the bounty indicator and make it unreadable when ui scaling is set to minimum.
Switch air units to a new “is_moving_laterally” loop func.
Don’t warn about wrong appid if you switched to Classic in settings.
Galactic War Titan cards will now properly interact with the orbital and air titan, and will not show up in Classic PA
Adjust selection ring sizes for several units
Fixed Galactic War not being able to start a battle
Fixed exploit and copy protection

Surprise! Planetary Annihilation just got BIGGER.


We’re announcing and launching the next chapter in the Planetary Annihilation story,
Planetary Annihilation: TITANS!

TITANS takes everything we’ve learned from Planetary Annihilation over the last two years of development and updates plus feedback from our players and combines it into a new RTS experience. It features 21 game-changing combat units including massive Titan-class units, Bounty Hunter Game Mode, new multi-level terrain and planets, asteroid belts, revamped tutorial, and a host of other features and gameplay.

We’ll be giving the game away as a thank you to our 44,000+ Kickstarter backers and we’re giving a huge discount on Steam to anyone else that owns the original Planetary Annihilation.

Get It on Steam

90% off for classic PA owners