Multi-agent Combat Arena (MaCA) is a heterogeneous multi-agent distributed decision and control technology reasearch platform produced by CETC-TFAI team. It focuses on the application of AI technologies e.g. reinforcement learning in multi-agent cooperation and confrontation
- Linux 64-bit or Mac OS with Python 3.6
- numpy 1.14.2 or later
- pygame 1.9.3 or later
There is no limitation on agents' structure. You can write rule-based algorithms or use deep learning frameworks.
pip install -U numpy pandas pygame
git clone https://github.com/CETC-TFAI/MaCA.git
cd MaCA
export PYTHONPATH=$(pwd)/environment:$PYTHONPATH
fight_mp.py can execute two agents. It uses two instances of a fixed-rule agent to fight each other by default.
python fight_mp.py
You can specify agents and map by input arguments. In addition an agent should provide a call interface follows the MaCa platform specification.
MaCa can record runtime log while playing and training. Use replay.py to perform a replay.
First, run fight_mp.py and enable log record function
python fight_mp.py --log
Then, run replay.py to replay the log
python replay.py fix_rule_vs_fix_rule
The log structure of MaCA is a set of .macalog files, they will be saved in path "log/log-name/". When you run the replay.py, You must input a "log-name" as the parameter to specify which log you want to replay.
For more information, see tutorial