Skip to content

Commit ce25d5a

Browse files
committed
README
1 parent fbeeed1 commit ce25d5a

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

README.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Starcraft 2 Map Segmentation
2-
It's plugin for Python SC2 API [BurnySc2/python-sc2](https://github.com/BurnySc2/python-sc2).
2+
This is a plugin for the Python SC2 API, [BurnySc2/python-sc2](https://github.com/BurnySc2/python-sc2).
33

4-
**SC2 Map Segmentation** is fully automated map segmentation for Starcraft 2 maps. the goal was to create something similar to [SC2MapAnalysis](https://github.com/spudde123/SC2MapAnalysis) but focused on segmentation of map into smaller pieces (what SC2MapAnalysis doesn't have) and finding passages between them, like choke points, ramps, etc. It has also implemented basic pathfinding algorithm - Dijkstra.
4+
**SC2 Map Segmentation** provides fully automated segmentation for Starcraft 2 maps. The goal is to offer functionality similar to [SC2MapAnalysis](https://github.com/spudde123/SC2MapAnalysis), but with a focus on dividing the map into smaller regions. This is a feature not currently available in SC2MapAnalysis. Additionally, SC2 Map Segmentation identifies passages between these regions, such as choke points and ramps. It also includes a basic implementation of the Dijkstra pathfinding algorithm.
5+
6+
Please note that this project is still under development and may not have as many features as SC2MapAnalysis at this time.
57

6-
It's still in development, has much less features than SC2MapAnalysis.
78
### Example of segmentation
89
![SiteDeltaAIE segmentation](data/map_pool/SiteDeltaAIE.png)
910
Top view of the map: https://liquipedia.net/commons/images/7/77/Site_Delta.jpg
@@ -28,19 +29,20 @@ Finally, the map undergoes a cleanup process. This includes steps such as removi
2829
3. Copy `mapsegmentation` folder to your project
2930

3031
## Usage
31-
The example of usage is in [examples/reaper_pathfinding.py](examples\reaper_pathfinding.py). It's simple bot which finds path for reaper to enemy base using Dijkstra algorithm.
32+
An example of usage can be found in [examples/reaper_pathfinding.py](examples/reaper_pathfinding.py). This is a simple bot that finds a path to the enemy base for a Reaper unit using the Dijkstra algorithm.
33+
34+
The segmented map can be serialized using pickle and saved to a file for future use.
3235

33-
The segmented map can be pickled and saved to file.
36+
There are three main data classes that represent the segmented map, which can be found in the [mapsegmentation/dataclasses](mapsegmentation/dataclasses) folder:
37+
- `SegmentedMap`: Contains all segments and passages between them.
38+
- `Region`: Represents a single segment of the map.
39+
- `Passage`: Represents a passage between regions.
3440

35-
There are three main dataclasses to reprezent segmented map and can be find in [mapsegmentation/dataclasses](mapsegmentation\dataclasses) folder:
36-
- `SegmentedMap` - contains all segments and passages between them
37-
- `Region` - represents one segment of map
38-
- `Passage` - represents one passage between regions
3941

42+
## Limitations, Future Work, and Contributions
4043

41-
## Limitations / TODO / Contribution
42-
- There are still issues with segmentation, like the segmented regions aren't simetrical on both sides.
43-
- It doesn't find cliff passages in places where e.g. reaper need to jump twice to get to the other side.
44-
- There aren't much features implemented yet, like in MapAnalysis.
44+
- The current segmentation algorithm may produce asymmetrical regions.
45+
- The algorithm does not yet identify cliff passages where units, like Reapers, need to jump multiple times to traverse.
46+
- The feature set is not as extensive as that of MapAnalysis.
4547

46-
If you want to contribute, feel free to create pull request. I will be happy for any help, because I don't have much time to work on this project.
48+
Contributions are welcome and greatly appreciated. If you're interested in contributing, please feel free to submit a pull request. Any help is valuable as my time to work on this project is limited.

0 commit comments

Comments
 (0)