Please notice that:

~~~
- Our work is on the basis of pymarl and on-policy-main.
- To run QMIX, QPLEX, OW-QMIX, please install StarCraftII and move to home directory, download the maps, and create virtual python environments with pip packages according to the instructions within pymarl first.
- To run MAPPO, install on-policy-main and corresponding python packages first.
- To run SMACv2 envrionment, please download the 32*32 map first and adjust the map duplication checking in pysc2.
~~~

To run an experiment from pymarl (MACPF can be downloaded from official GitHub site)

~~~
python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z

The config files act as defaults for an algorithm or environment. 

They are all located in src/config.
--config refers to the config files in src/config/algs
--env-config refers to the config files in src/config/envs
Other setting within the config files can be ajusted.
~~~

To run an experiment from on-policy-main

~~~
- Enter the folder of 'train_XXX_scrips'.
- Give execution rights to X.sh files.
- Change the settings in the X.sh files and run.
- TensorboardX or Wandb is needed.
~~~

Example Scripts

~~~
- CUDA_VISIBLE_DEVICES=[0] python src/main.py --config=[1] --env-config=[2] with env_args.map_name=[3]
- [0] GPU index
- [1] algorithm
- [2] environment
- [3] map name of the environment

i.e.
CUDA_VISIBLE_DEVICES=0 python src/main.py --config=qplex --env-config=sc2_gen_protoss with env_args.map_name=10gen_protoss seed=10000 name=qplex dyn_td_lambda=False use_weight=False buffer_cpu_only=True use_wandb=True  env_args.capability_config.n_units=20 env_args.capability_config.n_enemies=20

~~~

