Lección 49 de 170

Una misión es un conjunto de predicados

Curso de desarrollo de videojuegos con IA

Convierte un objetivo de misión en predicados observables, identifica fuentes de evidencia con autoridad y define cuándo se permite completarla.

714. Identidad de la lección

Módulo
2.7 — Misiones
Lección
Una misión es un conjunto de predicados
Tipo académico
Concepto
Tipo de esquema
texto
Orden
1 del módulo
Tiempo estimado
30–40 minutos, incluida la práctica

715. Objetivo de aprendizaje

Al terminar esta lección, podrás redactar un contrato de misión que exprese los objetivos como predicados observables, nombre una fuente de evidencia con autoridad para cada predicado y defina la condición que permite completarla.

716. Por qué importa

Un objetivo como “ayuda al contacto” puede ser legible, pero no es ejecutable. Un sistema de juego necesita una condición comprobable a partir de un estado conocido. Si la condición es ambigua, la misión puede completarse demasiado pronto, demasiado tarde o debido al evento equivocado. Un contrato preciso también le da a la IA un objetivo de implementación delimitado: puede inspeccionar los predicados y sus fuentes de evidencia en lugar de adivinar qué significa “terminado”.

717. Conocimientos previos

Debes poder distinguir el estado que pertenece a la economía del resultado de una transacción, y comprender por qué una fabricación debe validar todos sus requisitos antes de modificar el estado. Como base relacionada, 2.5 L3 — Crafting is a transaction, not a second economy, aporta la distinción relevante: una misión puede observar el resultado de una transacción con autoridad, pero no debe convertirse silenciosamente en una segunda propietaria del estado económico. Esta lección usa esas distinciones sobre transacciones y propiedad para especificar la evidencia de una misión; no exige todavía conceptos posteriores de secuenciación ni de coordinación entre sistemas.

718. Concepto central

Una misión no es principalmente una secuencia de diálogos o marcadores del mapa. Es un contrato sobre el estado del juego.

Un predicado es una condición que, a partir de un estado observable, se evalúa como verdadera o falsa. Un contrato de misión combina predicados en una regla de finalización e identifica de dónde procede la evidencia.

Para cada objetivo, especifica:

  1. Predicado: ¿Qué condición debe ser verdadera?
  2. Fuente de evidencia: ¿Qué sistema posee o informa el estado que lo demuestra?
  3. Autoridad de finalización: ¿Qué sistema tiene permiso para aceptar la misión como completada?
  4. Momento: ¿Cuándo se evalúa o vuelve a evaluarse el predicado?
  5. Regla de fallo o invalidación: Si corresponde, ¿qué hace imposible el objetivo o deja de hacerlo válido?

El sistema de misiones puede coordinar estas comprobaciones, pero no debe inventar hechos que pertenecen a otro sistema. Por ejemplo, el inventario puede demostrar que un objeto está en posesión del jugador. El sistema de misiones puede usar ese hecho para evaluar un objetivo. No debe mantener un contador duplicado y sin relación, y tratar esa copia como fuente de verdad. Un registro de misión puede anotar que se observó un predicado de adquisición o que hubo progreso; no duplica la propiedad del objeto ni se convierte en propietario de las cantidades del inventario.

719. Modelo mental

Usa el contrato de predicados para cada objetivo de misión:

Campo del contrato Pregunta Ejemplo
Objetivo ¿Qué debe lograr el jugador? Entregar el paquete sellado
Predicado ¿Qué condición booleana exacta lo demuestra? deliveryRecord.exists(packageId, recipientId)
Fuente de evidencia ¿Qué sistema proporciona la prueba? Sistema de entrega o transacciones
Autoridad de finalización ¿Quién cambia el estado de la misión a completada? Máquina de estados de la misión
Punto de evaluación ¿Cuándo se comprueba la condición? Después de un resultado de entrega aceptado
Evento invalidante ¿Qué puede hacer que falle o deje de estar disponible? El paquete se destruye antes de la entrega

La frontera de autoridad es la distinción principal:

Estado de un sistema con autoridad
        ↓ evidencia
Evaluación de predicados de la misión
        ↓ todos los predicados requeridos son verdaderos
Autoridad de finalización de la misión
        ↓
Evento de finalización y presentación

Un marcador, una línea de diálogo, una animación o la presentación de una recompensa son formas de comunicar una respuesta, no la fuente de verdad por sí mismas. La presentación puede informar de un cambio de estado, pero no debe ser su única prueba.

720. Ejemplo concreto

Considera este objetivo: “Recupera el libro de cuentas y llévalo al archivista.”

Una implementación débil podría completar la misión cuando el jugador entra en la zona del archivista. Ese evento de ubicación no demuestra que el jugador haya recuperado el libro correcto ni que lo haya entregado.

Un contrato más sólido separa los hechos necesarios y hace explícita la precondición de disponibilidad:

Predicado Fuente de evidencia Punto de evaluación
ledgerRecovered == true Sistema de inventario, mediante su registro autorizado de adquisición del libro Cuando se obtiene el libro
ledgerAvailableForDelivery == true Sistema de inventario, comprobado antes de la transacción de entrega Cuando comienza la entrega
deliveryAccepted(ledgerId, archivistId) == true Resultado aceptado de la transacción de entrega, que confirma que el libro disponible y correcto fue aceptado por el destinatario correcto Después de que el archivista acepta el objeto

La regla de finalización de la misión es:

ledgerRecovered
AND ledgerAvailableForDeliveryAtDeliveryStart
AND deliveryAccepted(ledgerId, archivistId)

ledgerAvailableForDeliveryAtDeliveryStart es un predicado temporal: el libro debe estar disponible cuando se intenta la entrega. El resultado aceptado de la entrega es la evidencia con autoridad de que el libro correcto y disponible se transfirió realmente al archivista. Después de una entrega exitosa, el libro puede dejar de estar en el inventario del jugador; por eso la misión no debe volver a comprobar la posesión actual como condición continua de finalización. Si la misión guarda que el libro fue recuperado, ese registro representa únicamente progreso de misión; no duplica el registro de propiedad ni la cantidad de objetos que controla el sistema de inventario.

Entrar en la zona puede mostrar un aviso de interacción, pero no puede completar la misión sin una entrega aceptada. Si la transacción rechaza el libro, la misión permanece incompleta y el rechazo puede comunicarse al jugador.

721. Error común

El error común es tratar una acción del jugador o un evento de presentación como evidencia de finalización. “El jugador eligió una opción del diálogo” es un evento. No demuestra automáticamente que la transacción requerida haya tenido éxito. Del mismo modo, “desapareció el marcador del objetivo” es un cambio de presentación, no un estado de misión con autoridad.

Otro error es incluir un predicado en el contrato y omitirlo de la regla de finalización. Todo predicado requerido debe aparecer en la regla o definirse explícitamente como una precondición subsumida por un predicado con autoridad, como una entrega aceptada. Las etiquetas generales, como missionFeelsComplete, ocultan la evidencia que falta. Nombra el estado concreto y el sistema que lo posee. Un registro de progreso de misión puede referirse a un hecho que pertenece al inventario sin convertirse en una segunda autoridad del inventario.

722. Práctica guiada

Redacta un contrato de misión para este objetivo:

“Prepara un kit de reparación y entrégaselo al mecánico.”

Usa estas restricciones:

  • El kit debe producirse mediante una transacción de fabricación aceptada.
  • El kit debe estar disponible para la entrega cuando comience la transacción de entrega.
  • El mecánico debe aceptar el kit correcto mediante una interacción de entrega aceptada.
  • El sistema de misiones puede decidir la finalización, pero no es propietario de las cantidades de fabricación ni de inventario.

Completa esta tabla:

Campo del contrato Tu decisión
Predicado 1: resultado de fabricación aceptado
Fuente de evidencia del predicado 1
Predicado 2: kit disponible al comenzar la entrega
Fuente de evidencia del predicado 2
Predicado 3: entrega aceptada del kit correcto al mecánico
Fuente de evidencia del predicado 3
Autoridad de finalización
Punto de evaluación de cada predicado
Evento invalidante, si existe
Regla final de finalización

Después toma una decisión deliberada: exige los tres predicados o subsume explícitamente el predicado de disponibilidad en un resultado de entrega aceptado que verifique que el kit correcto estaba disponible al comenzar la entrega. Elige una opción, explica por qué y señala qué evidencia impide que tu elección invente la finalización. Tu regla final debe mostrar la disponibilidad como predicado temporal propio o como precondición documentada del predicado de entrega con autoridad. Si mencionas un registro de progreso de misión, distínguelo de los sistemas de fabricación o inventario que poseen el estado subyacente.

723. Validación / evidencia

Tu contrato es válido cuando otro desarrollador puede responder estas preguntas sin pedirte que interprete el objetivo:

  • ¿Qué condiciones booleanas exactas deben ser verdaderas?
  • ¿Qué sistema tiene autoridad sobre cada condición?
  • ¿Puede completarse la misión si se rechaza la fabricación?
  • ¿Puede completarse si el kit no está disponible cuando comienza la entrega?
  • ¿Puede completarse si se entrega el objeto equivocado?
  • ¿En qué evento o transición de estado se evalúan los predicados?
  • ¿Qué sistema puede cambiar la misión a complete?
  • Si la disponibilidad no aparece como término separado, ¿dónde se subsume explícitamente en el predicado de entrega aceptada?
  • ¿El registro de misión solo registra progreso, sin duplicar la propiedad del objeto ni la cantidad del inventario?

Una entrega sólida contiene al menos tres predicados explícitos para este ejercicio —o dos predicados más una declaración precisa de que la precondición de disponibilidad queda subsumida por la entrega aceptada—. Nombra una fuente de evidencia para cada condición requerida, expresa la finalización como una regla sobre esas condiciones y no usa un marcador, una opción de diálogo ni la presentación de una recompensa como única prueba. Cualquier registro de misión debe describirse como progreso o evidencia observada, no como un propietario duplicado del objeto.

724. Puntos clave

  • Un objetivo de misión se vuelve implementable cuando se expresa como predicados observables.
  • La evidencia debe proceder del sistema que posee el estado relevante o el resultado de la transacción.
  • La disponibilidad en el momento de la entrega es un requisito temporal y no debe desaparecer del contrato.
  • El sistema de misiones puede evaluar la evidencia y ser dueño del estado de la misión sin duplicar la autoridad de la economía o del inventario.
  • Un registro de progreso de misión puede referirse a evidencia autorizada sobre un objeto sin poseer una segunda copia de su estado.
  • La presentación comunica la finalización; no la demuestra por sí sola.

725. Siguiente lección

Continúa con 2.7 L2 — Coordinar objetivos entre sistemas.

726. Comprobación

Responde estas preguntas por tu cuenta antes de leer las respuestas.

¿Qué hace que un objetivo de misión sea implementable?

  • A. Un marcador claro y una línea de diálogo
  • B. Una secuencia de escenas con una recompensa visible
  • C. Predicados observables con fuentes de evidencia definidas
  • D. Un booleano llamado missionFeelsComplete
Mostrar respuesta y explicación

Respuesta: Predicados observables con fuentes de evidencia definidas

Por qué: Los predicados convierten un objetivo amplio en condiciones que pueden evaluarse con evidencia que tiene autoridad.

¿Qué debe hacer el sistema de misiones cuando necesita saber si un objeto requerido está en el inventario del jugador?

  • A. Solicitar evidencia con autoridad al sistema de inventario
  • B. Confiar en el marcador del objetivo
  • C. Mantener un contador de objetos separado
  • D. Completar la misión cuando el jugador entre en la zona objetivo
Mostrar respuesta y explicación

Respuesta: Solicitar evidencia con autoridad al sistema de inventario

Por qué: El sistema de inventario es propietario de su estado. El sistema de misiones puede evaluar esa evidencia sin duplicar la autoridad.

¿Qué evento ofrece la evidencia más sólida de que se ha completado un objetivo de entrega?

  • A. Apareció el aviso de interacción
  • B. Se reprodujo la animación de recompensa
  • C. El jugador entró en la zona del destinatario
  • D. La transacción de entrega devolvió un resultado aceptado para el objeto y destinatario correctos
Mostrar respuesta y explicación

Respuesta: La transacción de entrega devolvió un resultado aceptado para el objeto y destinatario correctos

Por qué: Un resultado de entrega aceptado demuestra que la transacción relevante con autoridad tuvo éxito. La ubicación, los avisos y las animaciones no bastan como prueba.

¿Cuál es el papel de la autoridad de finalización en un contrato de misión?

  • A. Elige el estilo visual del marcador del objetivo
  • B. Almacena una copia duplicada de cada valor de la economía
  • C. Sustituye a los sistemas que proporcionan la evidencia
  • D. Acepta la finalización solo después de que los predicados requeridos sean verdaderos
Mostrar respuesta y explicación

Respuesta: Acepta la finalización solo después de que los predicados requeridos sean verdaderos

Por qué: La autoridad de finalización controla la transición de estado de la misión, pero debe basarla en la evidencia requerida en lugar de sustituir a los sistemas que la producen.

Apoyar