This wiki is archived from 2021-09-05

Planetary Annihilation Maps

From Planetary Annihilation: TITANS and Classic PA Wiki
Jump to navigation Jump to search

Planetary Annihilation Titans & Classic Maps

System (map) pas files are JSON.

System / Map

name mandatory string there is currently no unique identifier for maps
players optional array of two numbers [minPlayers,maxPlayers] where minPlayers is normally set to number of starting planets so that no player starts alone)
creator mandatory string system sharing
description optional string system sharing
version optional string system sharing
planets mandatory array of planets
{
    "name": "Name",
    "creator": "palobby.com",
    "version": "1",
    "description" : "Description",
    "planets": [...]
}

In the future a unique identifier similar to mods will be added.

Planets

name mandatory string there is currently no unique identifier for planets
mass mandatory integer
position_x mandatory float
position_y mandatory float
velocity_x mandatory float
velocity_y mandatory float
required_thrust_to_move mandatory number 0 or number of halleys required to move planet
starting_planet mandatory boolean
planet mandatory object planet spec for procedural generator
landing_zones optional array of landing zone objects
metal_spots optional array of [x, y, z] locations
planetCSG optional array of CSG objects

planet (spec)

planetCSG

landing_zones

list mandatory array of [x,y,z] array of locations
rules mandatory array of landing zone rule objects for each location

landing_zone rules

min mandatory number minimum number of armies to enable this location
max mandatory number maximum number of armies to enable this location

Example with 6 landing zones around equator and poles.

"landing_zones":
{
    "list":
    [
        [800, 0, 0],
        [-800, 0, 0],
        [0, 800, 0],
        [0, -800, 0],
        [0, 0, 800],
        [0, 0, -800]
    ],
    "rules":
    [
        {
            "min": 2,
            "max": 6
        },
        {
            "min": 2,
            "max": 6
        },
        {
            "min": 3,
            "max": 6
        },
        {
            "min": 3,
            "max": 6,
        },
        {
            "min": 3,
            "max": 6
        },
        {
            "min": 3,
            "max": 6
        }
    ]
}

The first two landing zones are available for 1v1 on opposite sides. Remaining four landing zones are available with 3 or more players.

Landing Zone Allocation

If there are not enough landing zones for the number of armies then random landing zones will be created.

ie make sure min and max are correct so that lobby highlighting works if there are too many armies.

Landing zones are currently allocated to armies in army / landing zone order.

ie the first available landing zone will be allocated to the first army in slot 1, 2 to 2, 3 to 3, etc.

Shared teams are considered a single army so will be allocated identically to FFA.

ie 2v2 shared is created as 2 armies with 4 players.

Unshared Team Armies

Unshared team armies are currently an issue for map makers.

ie 2v2 unshared is created as 4 armies.

Until scenarios are implemented the current recommendation is a separate version of maps for unshared team armies.

Map Pack Client Mods

https://forums.uberent.com/threads/rel-client-system-sharing-v2-for-titans-classic.69117/