SC2重播文件解析器
zephyrus-sc2-parser的Python项目详细描述
Zephyrus回放分析器
一个健壮而详细的.SC2Replay文件解析器
由zephyrus.gg用于深入回放分析
详细文档即将发布!在
核心功能
- 在
易于使用
不需要配置任何东西,只需安装包并调用
在parse_replay
即可开始 - 在
有状态且面向对象
游戏的核心元素是用对象重新创建的,这样就可以很容易地理解信息的位置以及信息是如何相互联系的。 每一个相关事件的事件和信息都会重新计算,因此您始终拥有正确的游戏状态。 游戏状态也会定期记录,以便于对解析的信息进行分析
在 - 在
非常详细的信息
解析器利用来自重播文件的跟踪器和游戏事件来重新创建游戏状态,允许收集更复杂的信息。 单位、建筑和能力的游戏ID都经过了艰苦的寻找和记录,以获得诸如单位和建筑模式等信息, 要解析的能力使用和创建状态
在 - 在
精确选择跟踪
以前的解析器要么没有跟踪播放器选择,要么实现不准确。我们的实现准确地跟踪玩家 由于强大的位掩码算法,即使在复杂的子选择和取消选择操作中也可以进行选择
在
安装和使用
解析器托管在PyPI上。你可以通过pip安装它
pip install zephyrus_sc2_parser
您可以将parse_replay
导入为顶级导入
from zephyrus_sc2_parser import parse_replay
必需参数
唯一需要的参数是要解析的重播的相对路径
可选参数
您可以选择使用local
标志来表示您想要解析没有MMR的重播,否则解析器将中止重播。local
默认设置为False。在
如果您想在解析过程中访问存储在Player
对象中的原始数据,例如每个玩家的对象或相机的移动,detailed
标志也很有用。在
返回值
解析器返回4个值,一个包含两个玩家对象的字典,一个记录的游戏状态列表,一个包含 玩家的基本信息和游戏元数据字典。在
players, timeline, summary_stats, metadata = parse_replay(filepath, local=False, detailed=True)
players
示例:
{
1: <Player object>,
2: <Player object>,
}
timeline
示例:
summary_stats
示例:
{
'mmr': { 1: 3958, 2: 3893 },
'mmr_diff': { 1: 65, 2: -65 },
'avg_resource_collection_rate': {
'minerals': { 1: 1150.9, 2: 1238.6 },
'gas': { 1: 321.7, 2: 316.8 }
},
'avg_unspent_resources': {
'minerals': { 1: 330.7, 2: 247.3 },
'gas': { 1: 205.2, 2: 174.5 }
},
'apm': { 1: 123.0, 2: 187.0 },
'resources_lost': {
'minerals': { 1: 2375, 2: 800 },
'gas': { 1: 1000, 2: 425 }
},
'workers_produced': { 1: 63, 2: 48 },
'workers_killed': { 1: 12, 2: 41 },
'workers_lost': { 1: 41, 2: 12 },
'inject_count': { 1: 0, 2: 0 },
'sq': { 1: 91, 2: 104 },
'avg_pac_per_min': { 1: 28.15, 2: 36.29 },
'avg_pac_action_latency': { 1: 0.46, 2: 0.32 },
'avg_pac_actions': { 1: 3.79, 2: 4.65 },
'avg_pac_gap': { 1: 0.37, 2: 0.25 },
}
metadata
示例:
{
'map': 'Acropolis LE',
# UTC timezone
'time_played_at': <datetime.datetime object>,
# player ID
'winner': 1,
# seconds
'game_length': 750,
}
- 项目
标签: