This wiki is archived from 2021-09-05

Planetary Annihilation Testing

From Planetary Annihilation: TITANS and Classic PA Wiki
(Redirected from PTE Testing)

Planetary Annihilation Titans & Classic Testing

This is now archived historical content.

Historical Build Streams

There are four build streams:

  • official stable release available via steam and PA launcher
  • official Public Testing Environment (PTE) available via steam and uber launcher
  • mikeyh steam testing branch (pre PTE)
  • mikeyh steam beta branch (big changes)

Testing Build 110080-mikeyh-testing Focus Areas

This is a pre-PTE testing build available via the steam testing branch with code: georgemichaelhamilton

Change version.txt to 110069 to play on stable servers.


  • fixed client crash on case sensitive file systems (eg linux) when XOV Commander is selected
  • fixed client crash when binding virtual textures to skipped CSG with no visible surface area (typically triggered by changing window focus via alt-tab while planets are loading)

The texture binding issue impacts specific maps the result in skipped CSG with no visible surface area and any compound CSG with children. eg metal biomes.

Note: there are some other fixes for client crashes while loading planets that are still a work in progress.

Changing version.txt

Note: Verifying files and updates will reset version.txt to the original build number.


  • right click on Planetary Annihilation Titans in your steam library > properties
  • local files tab > browse local files to open steamapps/common/Planetary Annihilation Titans/
  • on macOS right click on > show package contents > contents/resources/
  • edit version.txt replacing the existing build number with 110069

Public Testing Environment (PTE)

There is no current PTE build. Please try the testing build above.

Please focus on:

  • crashes
  • performance and stability
  • feature testing (see below)

Change version.txt to 110069 to play on stable servers. Only new client side features can be used with stable servers.

Sim features require local or custom PTE servers.

You can use the public local servers mod to host public games on a multi-threaded local server:

Beta Build 106372-mikeyh Focus Areas

This is an older work in progress build available via the steam beta branch with beta code: broadwaysnoopytactile

The new AI build and platoon templates will be added in a future beta update.


  • PIP camera swap across planets could cause orders to be issued on wrong planet

Focus Areas

Please focus on the following scenarios:

  • POV toggle button and menu option
  • initial camera behaviour when opening POV camera first with selecting of commanders
  • planet switching in planet and POV camera (ignore debug / free for now)
    • selecting sun to show celestial
  • camera anchor capture and recall
    • switching planets with top right planets
    • switching planets using keybinds for next planet (,) and previous planet (shift+,)
    • top right planet previews
  • camera anchors in planet and POV camera (ignore debug / free for now)
    • camera anchor capture
    • camera anchor recall
  • combat alerts previews and camera look at clicks
  • notification previews and camera look at clicks
  • control group previews and double click select
  • top right commander selection for players, spectators who were players and always spectators
  • PIP controls between POV and other camera modes (ignore debug / free for now)
    • copy camera
    • swap camera
    • mirror camera
    • follow alerts (not currently supported by POV camera)
    • POV toggle
  • celestial view
    • planet targeting
  • system editor camera

Known Issue

  • camera anchors captured of the POV camera used for jump to planet and planet previews may result in a floating camera:
    • tracked orbital changes planet leaving behind a POV camera in orbital space
    • tracked unit teleports to a different planet leaving behind a POV camera looking at teleporter

Will probably make second click or double click on planet icon switch back to planet camera at orbital zoom.

POV Camera / Spectator Selection

  • improved handling of POV camera before commanders landed
  • improved handling of camera swaps and mirrors
  • added POV camera support for mirroring in PIP
  • added POV camera support zoom out to celestial
  • added POV camera support for zoom tracking
  • added POV camera support camera interaction reports
  • added isTracking and real isMoving to camera interaction reports
  • added tracking support to interaction reports
  • added camera_tracking_death_linger to unit specs defaulting to 10 seconds for commanders, 5 seconds for units with death weapons and 1 second for other units
  • added weapons target tracking


  • changed lookAt to transition out of POV camera (will look at ray trace to nearest unit in a future update)
  • changed, toggleMode, cameraLookAt, setZoom, cameraTrack, cameraTrackNext and alignToPole to use holodeck versions
  • expanded camera_tracking, camera_type, camera_movement and focus_planet_changed payloads
  • converted cameraSetMode, cameraCaptureAnchor, cameraRecallAnchor, cameraLookAt, setZoom, cameraTrack, cameraTrackNext, alignToPole, maybeSetFocusPlanet to specify holodeck (mHolodeck and these were the cause of the state loss eliminating issues like trying to focus when rapidly switching camera modes, mirroring and previews)
  • disabled repair planet camera code
  • changed tracking group to sorted in preparation for possible sorting options
  • fixed y and z offsets not reset to new unit bounds
  • fixed track selection changing tracked unit if still in selection
  • fixed add current selection to tracking group changing tracked unit
  • improved weapons tracking including area or location targeting
  • added build arm tracking
  • added orbital scout and recon pitch adjustment
  • added surface and artillery checks to clamp pitch and prevent looking at sky from underground

Historically the camera API existed before holodecks (PIPs / previews) and is currently based on the current focused holodeck from a JS perspective.

To avoid state and timing issues will be changing the camera API to use holodeck versions.

AI Improvements

  • changed AI unit cap to 1,000 mobile units per planet (reduced from 3,000)
  • added missing AdvancedFighter and Gunboat to unit map
  • influence map, strategic, planet and recon managers are now aware of orbital always visible in Titans
  • orbital transfers now assess threats to determine safest landing location
  • orbital transports now return to base
  • orbital attacks can now prioritise commander snipes
  • influence map now prioritises anti-planet threats like catalysts, halleys and ragnaroks
  • influence map now prioritises enemy teleporter threats
  • optimised base manager on gas giants (no need to evaluate metal spots and build options)
  • improved targeting priorities for naval, orbital, artillery and nukes
  • added metal spot and metal extractor handling for multiple factions


  • land platoons now check for ambipious threats
  • land and naval platoons now support air escorts
  • all platoons now have the option to return to nearest safe base (vs main base)
  • all platoons now request safe paths when returning to base (instead of direct moves over possible threats)
  • all platoons now update target layers and weapons range based on unit composition as units die and platoons merge
  • land, naval, air and orbital platoons now use platoon size to check arrival at destination (should fix large platoons never completing)
  • land, naval, air and orbital merge check is now every 10 seconds (was 30 seconds)
  • non neural network platoons now have targeting priorities
    • artillery
    • naval
    • orbital fighter attack
    • orbital laser attack
  • platoon units moving through a teleporter are now assigned to a new attack platoon with the same squad type (previously they were disbanded into the pool and move to the land rally point which does not work well with mobile teleporters like the Helios and land teleporter networks)

AI Fixes

  • fixed anti-nuke missing from influence map
  • fixed naval not attacking inland targets
  • fixed large stuck platoons
  • fixed orbital not attacking on gas giants
  • fixed platoons not returning to base via safe path

AI Modding Improvements

  • support for mod specific metal extractors ie Legion Expansion
  • server debug mode when --ai-log enabled to dump AI status to logs when pausing or advancing sim by single tick with END key
    • AI pings when --ai-log enabled to show platoon status
  • server debug mode when --ai-debug enabled to dump AI sorted builds, platoons and threat analysis
  • new personality options (optionally override ai_config.json for a specific personality)
    • min_base_radius
    • max_base_radius
    • min_intel_point_spacing
    • max_intel_point_spacing
    • idle_fabber_processing_limit
    • idle_fabber_build_delay
    • idle_fabber_pool_delay

new build conditions

  • BaseHasEmptyMetalSpotFor and CanFindMetalSpotToBuild (support for mod specific metal extractors)
  • UnitCountInMainBase
  • UnitCountOnPlanetPerNumberPlanets
  • GasGiantWithoutPresence
  • SafeGasGiantWithoutPresence
  • HasGasGiant
  • StartingPlanetCount
  • PlanetCircumference
  • IsMainBase
  • CanAttackWithPoolUnitsNaval
  • CanAttackWithPoolUnitsOrbital
  • DistFromNearestEnemyBase
  • DistFromLandRallyPoint
  • DistFromNavalRallyPoint
  • DistFromOrbitalRallyPoint
  • PlanetLandEstimate
  • PlanetDeepWaterEstimate
  • PlanetHoverEstimate
  • PlanetLavaEstimate
  • PlanetLandReachableEstimate
  • PlanetHoverReachableEstimate
  • PlanetDeepWaterReachableEstimate
  • BaseHasStructureTeleporter
  • PlanetLandEstimate
  • PlanetDeepWaterEstimate
  • PlanetHoverEstimate
  • PlanetLavaEstimate
  • PlanetLandReachableEstimate
  • PlanetHoverReachableEstimate
  • PlanetDeepWaterReachableEstimate
  • BasePossiblyOnIsland
  • BasePossiblyInPond
  • BasePossiblyInLake
  • BasePossiblyLandContained
  • BaseLandReachableEstimate
  • BaseHoverReachableEstimate
  • BaseDeepWaterReachableEstimate
  • AllMetalSpotsFullBasic
  • AllMetalSpotsFullAdvanced

new platoon task types

  • OrbitalFabberMoveToGasGiant
  • OrbitalFabberMoveToSafeGasGiant
  • TransferOrbitalAttackToPlanet
  • TransferOrbitalCommanderAttackToPlanet
  • TeleportLandOnPlanet
  • new platoon options
    • target_priorities

Private Build 105520-mikeyh Focus Areas

This is the work in progress private build.

Still In Progress

POV Camera

  • support for tracking in camera anchor capture and recall
  • improve camera transition for POV by switching to overhead around planet and between planets


  • finish conversion of camera APIs to holodeck
  • finish conversion of events to holodeck specific eg idle unit counts


  • planet selector

Dynamic Alliances

  • vision fix for enemies with a common ally

Unshared Team Armies

  • review vision handling of defeated players

System Editor

  • equator checks to restore metal spots on equator line when symmetry is enabled

Unit vs Fabber Selection

  • alt key to switch rule from highest unit count to lowest unit count in drag area

Galactic War

  • improve exploring (see Galactic War Explorer mod for testing)

AI Improvements

  • improved gas giant expansion
  • fixed orbital attack behaviour on gas giants
  • fixed AI not seeing anti-nukes
  • fixed AI not seeing anti-air of weapons target any other layer eg colonel, zeus, etc
  • improved AI use of existing bases with check before creating new bases
  • rushes anti-nukes and missiles based on system wide nuke threat
  • orbital teleporters are now used
  • fixed AI alone on planet for gas giants

Minor Improvements (currently patched via community mods)

  • added view replays for uberbar contacts
  • added support for searching replays by another uberId based on uberId and displayName URL parameters in replay browser


  • new unit types
    • UNITTYPE_Custom5
    • UNITTYPE_Vanilla


AI Improvements

  • selectable commanders

Alternative Win Conditions / Game Modes

  • dynamic alliances with AI
  • backstabbing AI

Use Enemy Teleporter

  • do not auto attack the teleporters in use

Community Maps

URL Handling

  • join game
  • spectate game
  • watch replay


  • rich presence support

System Editor

  • map wreckage that is reclaimable and blocks pathing with cost stamps eg unit cannon wreckage
  • CSG parameters editor
  • grid to help with layout
  • undeletable metal spots no longer on surface after deleting CSG
  • undo / redo stack



  • documentation and examples

Multiplayer Galactic War

  • multiplayer lobby
  • multiplayer saves

Support for mods like:

Community Mods Updates

2017-03-22 Mod caching and backups
2017-03-19 Mod info
2017-03-15 Unit Restrictions / Unit Selector

Offline mode Detection of conflicting server mods

2017-10-17 AI Improvements
2017-11-25 1v1 Rank Display Improvements
2017-11-26 Galactic War Exploring Improvements
2017-12-04 Unit Restrictions Improvements
2017-12-27 Game Server Browser Sorting Improvements
2018-04-22 Replay Browsing Improvements (show winner)

108271 Balance and Community Servers Update

Build 108271 was released in November 2017.

Balance Changes

Install the balance changes mod for these changes:


  • 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


  • increased Leveller build cost to 800 from 600
  • decreased Leveller turn rate to 50 from 60


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

Titans vs Classic PA

  • Titans Leveller 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

These following changes are playable on the Community Dedicated Server:

Fixes / Tweaks

  • 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


  • 105139 fixed missing selection_icon_diameter for classic vehicle fabber
  • 107544 fixed missing selection_icon_diameter for classic tactical missile bot (bluehawk)

Community Servers

  • fixed players setting sim speed on custom servers
  • added community servers beacon
  • added support for 32 players with 16 alliances
  • added command line option --gameover-timeout
  • added command line option --community-servers-url
  • added command line option --community-server-public-host
  • added 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

105067 Enhancement Update Changes

Build 105067 was released in June 2017.

16 new free commanders.

POV Camera Mode, Spectator Selection, Holodeck Improvements

  • enabled control groups for spectators
  • enabled select units matching for spectators
  • enabled selection after game while reviewing
  • added check to toggle off POV camera with which is location based
  • added POV camera menu option to toggle between planet and POV camera
    • if nothing selected for player auto selects and tracks commander
    • if nothing selected for always spectators then auto selects and tracks all commanders
  • top left players for always spectators now auto selects and tracks commander

Default key bindings from settings > keyboard > camera:

ctrl-shift-m toggle POV camera
t track current selection as new tracking group
shift+t add current selection to current tracking group
alt+t show next unit in tracking group

Based on free camera key bindings (shift to speed up):

i / k pitch forward / back
j / l yaw left / right
r / f up / down
a / d increase / decrease follow rate
w / s / scroll zoom in / out

Grab camera:

  • middle mouse


Alternative Win Conditions

  • added sudden death for teams (protect your weakest player)
  • restored dynamic alliance victory options (shared victory or backstabbing)

Sim Speed Control for Local Servers

  • added sim speed control for local servers with key bindings

AI Improvements

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


  • changed GUI scale to a select list with live updates and new options for 125%, 150%, 175% and 200% to support 4K / 5K displays (replaces 4K GUI Scale mod)
  • added hover info when spectating for metal spots, reclaimable and burnable features
  • changed label for dynamic alliances eco sharing from RESC to SHARE ECO
  • added social notifications when uberbar hidden (already patched by community chat)


  • fixed black screen joining game over state
  • fixed broken classic galactic war saves with missing combined unit_list.json and .player spec tags
  • changed handling of look at player for spectators to use units


  • 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
  • added display_name to features like trees and metal spots
  • added location and expanded feature info to hover payload:
    • display_name
    • location
    • spec_id
    • is_metal_spot
    • is_control_point
    • is_reclaimable
    • is_burnable
    • burnable
    • reclaimable
    • damageable
    • burning
    • burned
  • added optional display of x, y, z location to live_game_hover for debugging maps and AI... enable with model.showLocation(true)
  • fixed duplicate units in Titans unit_list.json

99377 Performance Update Changes

Build 99337 was released in November 2016.

New / Improved

Local Server multi-threading across planets and AIs (sorian)

  • multi-threaded for nav and physics across planets (no impact on single planet)
  • multi-threaded per AI
  • multi-threaded copy history
  • enable in settings > server or --mt-enabled when starting server manually
  • needs lots of testing

LZ4 compression for server mods (mikeyh)

  • 50% saving / 2x faster loading for legion expansion
  • works only on new servers ie not current stable uber servers
  • changes replay version so local saves with this build can only be loaded by this or newer builds


  • multi-threaded per AI (sorian)
  • added support for exponential linear units (ELU) activation functions (sorian)
  • changed neural networks to use new ELU activation function for hidden layers (sorian)
  • retrained neural networks (sorian)
  • removed ಠ_ಠ which would not display (sorian)
  • added (AI) suffix to AI player names to reduce AI baiting in new games (mikeyh)


  • improved planet wide area patrol (sorian)
  • improved history server updates (sorian)
  • improved pathing to help avoid stuck units in a group (sorian)
  • improved filtering of patrol, auto repair and anti-entity targeting (sorian)
  • improved validation of AABBs in BVH tree (sorian)
  • added defeated status and AI personality to army replay info (mikeyh)


  • added sim performance % to live game UI next to game time in live game options bar (mikeyh)
  • added gNoMods to startupJS for better handling of --nomods by community mods (mikeyh)
  • added cores, memory, nomods, fmod_version, opengl_version, opengl_renderer and opengl_sharder_version to getSetupInfo (mikeyh)
  • added cores, memory, nomods and setupInfo to start scene (mikeyh)
  • added socket connect timeout of 5 seconds (mikeyh)
  • changed engine retries to 2 with more retries in UI where feedback can be shown (mikeyh)
  • added cancel button while connecting to server (mikeyh)
  • added 15 connection attempts with retry delay of 10 seconds when loading local saved games (mikeyh)
  • added 2 second delay when connecting to a new local server to reduce first time fails while server is still starting (mikeyh)
  • added cancel to join game after waiting 10 seconds (mikeyh)

System Editor (mikeyh)

  • added planet selector with sun zoom to celestial (no more accidentally changing orbits trying to select a planet)
  • added camera location
  • added mouse location (ray test to surface)
  • added display of delete key bindings when editing metal spots and landing zones
  • added landing zone rules editor with camera zoom support when selected
  • added clickable CSG command bar showing key binding when CSG selected
  • added checkboxes for pathable, mergeable, no features and flooded for selected CSG
  • added JSON display of selected CSG (temporary until full parameter editing is finished)
  • added ESC binding to release grabbed CSG and undo any move
  • added landing zone size
  • added thrusters required for attack
  • added resize handling when editing controls section overflows screen height eg long landing zone lists
  • disabled advanced edit mode changes while planets are building
  • changed advanced edit of no preview placeholder to convert with no CSG, metal spots or landing zones
  • changed advanced edit of terrain preview to convert CSG only with no metal spots or landing zones
  • removed advanced edit preview options (not needed as always full preview)
  • removed preloading of planet templates



  • possibly fixed AMD green planets (pinbender)
  • fixed sound issues with missing music and voiceovers with update to FMOD 4.44.64 (mikeyh)
  • fixed bounty claimed by ally voice over in nuclear missile ready group (mikeyh)
  • fixed missing build bar images for Enderstryke71 and Nefelpitou commanders (mikeyh)
  • fixed player guides not scrolling (mikeyh)
  • fixed lobbyId not saved in matchmaking (patched by community mods)
  • fixed rejoinGame not setting mods, etc due to inconsistent use of lobbId vs lobby_id (patched by community mods)
  • fixed broken systems when not initialised correctly with default value of empty array by ko db extender (patched by community mods)
  • fixed incorrect economy rate when new player joins an empty slot cleared by another player leaving / kicked / spectating (or an AI removed) that was an economy rate not 1.0 (mikeyh)
  • fixed lost CSG in system editor due to empty brushes in planet_csg message (mikeyh)
  • fixed lost CSG in system editor when changing planets (mikeyh)
  • fixed lost advanced edits in system editor due to events not firing (mikeyh)
  • fixed resolution scaling not set in system editor causing incorrect air zoom calculation (mikeyh)
  • fixed unnecessary rebuilding in system editor when changing planet (mikeyh)
  • fixed metal spots disappearing in system editor when finished editing due to invalid placement (mikeyh)
  • fixed corrupt sound file in anti-air (mikeyh)
  • fixed long timeouts with many retries when connecting to non existent or stealth blocked servers (mikeyh)
  • fixed loading of big saved games (mikeyh)
  • fixed outdated steam runtime incorrectly included in linux steam distribution (mikeyh)
  • fixed empty space at bottom of system editor when logged in (mikeyh)
  • fixed revert to standard mode while advanced editing with zero CSG, metal spots and landing zones (mikeyh)
  • fixed remote saved games not showing last saved time and incorrectly sorting to bottom of saved games list (mikeyh)
  • fixed minor scroll overflow in frame for player guide article (mikeyh)
  • fixed --nomods handling using new gNoMods in connect to game, new game and replay loading (mikeyh)
  • fixed never returning for invalid lobbyId (mikeyh)


  • fixed playback rate of replays (sorian)
  • fixed burnables attempting to burn when already incinerated on same tick (sorian)
  • fixed agent looking at wrong move type value when determining if it should just steer towards its slot position (sorian)
  • fixed formation looking at wrong move type value when determining grid and cushion size (sorian)
  • fixed group moving an agents goal to its slot position when the slot position is not valid (sorian)
  • fixed agent steering logic for when to use group slot position vs own path (sorian)
  • fixed multi-threading issue in CSG generation (sorian)
  • fixed multi-threading issue in collision geometry BVH tree (sorian)
  • fixed retired entries mutating sim history (sorian)
  • fixed walk issue in CSG generation (sorian)
  • fixed failing to parse unit type expression if one of the units types returns empty (sorian)