Analizando archivos .sc2replay [cerrado]

8

¿Cómo analizo los archivos de reproducción de StarCraft 2 ( .sc2replay )? ¿Hay una API?

Sé de Sc2gears , pero no satisface mis necesidades.

Gpx
fuente
3
Estoy votando para cerrar esta pregunta como fuera de tema porque no se trata de desarrollar un juego.
Vaillancourt

Respuestas:

15

Las repeticiones de Starcraft 2 se almacenan como MPQ, un formato de archivo comprimido desarrollado y utilizado por Blizzard. En la parte inferior de la página Wiki también encontrará enlaces a analizadores MPQ.

Quizás también desee echar un vistazo a los siguientes proyectos de código abierto: WARP (un analizador de repetición de Starcraft 2 escrito en Java) o phpsc2replay (un analizador de repetición escrito en PHP).

Actualización: a partir de ahora, también hay una biblioteca de Python que puede leer muchos de los datos de reproducción: sc2reader . Esta es probablemente la mejor opción que está disponible actualmente (a partir de marzo de 2013).

Actualización 2018: sc2reader ahora es mantenido por ggtracker. De todos modos, sc2readerahora está alojado en PyPi, así que tal vez la mejor manera es pip install sc2readerencontrarlo en la página de py2 sc2readers

bummzack
fuente
8

Divulgación: soy el autor de Scelight y Sc2gears.


Blizzard lanzó una biblioteca de analizador de archivos SC2Replay de código abierto oficial llamada s2protocol escrita en python:

https://github.com/Blizzard/s2protocol

Es el analizador de repetición oficial más completo y actualizado. Se considera la implementación de referencia . Sin embargo, es de nivel bastante bajo.

Hay otro proyecto llamado Scelight (que es el sucesor de Sc2gears ). En Scelight hay un ajuste (un cuadro combinado): Skill level. Si configura esto en Developer(esto requiere una pequeña tarea de programación que se resolverá primero para demostrar sus habilidades de desarrollador para desbloquearlo), se muestra un montón de información nueva para las repeticiones abiertas en el Inspector pestaña del Analizador de que están destinadas a desarrolladores solo se incluye la estructura interna de las repeticiones, incluidos todos los detalles, el visor hexadecimal y mucho más.

Scelight también tiene una interfaz de extensión llamada API de módulo externo que tiene una API bien documentada. La API del módulo externo proporciona acceso al analizador SC2Replay y a las herramientas y las estructuras de datos internas de reproducción de bajo y alto nivel. El javadoc de la API del módulo externo también está disponible en línea aquí:

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

Editar:

Tanto Scelight como Sc2gears han sido de código abierto, puedes ver exactamente cómo lo hacen (ambos proyectos cuentan con más de 100,000 líneas de código):

https://github.com/icza/scelight

https://github.com/icza/sc2gears

icza
fuente
2

Jugué con el análisis de los archivos de reproducción SC2 hace un tiempo. Puede ver lo que he hecho y lo que he podido realizar ingeniería inversa (así como un montón de enlaces a sitios útiles en la parte inferior):

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

César Kabalan
fuente
Un montón de enlaces en un solo lugar es realmente agradable.
kirilloid