Risposte:
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 sc2reader
trovarlo sulla pagina pypi di sc2readers
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):
Ho giocato con l'analisi dei file di replay di SC2 qualche tempo fa. Puoi vedere cosa ho fatto e cosa sono stato in grado di decodificare (oltre a un mucchio di link a siti utili in basso):