
En una integración confiable de IA de juego, JEV no debe inventar comandos arbitrarios. El juego primero genera Legal Actions: Choices posibles según las reglas, la percepción, los recursos y las restricciones de autoridad actuales. JEV puede elegir o Score esos candidatos; el ejecutor los vuelve a verificar antes de cambiar el mundo.
¿Qué es una acción legal?
Una acción legal es un comando significativo que el agente actual puede intentar. Tiene un nombre estable, parámetros explícitos, condiciones previas y un propietario de ejecución. Los ejemplos incluyen attack(targetId), takeCover(coverId), heal(allyId), y retirada(routeId).
¿Por qué no acciones de formato libre?
La generación de forma libre dificulta la validación, las pruebas y el equilibrio. Un modelo puede devolver un objetivo que ya no existe, una ruta inalcanzable o un verbo no implementado. Un conjunto de acciones cerrado convierte la invención en selección: los diseñadores inspeccionan a los candidatos, el control de calidad los reproduce y el ejecutor rechaza cualquier cosa fuera del contrato.
Generar candidatos en el código del juego
if (canSeeTarget && ammo > 0) add({ name: 'attack', targetId }); if (safeCover) add({ name: 'takeCover', coverId }); if (allyNeedsHelp) add({ name: 'assist', allyId }); if (empty) add({ name: 'holdPosition' });El constructor utiliza el estado autoritario y la percepción del agente. La lista de candidatos sigue siendo una instantánea y no sustituye a la validación final.
Choice, Score y puertas
Utilice Choice cuando se deba seleccionar un candidato, Score cuando los objetivos o rutas necesiten clasificación y un juicio limitado de sí o no como puerta, como por ejemplo si se debe abandonar un objetivo. Para espacios grandes, limite los candidatos primero y elija el segundo.
Revalidar antes de la ejecución
Cuando llegue la respuesta, reconstruya o vuelva a verificar el conjunto de acciones actual. Verifique el nombre, los parámetros, la versión de estado, la existencia del objetivo, los recursos y la autoridad. Si un candidato desapareció, descarte la respuesta y use fallback. Nunca fuerces una vieja decisión a adoptar un nuevo estado mundial.
const current = buildLegalActions(world, npc); const selected = current.find(action => sameAction(action, decision)); if (!selected) return fallback(); return execute(selected);¿Qué tamaño debe tener el espacio de acción?
Comience con algunas opciones que representen compensaciones reales. Exponer cada opción de movimiento obliga a la capa de decisión a resolver la navegación y las tácticas juntas. Para un escuadrón NPC, defender, ponerse a cubierto, ayudar, atacar y retirarse puede ser suficiente; La navegación y las habilidades manejan detalles de bajo nivel.
Acciones obsoletas y fallback
Los objetivos mueren, comienzan los tiempos de reutilización, se bloquean rutas y cambian la percepción. Trate el estancamiento como algo normal en un juego en tiempo real. Descartar el resultado, reconstruir el Estado y seguir con una política determinista. Para la implementación de API, lea JEV API uso. Para la arquitectura NPC, consulte JEV NPC.
Un esquema de acción útil
Represente cada acción como datos con un ID, intención, parámetros, condiciones previas, duración estimada, costo de recursos y ejecutor. La identificación debe ser estable para la instantánea actual, mientras que las referencias de destino y ubicación deben ser explícitas. Esto brinda a los diseñadores y al control de calidad un vocabulario compartido para discutir el comportamiento.
{ id: 'cover-wall-a', intent: 'takeCover', target: { coverId: 'wall-a' }, cost: { timeMs: 900 }, preconditions: ['reachable', 'notOccupied'] }Elimine antes de clasificar
Las restricciones estrictas pertenecen antes de la evaluación del modelo. Elimine acciones que infrinjan las reglas de alcance, tiempo de reutilización, propiedad, visibilidad, navegación o multijugador. Sólo entonces debería JEV comparar compensaciones más suaves como seguridad, presión objetiva, conservación de recursos y coordinación del equipo. Esto reduce el ruido y hace que el resultado sea más fácil de explicar.
Cuando el espacio de acción es grande
Utilice un diseño de dos etapas: primero Score o filtre candidatos en una frontera pequeña, luego elija una acción. Por ejemplo, el código del juego puede generar veinte puntos de cobertura visibles, JEV puede Score su valor táctico y una política determinista puede mantener los tres mejores antes de un Choice final. La navegación aún posee validez de ruta.
El diseño del espacio de acción es el equilibrio del juego
Agregar una acción cambia el espacio de estrategia de NPC. Agregar retirada puede hacer que un guardia sobreviva más tiempo; Agregar asistencia puede mejorar la cohesión del equipo pero retrasar el objetivo. Versione el vocabulario de acciones, reproduzca encuentros con representantes y solicite a los diseñadores que revisen no solo si una acción es legal sino también si crea la compensación prevista.
Pruebas de contrato
- Cada candidato tiene un controlador.
- Cada controlador verifica las condiciones previas actuales nuevamente.
- Los ID de acción desconocidos fallan al cerrarse.
- Los tipos de parámetros y la propiedad de destino son validado.
- Los candidatos obsoletos se rechazan en las pruebas de repetición y en vivo.
- El fallback sigue siendo legal cuando la lista de candidatos está vacía.


