Docs Referencia

De dónde salen los datos

Origen y precisión de cada tipo de dato. Si pasa algo que "parece raro", mira primero esta página.

DatoOrigenPrecisión
Unidades, recursos, órdenes, habilidades, buffs, inventarioBloque del mundo que el runtime publica cada 50 msCiclo de publicación (ajustable a 16 ms)
Eventos de daño y de muerteEl runtime los registra en el hilo del juego, golpe a golpeInmediata
Otros eventos (aparición, muerte, cambio de orden, subida de nivel…)Comparación entre dos publicaciones consecutivasCiclo de publicación
Tabla de producción (entrenamiento / investigación / construcción / mejora)Campos de temporizador de las habilidades de producción del motor + tiempo transcurrido que acumula el runtimeAprox. ±0.2 segundos de juego
Estadísticas de combate, tabla de tiposTablas de datos del propio juego (extraídas de tu copia local)Sin los modificadores de objetos, auras ni buffs
RutasTransitabilidad del terreno del motor (celdas de 128) + árboles + huella de los edificios, A* en el lado del SDKUna celda; los huecos más estrechos que una celda se consideran bloqueados
Hora del juegoJASS GetFloatGameState(GAME_STATE_TIME_OF_DAY)Ciclo de publicación
VisibilidadMáscara de visibilidad por jugador que el runtime calcula para cada unidadCiclo de publicación
Niveles de tecnología, viabilidad, oro restante en la minaConsultas por el carril rápido, directamente al motorInmediata

Los datos del juego no se distribuyen con el código

Las tablas de unidades, habilidades, objetos, héroes, buffs, tipos de daño y armadura, etc., proceden de los archivos del juego de Blizzard y no están en el repositorio. Cuando configuras el directorio del juego en el “Centro de control” de Farsight, se extraen automáticamente de tu propia copia del juego; también puedes ejecutarlo a mano:

python data/tools/extract_game_data.py

El resultado se guarda en data/game/ (fuera de git): los .slk / .txt originales y, ya procesados, units.json, names.json, skills.json, items.json, heroes.json y buffs.json.

Algunas cifras concretas

MagnitudValor
Un día480 segundos de juego (240 de día y 240 de noche); una hora = 20 segundos de juego; la partida empieza a las 8 de la mañana
Día6:00 ~ 18:00
Coeficiente de armadura0.06 (de las tablas de datos del juego)
Capacidad del bloque del mundo16 jugadores, 1024 unidades, 256 detalles de unidad, 256 objetos en el suelo, 128 producciones
ÁrbolesHasta 4096 destructibles, actualizados cada 2 segundos
Anillo de eventos8192 entradas; si lees demasiado lento se pierden (el SDK lo detecta)
Celdas del mapa128 unidades de juego por celda, como máximo 256 × 256

Ejemplos calibrados con mediciones

  • Tiempos de producción: campesino 14.9, granja 34.9 y Espadas de hierro forjado 59.9 segundos de juego, idénticos a lo que publica el runtime (error inferior a 0.2 s);
  • Estadísticas de combate comprobadas contra el panel del juego: Paladín con 650 de vida, 255 de maná, 3.9 de armadura y ataque 24 ~ 34; un soldado con la mejora de ataque de nivel 1, 13 ~ 15;
  • El daño antes de armadura de los eventos de daño del motor (14 / 15 / 15) cae dentro del rango que calcula stats();
  • Rutas: Echo Isles, 116 × 88 celdas; distancia por tierra hasta el ayuntamiento rival 10642 (en línea recta 9856); construir la malla lleva 18 ms y un A*, aprox. 1 ms.