# pysc2-agents
**Repository Path**: nidao/pysc2-agents
## Basic Information
- **Project Name**: pysc2-agents
- **Description**: This is a simple implementation of DeepMind's PySC2 RL agents.
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-04-25
- **Last Updated**: 2024-12-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PySC2 agents
This is a simple implementation of DeepMind's PySC2 RL agents. In this project, the agents are defined according to the original [paper](https://deepmind.com/documents/110/sc2le.pdf), which use all feature maps and structured information to predict both actions and arguments via an A3C algorithm.
## Requirements
- PySC2 is a learning environment of StarCraft II provided by DeepMind. It provides an interface for RL agents to interact with StarCraft II, getting observations and sending actions. You can follow the tutorial in [PySC2 repo](https://github.com/deepmind/pysc2) to install it.
```shell
pip install s2clientprotocol==1.1
pip install pysc2==1.1
```
- Python packages might miss: tensorflow and absl-py. If `pip` is set up on your system, it can be easily installed by running
```shell
pip install absl-py
pip install tensorflow-gpu
```
## Getting Started
Clone this repo:
```shell
git clone https://github.com/xhujoy/pysc2-agents
cd pysc2-agents
```
### Testing
- Download the pretrained model from [here](https://drive.google.com/open?id=0B6TLO16TqWxpUjRsWWdsSEU3dFE) and extract them to `./snapshot/`.
- Test the pretrained model:
```shell
python -m main --map=MoveToBeacon --training=False
```
- You will get the following results for different maps.
|
MoveToBeacon |
CollectMineralShards |
DefeatRoaches |
Mean Score |
~25 |
~62 |
~87 |
Max Score |
31 |
97 |
371 |
### Training
Train a model by yourself:
```shell
python -m main --map=MoveToBeacon
```
### Notations
- Different from the original A3C algorithm, we replace the policy penalty term with epsilon greedy exploration.
- When train a model by yourself, you'd better to run several times and choose the best one. If you get better results than ours, it's grateful to share with us.
*Licensed under The MIT License.*