Analisando arquivos .sc2replay [fechado]

8

Como analiso os arquivos de repetição do StarCraft 2 ( .sc2replay )? Existe uma API?

Eu conheço o Sc2gears , mas ele não atende às minhas necessidades.

Gpx
fonte
3
Estou votando para encerrar esta questão como fora de tópico, porque não se trata de desenvolver um jogo.
Vaillancourt

Respostas:

15

Os replays do Starcraft 2 são armazenados como MPQ, um formato de arquivo compactado desenvolvido e usado pela Blizzard. Na parte inferior da página do Wiki, você também encontrará links para analisadores de MPQ.

Talvez você também queira dar uma olhada nos seguintes projetos de código aberto: WARP (um analisador de repetição do Starcraft 2 escrito em Java) ou phpsc2replay (um analisador de repetição escrito em PHP).

Atualização: A partir de agora, também existe uma biblioteca Python que pode ler muitos dados de reprodução: sc2reader . Essa é provavelmente a melhor opção disponível no momento (em março de 2013).

Atualização 2018: o sc2reader agora é mantido por ggtracker. De qualquer forma, sc2readeragora está hospedado no PyPi, então talvez a melhor maneira seja pip install sc2readerencontrá-lo na página pypi do sc2readers

bummzack
fonte
8

Divulgação: sou o autor do Scelight e do Sc2gears.


A Blizzard lançou uma biblioteca oficial do analisador de arquivos SC2Replay de código aberto chamada s2protocol, escrita em python:

https://github.com/Blizzard/s2protocol

Esse é o analisador de repetição oficial mais completo, atualizado e atualizado. É considerada a implementação de referência . É bastante baixo nível embora.

Há outro projeto chamado Scelight (que é o sucessor do Sc2gears ). Em Scelight há uma configuração (um combobox): Skill level. Se você definir isso como Developer(isso exige que uma pequena tarefa de programação seja resolvida primeiro para provar suas habilidades de desenvolvedor para desbloqueá-lo), um monte de novas informações será exibido para replays abertos no Inspetor guia do Replay Analyzer, que é destinado aos desenvolvedores incluindo apenas a estrutura interna de replays, incluindo todos os bits, visualizador hexadecimal e muito mais.

O Scelight também possui uma interface de extensão chamada External Module API, que possui uma API bem documentada. A API do Módulo Externo fornece acesso ao analisador SC2Replay e ferramentas e estruturas de dados internas de reprodução de alto e baixo nível.O javadoc da API do Módulo Externo também está disponível on-line aqui:

https://scelightop.appspot.com/scelight-ext-mod-api/

Editar:

O Scelight e o Sc2gears são de código aberto; você pode ver exatamente como eles fazem isso (os dois projetos contam mais de 100.000 linhas de código):

https://github.com/icza/scelight

https://github.com/icza/sc2gears

icza
fonte
2

Eu brinquei analisando os arquivos de reprodução do SC2 há um tempo. Você pode ver o que fiz e o que pude fazer engenharia reversa (além de vários links para sites úteis na parte inferior):

http://wiki.spectralcoding.com/project:sc2inspector

Caesar Kabalan
fonte
Um monte de links em um só lugar é muito bom.
precisa saber é o seguinte