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: paper.md
+18-3Lines changed: 18 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,18 +74,33 @@ Our software consists of multiple modules that the user can match to their speci
74
74
75
75
![Simplified full pipeline using SC2Tools to create two datasets, "SC2ReSet" [@Bialecki2022ReSetZenodo] and "SC2EGSet" Dataset [@Bialecki2023EGSetZenodo]. Initially introduced in [@Bialecki2023SC2EGSet]. \label{fig:DatasetPipeline}](./article/SC2Tools_Pipeline_Complete.pdf)
76
76
77
+
## DatasetPreparator
77
78
78
-
### SC2InfoExtractorGo
79
+
The "DatasetPreparator" [@Bialecki_2022_SC2DatasetPreparator] submodule is a set of scripts that ease the process of working with major collections of raw data (replaypacks/datasets). A full list of scripts is as follows:
80
+
- "directory_flattener.py"; flattens the nested directory structure of the replaypacks,
81
+
- "directory_packager.py"; packages all of the directories in the specified input directory,
82
+
- "file_renamer.py"; renames the files in the directory to follow a specific naming convention (e.g., to match the dataset schema),
83
+
- "json_merger.py"; merges two JSON files into one,
84
+
- "processed_mapping_copier.py"; copies the auxiliary files generated by directory_flattener.py to matching output directories. Built specifically to prepare the SC2EGSet prior to packaging,
85
+
- "sc2_map_downloader.py"; wraps "SC2InfoExtractorGo" to run the map downloading step,
86
+
- "sc2egset_replaypack_processor.py"; wraps "SC2InfoExtractorGo" to run the replaypack processing step on multiple directories at once,
87
+
- "sc2egset_pipeline.py"; wraps the entire processing pipeline used to obtain the "SC2ReSet" and "SC2EGSet" datasets,
88
+
- "sc2reset_replaypack_downloader.py"; downloads the raw (flattened) replaypacks of "SC2ReSet" [@Bialecki2022ReSetZenodo] for users that wish to use their own tools for data processing.
89
+
90
+
In the context of our work, this submodule is responsible for preparing directory structure, execution of "SC2InfoExtractorGo" on the data, and packaging the dataset for hosting. Finally, the current capabilities include downloading the raw replaypacks of "SC2ReSet" [@Bialecki2022ReSetZenodo] for ease of "SC2EGSet" Dataset reproduction [@Bialecki2023EGSetZenodo].
91
+
92
+
93
+
## SC2InfoExtractorGo
79
94
80
95
The SC2InfoExtractorGo as a submodule is a tool responsible for extracting the data from SC2Replay files, it depends on previously published open-source lower-level libraries [@URLS2Prot2016;@URLMPQ2017]. The tool is written in Golang and is shipped as a binary file (release), and as a Docker image via DockerHub. A simplified depiction of the data extraction is available on \autoref{fig:file_processing_sc2infoextractorgo}.
81
96
82
97
![Pictorial representation of the "SC2InfoExtractorGo" functionality [@Bialecki_2021_SC2InfoExtractorGo]. Replays contain the events which happened during gameplay (blue background), our implementations extracts this data and outputs it for further analysis by the user (orange background). \label{fig:file_processing_sc2infoextractorgo}](./article/server_to_json.pdf)
83
98
84
-
###SC2AnonServerPy
99
+
## SC2AnonServerPy
85
100
86
101
In the process of extracting the information from the StarCraft~2 replays, the users have the ability to choose if nicknames of the players should be anonymized with a separate tool "SC2AnonServerPy" [@Bialecki_2021_SC2AnonServerPy], this functionality may be key for laboratories that wish to share their datasets with a wider community. The "SC2AnonServerPy" repository contains a gRPC [@gRPC2014] service that acquires a weakly anonymized unique identifier for the players that participated in the game. Other implementations and tools may be added in the future to further anonymize the data.
87
102
88
-
###SC2_Datasets
103
+
## SC2_Datasets
89
104
90
105
One of our solutions, SC2_Datasets [@bialecki_2022_sc2datasets] interfaces with the JSON files produced by the SC2InfoExtractorGo [@Bialecki_2021_SC2InfoExtractorGo]. This includes all of the classes and methods required to load a single JSON, a collection of JSON files (representing a replaypack), and finally a way of loading an entire dataset (a collection of replaypacks). The pictorial representation of the "SC2_Datasets" functionality is presented on \autoref{fig:LoadingDataToPyTorch}.
0 commit comments