You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,10 @@
1
1
# 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).
3
3
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.
5
7
6
-
It's still in development, has much less features than SC2MapAnalysis.
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
28
29
3. Copy `mapsegmentation` folder to your project
29
30
30
31
## 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.
32
35
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.
34
40
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
39
41
42
+
## Limitations, Future Work, and Contributions
40
43
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.
45
47
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