Docs Otros

Preguntas frecuentes

¿Es un hack? ¿Qué versiones admite? ¿Qué ve y qué puede hacer la IA? ¿Puedo usarlo sin saber programar?…

¿Es un hack?

No. Es una interfaz de desarrollo para investigación y entretenimiento con IA, y solo se usa con un cliente que poseas legalmente, para enfrentarse a la IA del juego o a otras IA en tu equipo, en LAN o en partidas propias. No debe usarse en Battle.net ni en ningún servidor con antitrampas, y no ofrece ninguna función pensada para partidas contra personas. Más detalles en Límites de uso.

¿Qué versiones del juego admite?

Por ahora solo Warcraft III 1.27 (The Frozen Throne). Las versiones 1.24 ~ 1.28 comparten la misma estructura de motor; el soporte multiversión (tabla de símbolos por versión, firmas de respaldo, autocomprobación al arrancar con lista de capacidades) es la fase P4 de la hoja de ruta. Las versiones a partir de 1.29 y Reforged usan otro motor, necesitan una adaptación aparte y, por ahora, no están comprometidas.

¿Modifica mis archivos del juego?

No. El runtime se inyecta mientras el juego se ejecuta y no modifica Game.dll en disco ni ningún otro archivo del juego. Para abrir varias instancias solo copia y renombra el lanzador original War3.exe, sin tocarlo. Los datos del juego (tablas de unidades, etc.) se extraen de tu propia copia y no se distribuyen con el código.

¿Qué puede ver la IA?

Básicamente todo lo que querría saber un jugador profesional, actualizado cada 50 ms:

  • Oro, madera y comida de todos los jugadores; posición, vida y maná, orden actual, a quién ataca, nivel y experiencia de todas las unidades;
  • Nivel y enfriamiento restante de las habilidades de héroes y unidades, sus buffs e inventario;
  • Qué entrena / investiga / construye / mejora cada edificio, cuánto progreso lleva y si está bloqueado por falta de comida;
  • Objetos en el suelo, árboles, la malla transitable / edificable del mapa, puntos de inicio y hora del juego (día y noche);
  • Flujo de eventos: unidades que aparecen y mueren, cada golpe de daño (quién lo dio, tipo de ataque, daño antes de armadura), muertes, producción completada, subidas de nivel de héroes…
  • También puede preguntar directamente al motor: si algo se puede hacer ahora y, si no, por qué; qué nivel tiene una tecnología; si un punto es visible; cuánto oro le queda a una mina; hacia dónde va a atacar la IA rival.

Además, el SDK ya calcula las estadísticas de combate (tabla de tipos, armadura, mejoras de ataque y armadura), “cuántos segundos se tarda en matarlo” y las rutas por tierra. Todas las interfaces están en el catálogo de API.

¿Qué puede hacer la IA?

Prácticamente todo lo que puede hacer un jugador: mover, avanzar atacando, atacar un objetivo concreto, detenerse, mantener posición, patrullar, atacar al suelo, recolectar, reparar, construir (con búsqueda automática de ubicación), entrenar / investigar / mejorar, cancelar, aprender habilidades, lanzar hechizos (sobre unidad / sobre punto / sin objetivo), punto de reunión, revivir héroes, recoger / usar / soltar / dar / vender objetos, comprar, Llamada a las armas; cola con Shift, marchar por waypoints, que un trabajador construya varios edificios seguidos; y además velocidad de juego, pausa y burbujas de diálogo. Cada comando tiene su recibo.

Además de las acciones del jugador, puede dibujar tus propios paneles y marcas sobre la pantalla del juego (lienzo) y, en partidas de un jugador, llamar a las 1291 funciones JASS que usan los autores de mapas (canal JASS).

¿Se puede usar en mapas RPG / personalizados?

Sí. Elige un mapa RPG, asigna a la instancia el esquema “Ejemplo de compañero” y, al empezar la partida, juegas tú: a tu lado irá un compañero de IA que te ayuda a combatir, te cura y charla contigo; ver Compañero para RPG. g.map_data lee los nombres de las unidades personalizadas del mapa; el canal JASS puede crear unidades, fijar aliados, mostrar paneles… Cómo jugar lo decides tú. Las operaciones que cambian el mundo solo están disponibles en partidas de un jugador (en multijugador se desincronizan); el lienzo es seguro también en multijugador.

¿Puedo usarlo sin saber programar?

Sí. Prepara el entorno con el Inicio rápido y luego sigue Escribe un Bot con un LLM: tú describes la estrategia con tus palabras y el LLM escribe el código; si algo falla al ejecutarlo, pásale el error o lo que ves en el juego y pídele que lo corrija.

¿Solo funciona con Python?

El SDK es de Python. Entre el runtime y los programas externos solo hay un protocolo de memoria compartida (W3P), así que cualquier lenguaje que lea y escriba memoria compartida de Windows puede conectarse. Más cómodo todavía es la pasarela (WebSocket / JSON): JS, C#, Go, Rust, páginas web y programas en otra máquina pueden llamar a las mismas interfaces; un agente LLM puede conectarse directamente por MCP.

¿Qué LLM es el mejor?

Sirve cualquier modelo de referencia que sepa escribir código. La clave no es el modelo, sino darle el material correcto (manual + api.json + un ejemplo) y exigirle que use solo métodos que existan en el catálogo de API. Las decisiones en tiempo real durante la partida (asesor, voces) son sensibles a la latencia, y los modelos MoE locales rinden muy bien; consulta El LLM como asesor y Burbujas y modelos locales.

¿Ralentiza el juego?

Una recogida del estado del mundo tarda en el hilo del juego una mediana de 0.5 ~ 0.9 ms (100 ~ 120 unidades), una vez cada 50 ms. Cada comando tarda unos microsegundos en el hilo del juego; cada vaciado tiene un presupuesto de 4 ms y lo que no se termina pasa al siguiente, así que no frena el juego. Todas las llamadas al juego están protegidas contra excepciones: si un Bot se cae, solo se detiene ese bando, sin tumbar el juego.

¿Puedo abrir varias partidas a la vez?

Sí. runtime/farm.py orquesta varias instancias, cada una con su número, y se arrancan y detienen desde la consola Farsight. Tu Bot se conecta a una instancia concreta con --inst N.

¿Puedo enfrentar a dos IA?

Abre dos canales player en la misma partida (--player 0 / --player 1) y tendrás IA contra IA. En modo local, la justicia depende de un acuerdo entre las partes; los enfrentamientos oficiales con árbitro, filtrado por visión y validación de propiedad llegarán con la Arena (fase P6).

¿Funciona en Mac / Linux?

Por ahora solo en Windows 10 / 11.

¿Qué licencia tiene?

La licencia se publicará con la versión oficial. Los componentes de terceros conservan sus propias licencias (por ejemplo, MinHook es BSD-2); AMAI tiene una licencia propia y sus datos derivados no se distribuyen con el proyecto: se descargan del repositorio público de AMAI y se generan durante la instalación.

¿Dónde reporto problemas?

Tras el lanzamiento oficial se abrirá un canal para reportar problemas. Cuando lo hagas, incluye el número de instancia, la salida de python -m openwar3 status y los pasos para reproducirlo. Antes, mira si Depuración y rendimiento lo resuelve.