Analisi dei file .sc2replay [chiuso]


8

Come posso analizzare i file di riproduzione di StarCraft 2 ( .sc2replay )? C'è un'API?

Conosco Sc2gears , ma non soddisfa del tutto le mie esigenze.


3
Sto votando per chiudere questa domanda come fuori tema perché non si tratta di sviluppare un gioco.
Vaillancourt

Risposte:


15

I replay di Starcraft 2 sono memorizzati come MPQ, un formato di file compresso sviluppato e utilizzato da Blizzard. Nella parte inferiore della pagina Wiki troverai anche collegamenti ai parser MPQ.

Forse vorrai anche dare un'occhiata ai seguenti progetti open source: WARP (un parser replay di Starcraft 2 scritto in Java) o phpsc2replay (un parser replay scritto in PHP).

Aggiornamento: A partire da ora, esiste anche una libreria Python in grado di leggere molti dei dati di riproduzione: sc2reader . Questa è probabilmente l'opzione migliore attualmente disponibile (da marzo 2013).

Aggiornamento 2018: sc2reader è ora gestito da ggtracker. Comunque sc2readerè ora ospitato su PyPi quindi forse il modo migliore è quello di pip install sc2readertrovarlo sulla pagina pypi di sc2readers


8

Divulgazione: sono l'autore di Scelight e Sc2gears.


Blizzard ha rilasciato una libreria di parser di file SC2Replay ufficiale e open source chiamata s2protocol scritta in python:

https://github.com/Blizzard/s2protocol

Questo è il parser di replay ufficiale più completo, aggiornato e ufficiale. È considerata l' implementazione di riferimento . È abbastanza basso livello però.

C'è un altro progetto chiamato Scelight (che è il successore di Sc2gears ). In Scelight c'è un ambiente (una casella combinata): Skill level. Se lo imposti su Developer(questo richiede prima una piccola attività di programmazione per dimostrare le tue abilità di sviluppatore per sbloccarlo), vengono visualizzate molte nuove informazioni per i replay aperti nella scheda Inspector di Replay Analyzer che sono destinati agli sviluppatori includendo solo la struttura interna dei replay incluso ogni suo ultimo bit, hex viewer e molto altro.

Scelight ha anche un'interfaccia di estensione chiamata API del modulo esterno che ha un'API ben documentata. L'API del modulo esterno consente di accedere al parser SC2Replay e agli strumenti e alle strutture di dati interni replay di livello basso e di alto livello. Il javadoc dell'API del modulo esterno è disponibile anche online qui:

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

Modificare:

Sia Scelight che Sc2gears sono stati aperti, puoi vedere esattamente come lo fanno (entrambi i progetti contano più di 100.000 righe di codice):

https://github.com/icza/scelight

https://github.com/icza/sc2gears


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.