Adaptive Maps

From FA Forever Wiki
Jump to: navigation, search

Adaptive maps, next level map creation (sic)

Without these maps it was common practice to upload multiple version of the same map, only to change/add some resources (e.g. Canis 4v4, Canis 5v5,...). That belongs to the past now. Thanks to the adaptive map script by CookieNoob and KeyBlue (modified by svenni_badbwoi), several similar versions of a map can be combined into a single map. Therefore advanced map settings become available that allow you to adjust the map itself and how it will play out directly from the game lobby. The purpose of the adaptive map series is a customizable map experience. It allows you e.g. to adapt the given map resources to the player count (Dynamic Spawn Of Resources) and to add/remove resources as well as units/wrecks.

Depending on the map up to 16 player are supported, keep in mind that the map can be played with any player count. From 1v1 to 8v8 any matchup is possible. However, due to the map size and the available space, it is not recommended to use all available slots on all maps. The amount of spawn points allows for more flexibility on where the teams are located and thus you can even play some maps from completely different (and unusual) directions (i.e. Adaptive Wonder Open or Adaptive Sand Box in a top right vs bottom left match instead of top left vs bottom right).

If you intended to play a 4v4, but 10 people are in the game lobby, just open more slots and the resources will automatically adapt to 5v5. You don't need to switch the map to a larger version anymor

top left: advanced options in the game lobby, bottom left: 2v3 on canis ultimate, the top team has an empty starting location, since the mirror is taken; middle: example for optional reclaim; top right: zeta wonder in 1v1 and 8v8 configuration; top right(2): adjustable number of mex in the corner of wonder open; bottom right: hilly plateau with additional spawns; bottom right(2): wonder open in a 2v2 configutation

Adaptive map features

All features are optional and can be adjusted in the "Advanced" part of the game options (scroll down). By hiding unchanged game options you can see the changes on the map options most easily (the small checkbox below the map preview).

Advanced options.png

Lobby features

Use "close" to remove the resources for that spot (if a spot is not used, the ressources wont spawn, it isnt required to close the spot as well). Use "close - spawn mex" to spawn the resources on empty spots (and their mirrors).

Close spawn mex.png

NOTE: If you like to play random spawn and if the number of player is less than the possible spawn points, close the remaining slots.


Resource features

Dynamic Spawn Of Resources

Determine which mexes & hydros should be spawned.

mirror slots: Spawn resources for player & mirror slot (balanced resources).

used slots: Only spawn resources for player on used slots (unbalanced resources).

no mirror = no resources: Only spawn resources if mirror slot is also occupied by a player (not recommended, but it can make uneven matches fairer).

XvX setup: Don't adjust for player & spawn resources for XvX.


Crazyrush

Activate different types of crazyrush* for the spawned mexes. *Building a mex on a mass point will always create new adjacent mass points to build on.

crazyrush forward mexes: Activate crazyrush only for the some mexes. All other mexes will behave normally.

crazyrush 1 core mex: Activate crazyrush & spawn only 1 core mex per active slot (the mex need to be bound to ARMY_X).

crazyrush: Activate crazyrush for all spawned mexes.


Regrowing Trees

Regrow reclaimed/destroyed trees when other trees are nearby. Regrow is faster if more trees are close. Note that the performance of this option heavily depends on the amount of trees on the map.


Natural Reclaim Values

Change mass & energy values of rock & tree props.


Scale resources

Extra Hydros

Spawn additional hydros.


Extra Mexes

Spawn additional mexes.


Middle Mexes

Configure the amount of mexes at the middle of the map.


Side Mexes

Configure the amount of mexes at the sides of the map.


Underwater Mexes

Configure the amount of underwater mexes.


Island Mexes

Configure the amount of mexes at the island.


Expansion Mexes

Configure the amount of mexes at the expansion.


Scale base resources

Core Mexes

Spawn e.g. 3 or 4 core mexes.


Extra Base Mexes

Spawns additional mexes for each player in the starting base (further away from core mexes).


Scale intentional uneven resources

This functionality is used on Wonder Open to determine the amount of mexes in the corners seperately. It is possible to add a warning message at the start of the game, when the map is unbalanced due to this (i.e. the teams are distributed such that the corner with more mex is easier reachable for one team. This requires a little bit of coding (most of this code is already prepared and just needs to be slightly adjusted).

Top Side Mexes

Adjust the number of mexes in the middle of the side spots on the top side.

Bottom Side Mexes

Adjust the number of mexes in the middle of the side spots on the bottom side.


Unit features

Add the desired groups to ARMY_17 and add units. The group names need to be identical in the editor (save.lua) and script.lua file.

Wreckage

Scale amount of unit wrecks (e.g. T1 wrecks, T2 wrecks, T3 wrecks and T4 wreck).


Naval Wreckage

Scale amount of naval unit wrecks (e.g. T1 wrecks, T2 wrecks, T3 wrecks and T4 wreck).


Middle Wreckage

Scale amount of unit wrecks in the middle of the map.


Faction Wreckage

Add wrecks to the desired position of the map. The faction of these wrecks is dependent on the faction of the player close by. There is a preset to spawn either UEF or Cybran unit wrecks which can be easily adjusted.


Civilian Base

Spawn civilian base at the desired position of the map (e.g. disabled, wreckage or operational).


Civilian Defenses

Spawn civilian defenses at the desired position of the map (e.g. disabled, T1 wrecks (PD+AA), T2 wrecks (PD+TMD), T3 wrecks (PD+AA), T1 operational (PD+AA), T2 operational (PD+TMD), T3 operational (PD+AA)).


Jamming

Add Seraphim jamming crystals to the desired position of the map, to create false radar signals.


Expand Map Area

Start the map not entirely expanded, but reduced to a certain size (you need to define two areas in the editor, one for the inital size and one for the final size). The option determines how long the playable area is restricted. The map area expands if a certain criterium is met (e.g. time passed, percentage of mexes build). There is a function prepared to expand the map automatically at the start of the game if a player spawns in the restricted area (this requires you to uncomment the code in the expand map part of the script and adjust the player numbers, depending on which army is actually outside of the initial playing area).



How to make an adaptive map

To create an adaptive map you can either use the FAF map editor (the adaptive map files are available as a preset option) or download them directly from the github repository. Adaptive map files: https://github.com/CookieNoob/Adaptive-Maps-forged-alliance

As a starting point, it is highly recommended that you watch the tutorial video which presents a step by step manual how to create an adaptive map. Youtube tutorial: https://www.youtube.com/watch?v=VVxEhCuc53g&feature=youtu.be

If you need more help you can post in the adaptive map forum topic. Forum thread: http://forums.faforever.com/viewtopic.php?f=53&t=13014 or alternatively: - ask CookieNoob (Author of the adaptive map script) - ask svenni_badbwoi (rewrote parts of the script to make it easier to understand) - ask Blue_Owl (made a few adaptive maps)

While filling the table file is easy with the FAF editor, not all changes can be directly done from there. You still have to add/change the following files to make your map adaptive.


_scenario.lua

Add "AdaptiveMap = true," to the file. The original editor will delete the line when saving, make sure to add it again. This will enable the "close - spawn mex" option in the lobby (additionally to the normal "close slot"). Don't forget to add "NEUTRAL_CIVILIAN" as army to the scenario file (even if you don't add civilians), they are required by the phantom-X mod for the meteor function. If you use the adaptive map files, please credit the author in you map description.

Scenario.png

NOTE: The name depends on map status!

The test version of your map should be called "Map Name Ultimate".

When the desired features are implemented and no known bugs remain, re-upload the release/final version of the map under the name "Adaptive Map Name" and ask a moderator (or someone from the Map and Mod team) to hide your old version of the map in the vault.

NOTE: Organise your armys in such a way that ARMY_2 is the mirror/enemy of ARMY_1. Otherwise you have to change the script.lua file.

_table.lua

Enter the desired mex/hydro numbers to the according ARMY and/or feature. Also enter the value for the maximum number of slots on the map (maxPlayerOnMap). You have to do it manually if you use the original editor, but you can easily fill the tables with the FAF editor.

Table.png


_options.lua

Adapt the text to explain your features and set the default key. There are several prototype options in the bottom part of the file which are ready to use. These options are already implemented and will work directly by filling out the appropriate table. If you want to use one of these options, move them in the part of the file which is not commented out.

Options.png


_script.lua

At the top of the file are the defaut key values of the options. The default is set in a way that nothing should break, but most likely you want to choose a different default value for some options. Change the defaults to match the option.lua default keys. The script also needs the path for the tables file to be set appropriately (also on the top of the file).

Script.png


map editor

In order to make the wreckages and civilians adjustable, you have to create unit groups in the editor. They should be named in the same way as in the script (or adjust the names in the script).

ARMY 17 Adaptive unit groups.png