Skip to content

Rowy Maps fields legend

Marek Rusinowski edited this page Aug 31, 2024 · 5 revisions

This page is a documentation for all the fields in the BAR Maps Rowy table at https://rowy.beyondallreason.dev/.

Spring Name

The static unique reference for the map, usually created by {name} {version}. This field must be set. This field also needs to be unique on the list.

Display Name

Pretty name for the map to show e.g. on the website. It's automatically derieved from Spring Name on first entry, but it can be edited to whatever other value later.

Parsed

Automatically generated field idicating whatever the map parsed succesfully or not. This field is live interactively updates after you modify the "Spring Name" field

Thumb

Automatically generated thumbnail of the map from the map texture.

Dimensions

Automatically extracted map dimensions.

DL

Automatically generated download link to the map file in CDN.

Terrain

A tag describing the properties of the map. Check how it's used on the website: https://www.beyondallreason.info/maps

Tittle

This is a separate Title / Tagline for the map. For example use "Fight among the big Fjords" or "Heated skirmishes in the red sand". Something short and catchy. See it's usage e.g. on https://www.beyondallreason.info/map/all-that-glitters

Description

Give the map a short paragraph or two of description. Something about the unique bits/mechanics, or general favoured playstyle. Maybe an additional tip/hint.

Author

Name of the author of the map.

Game Type

What are the supported game types for the map: 1v1, ffa, team, or pve.

Team Count

What is the optimal team count for the map.

Player Count

What is the maximum number of players that can comfortably fit in the map. In almost all except FFA cases it's related to the team count.

Startboxes

Subtable with configuration of the startboxes for the map. There can't be more then one configuration for the given team count.

Teams

Automaticaly filled in column based on number of configured startboxes.

Startboxes

Graphical editor for the given startbox configuration. Remember to click save button when leaving the editor to save changes so they are not discarded.

Max Players Per Starbox

How many player fit in every individual startbox. This value times number of startboxes is then compared to the top "Player Count" to verify that fields are set correctly.

Certified

Whatever the map is BAR certified, or should show up as classic. All new maps should be marked as certified.

Special

Some special property of the map. Not sure (?) if it has any semantic meaning at the moment, it was defined in Chobby.

Photo

Top down shot of the map in-game and as flat as possible / use as low as FOV as possible. A good way to do this is to use the (TAB on default-keys / CTRL-T on grid-keys) + Make sure to try and align your image as close as possible to your minimap/texture - so the metal spots line-up.

Important details:

  • Always use Hide UI for all shots (F5 on default-keys / CTRL-F7 on grid-keys)
  • If needed, tweak fog settings in settings "Dev" Tab - if zoomed out shot is too foggy.
  • Increase feature draw distances to as high as possible (can be done with /featuredrawdistance 300000 and /featurefadedistance 300000)
  • you can change the maxheight of the camera with /OverheadMaxHeightFactor 3 (3x more range)

One way to actually get the shot:

  1. Open map in skirmish, remove all AIs and move yourself to the spectator
  2. Remove all startboxes
  3. Start the game
  4. Adjust the view and tweak it according to the points above
  5. Make screenshot with F12

Min width/height: 1024px.

TMD

You can upload your World Machine TMD file there instead of including it into the map file to reduce map file size.

Sync To Repo

Button to click to create a PR in this maps-metadata repo with changes for this single map.

Background image

Should be a nice overall view of the map - preferably with DOF widget enabled, so it works well as an background image Min width 1920px

Perspective photo

Shot with normal FOV (30-40). It should be a transparent PNG - Use a tool like Photoshop, or Remove.bg (turn of map edge extension for best results). Not a too low angle, you should get a nice overview of the map.

Min width: 1440px.

In Game Shots

Should be cool/interesting/unique details of the map. Don't overload it with too many similar shots. Some units in shots are okay, as this can help convey scale.

Min width: 1920px.

Map Lists

A multi selection to pick to what map lists the map will belong to. The map lists are used e.g. as selection for rotation lobbies via e.g !rotationtype map;popular16p.

StartPos

Configuration for start positions, at the moment used exclusively for the start positions suggestions widget (ffa startpos e.g. are still in game repo). The entry into this field is in JSON format, it doesn't have in-Rowy build UI like startboxes do.

Configuration

Example configuration looks like:

{
  "positions": {
    "A": { "x": 100, "y": 100 },
    "B": { "x": 200, "y": 441 },
    "C": { "x": 234, "y": 923 },
    "D": { "x": 853, "y": 748 },
    "E": { "x": 843, "y": 757 }
  },
  "team": [
    {
      "playersPerTeam": 2,
      "teamCount": 2,
      "sides": [
        {
          "starts": [
            { "spawnPoint": "A", "role": "air" },
            { "spawnPoint": "B", "role": "front", "baseCenter": "E" }
          ]
        },
        {
          "starts": [
            { "spawnPoint": "C", "role": "air/front" },
            { "spawnPoint": "D", "role": "front" }
          ]
        }
      ]
    }
  ]
}
  • positions is mapping from positions names to their locations on the map (the name can contain digits, letters, space, or one of _.-)

    To help fill this in, there is a small helper tool: https://files.p2004a.com/startpos-editor/. It allows to graphically place points on the map texture and export JSON. It can also import JSON so can be used for modifications.

  • team is a list of configurations, each configuration is for some number of teams and players.

    • There must be teamCount enries in sides array, each with playersPerTeam places.
    • Each point references the position from the positions mapping, can have optional baseCenter to which the arrow is drawn to indicate that player should actually build base there.
    • Each point can have also role defined, you can find the current valid list of roles defined in https://github.com/beyond-all-reason/maps-metadata/blob/main/map_list.schema.yaml (e.g. search for air/front)

Once everything is filled in, and you clicked "Sync To Repo" (see above), make sure that the tests on the open pull requests are passing as there is additional validation of configuration.

Testing

Once you have the JSON config, you can test it inside the game, in skirmish:

  1. Use https://files.p2004a.com/encode_startpos.html to encode it into modoption value
  2. Make sure that Settings->Developer->Show Hidden Modoptions is checked
  3. Open skirmish, select map
  4. Set modoption value in Adv Options->MapMetadata->Map Metadata startpos
  5. Fill in the game with bots until you have the configuration you want to test

References

Feature design, Discord thread

StartPos Active

Whatever the start positions configuration from previous step is actually active, allows to quickly disable broken configs without completely removing data.