Skip to main content

A package for StarCraft2 Micro-Management.

Project description

SCMM StarCraft II Micro Management

Installing StarCraft II

You can find lastest verson of StarCraft II at here

After installing the game, navigate to installing_path/StarCraft II/Maps and move a copy of all the maps in SCMM there.

If Maps folder does not exist, then manually create one

Installing SCMM

Two ways:

  1. You can directly clone the repo:

     git clone https://github.com/caiyangcy/SC2DC.git
    
  2. Use pip install:

     pip install SC2MM
    

Maps

  • You can find a list of maps here

Alternatively, you can run:

python -m scmm.bin.map_list

View a Map

All the maps can be viewed by StarCraft II Editor

Change a Map

The terrain and functionality of a map can be changed by StarCraft II Editor

Create a Map

Create a map using StarCraft II Editor. After creation, make sure add the map to scmm/env/micro_env/maps/mm_maps.py and also make sure the map is added to the game folder

Create an unit

The most important thing when creating units on a new map is to disable some reactions of them.

To do this (taken from SMAC):

    Open editor, data editor, unit tab

    Right click and click add new unit

    Name the new unit, click suggest right below it

    Leave the "parent:" row alone. That determines what we're making. We want to make a unit

    Select the unit you want to copy (bottom of the new opened window, "copy from" row) e.g. zealot if you're copying zealot

    Set the "Object family:," "Race:," and "Object Type:" as desired. THESE DO NOTHING but make it easier for you to find your new unit once it's made. e.g. you probably want a new zerg unit to be in the zerg section when you go to place it on your map or something.

    Press okay, you're almost done

    Click the plus sign on the data editor tabs, go to edit actor data, actors

    Click the new actors tab

    Right click and click add new actor

    Name it and click suggest like before

    Change the "Actor Type:" row to unit

    Select what you want to copy from (bottom of the new opened window again) e.g. zealot if you're coping a zealot

    Press okay

    Click on your new actor

    At the bottom right of the window where it says "Token" and then "Unit Name," change the unit name to the name of your unit e.g. Zealot RL

    Go back to the Unit tab, find the new unit and modify the following fields:

        (Basic) Stats: Supplies - 0
        Combat: Default Acquire Level - Passive
        Behaviour: Response - No Response

Unit Tester Map

A unit tester map can be found at unit tester map folder. Source at *unit-tester.

The purpose of this map is to help design some new scenarios.

Run

Refer to the names of agents to find out the details of running agents.

Scripted

python -m scmm.agents.scripted.agent_demo -n_episode=10 -map_name=3m -difficulty=7 -plot_level=0 -agent=FocusFire

Genetic

python -m scmm.agents.genetic.ga -n_episode=10 -map_name=8m -difficulty=7 -plot_level=0 

NN

python -m scmm.agents.nn.nn -n_episode=10 -map_name=25m -difficulty=7 -plot_level=0 

Potential Field

python -m scmm.agents.potential_fields.forces -n_episode=10 -map_name=25m -difficulty=7 -plot_level=0 

Acknowledgement

  • The coding is based on SMAC. Refer to the repo for details and license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SC2MM-0.1.0.tar.gz (28.3 kB view hashes)

Uploaded Source

Built Distribution

SC2MM-0.1.0-py3-none-any.whl (40.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page