Lección 59 de 170

Llegar es un contrato, no una estimación de distancia

Curso de desarrollo de videojuegos con IA

Define la llegada mediante condiciones espaciales, específicas del destino, del estado del vehículo, de validez del mundo y de confirmación previa independiente, en lugar de confiar en un único umbral de distancia.

859. Identidad de la lección

Módulo
2.12 — Navegación, mapas y vehículos
Lección
Llegar es un contrato, no una estimación de distancia
Tipo académico
Integración
Tipo de esquema
práctica
Orden
3
Tiempo estimado
35–45 minutos

Esta lección integra la escala del mapa, la validación espacial, el estado del vehículo, los requisitos previos específicos del destino y los límites de los consumidores en un contrato explícito de llegada.

860. Objetivo de aprendizaje

Al terminar esta lección, podrás especificar un contrato de llegada que defina sus condiciones espaciales, las condiciones de navegación aplicables, el estado requerido del vehículo, los requisitos previos o confirmaciones que puedan completarse de forma independiente, las transiciones de estado, la regla de emisión y los consumidores.

861. Por qué importa

Un umbral de distancia solo responde qué tan cerca está una entidad de un objetivo. No demuestra que la entidad haya entrado en una región utilizable, seguido una aproximación válida cuando el destino la exige, alcanzado un estado aceptable del vehículo ni satisfecho una confirmación independiente necesaria antes de aceptar la llegada.

Un contrato de llegada hace que la evidencia aplicable sea visible para un único evaluador. Los demás sistemas consumen su resultado sin inventar definiciones que compitan entre sí. El diálogo, las recompensas, las secuencias de carga, los cambios de cámara y otros comportamientos iniciados por la llegada aceptada ocurren después del predicado, del lado de los consumidores. No pueden ser también requisitos de la llegada que los pone en marcha.

862. Conocimientos previos

Debes poder distinguir una representación del mapa del estado actual del mundo, como se explicó en 2.12 L1 — Un mapa no es el estado del mundo. También debes poder modelar la posesión de un vehículo como una transferencia explícita de autoridad, como se explicó en 2.12 L2 — La posesión de un vehículo es una transferencia de estado. No necesitas implementar un sistema de navegación para completar esta lección.

863. Concepto central

La llegada es un predicado formado por las condiciones que corresponden a un destino concreto, no una lista universal que todos los destinos deban cumplir. Cada contrato debe definir la identidad de su instancia, la identidad del objetivo, la aceptación espacial, los requisitos del vehículo y la validez del mundo. También debe indicar si exige navegación o algún requisito previo o evento de confirmación de llegada, o si esos campos son no_aplicable.

Usa reglas específicas del destino:

  • Instancia del contrato: identifica el intento activo concreto para impedir que un intento cancelado o sustituido emita una llegada más tarde.
  • Identidad del objetivo: identifica el destino que se está evaluando.
  • Condición espacial: exige que la entidad o el punto de referencia relevante esté dentro de la región aceptada, no solo cerca del marcador.
  • Navegación: exige una ruta o aproximación aceptada únicamente cuando el contrato del destino lo requiera. En caso contrario, registra no_aplicable.
  • Vehículo: exige el estado aplicable de posesión, control, movimiento o detención.
  • Requisito previo o evento de confirmación de llegada: incluye un evento en el predicado únicamente si puede completarse de forma independiente de la llegada aceptada. Podría tratarse, por ejemplo, de una autorización de acceso informada por separado o de una señal de validación de la aproximación. Si la llegada aceptada inicia el evento, este pertenece a un consumidor y no puede formar parte del predicado.
  • Validez del mundo: verifica que el objetivo exista, siga activo y pertenezca a la instancia del contrato evaluada.

El evaluador de llegada tiene la responsabilidad exclusiva del predicado compartido, la transición de estado y la regla de emisión única. Un sistema de misión, marcador, cámara, diálogo, recompensas o carga es un consumidor. Puede reaccionar al resultado aceptado, pero no debe reconstruir la llegada con sus propias comprobaciones de distancia, activadores, estado del vehículo o finalización.

Requisitos del predicado frente a consumidores

Aplica esta prueba para distinguirlos:

  1. Pregunta si el evento puede completarse sin que exista un resultado de llegada aceptada.
  2. Si la respuesta es sí, puede declararse como requisito previo o confirmación cuando el destino lo necesite.
  3. Si la respuesta es no, porque la llegada aceptada inicia el evento, este pertenece exclusivamente a un consumidor.

Por ejemplo, una secuencia de carga iniciada por la llegada aceptada no puede ser necesaria para demostrar que la llegada ya ocurrió. Primero, el evaluador emite la aceptación; después, el sistema de carga consume el resultado y gestiona su propia secuencia.

864. Taxonomía de estados

Usa estos significados de forma coherente:

  • pendiente: el intento activo sigue siendo válido y una condición actualmente falsa todavía puede cumplirse durante ese intento. Por ejemplo, el vehículo aún puede entrar en la región, reducir la velocidad o recibir una confirmación independiente.
  • rechazado: el intento terminó de una manera no permitida o cruzó un límite de fallo declarado, por lo que hace falta reintentar o reiniciar. Estar fuera de la región no implica automáticamente rechazo durante una aproximación normal; solo se rechaza si una regla específica del destino declara que el intento terminó o dejó de estar permitido.
  • inválido: el contrato ya no puede evaluarse como intento activo porque está obsoleto, cancelado, carece de una identidad necesaria o fue sustituido por otro contrato u objetivo.
  • aceptado: todas las condiciones aplicables del predicado se cumplen para la instancia activa y puede ejecutarse su regla de aceptación única.

El contrato debe declarar cualquier transición que dependa del contexto. Por ejemplo, fuera_de_la_región_de_llegada puede permanecer pendiente mientras el vehículo se aproxima, pero pasar a rechazado si cruza una salida de un solo sentido o termina explícitamente el intento fuera de la región.

865. Modelo mental

Usa la matriz del contrato de llegada:

Campo Pregunta Evidencia de ejemplo
Instancia del contrato ¿Qué intento activo se está evaluando? Identificador del contrato actual, no el de un intento sustituido
Identidad del objetivo ¿Qué destino pertenece a este intento? Destino activo, no un marcador antiguo
Condición espacial ¿La entidad relevante está dentro de la región aceptada? Punto de referencia del vehículo dentro del volumen de destino
Condición de navegación ¿Este destino exige una ruta o aproximación válida? Aproximación aceptada o no_aplicable
Condición del vehículo ¿Son válidos la posesión y el estado del vehículo? Estado VehicleControlled y velocidad inferior al umbral de detención
Requisito previo o confirmación ¿Se exige una confirmación que pueda completarse de forma independiente? Autorización de acceso recibida por separado o no_aplicable
Validez del mundo ¿El destino sigue siendo válido? El objetivo existe, está activo y coincide con la instancia
Reglas de estado ¿Cómo se clasifican las condiciones falsas? Pendiente mientras sea recuperable; rechazado tras un límite de fallo; inválido si queda obsoleto
Regla de emisión ¿Cuándo y cuántas veces se informa la aceptación? Emitir una vez cuando la instancia activa pasa a aceptada
Consumidores ¿Qué sistemas pueden reaccionar al resultado? Misión, marcador, cámara, diálogo, recompensas o carga

Una evaluación conceptual podría expresarse así:

si falta_el_contrato O contrato_cancelado O contrato_sustituido:
    estado = inválido
si no, si falta_el_objetivo O el_objetivo_no_coincide_con_el_contrato:
    estado = inválido
si no, si se_cruzó_un_límite_de_fallo_declarado:
    estado = rechazado
si no:
    predicado = condición_espacial
                Y condición_del_vehículo

    si navegación_requerida:
        predicado = predicado Y condición_de_navegación

    si confirmación_independiente_requerida:
        predicado = predicado Y confirmación_independiente_completada

    si predicado:
        estado = aceptado
        emitir_una_vez_para_esta_instancia()
    si no:
        estado = pendiente

Este es un modelo para razonar, no una implementación universal. Cada destino debe declarar sus propios límites de fallo y reglas de transición. Los consumidores controlan su respuesta al resultado, no la definición del resultado.

866. Ejemplo concreto

Imagina que un marcador identifica una zona de carga. El jugador conduce hacia ella y se acerca al marcador. Esa proximidad no basta: el vehículo puede estar junto a la región en vez de dentro, puede seguir moviéndose, puede tener un estado de control incorrecto o aproximarse desde una dirección no permitida.

Para este destino, el contrato podría especificar:

  • la instancia activa y su objetivo identifican la zona de carga;
  • el punto de referencia del vehículo está dentro de la región de carga aceptada;
  • se exige una aproximación válida porque la zona tiene una dirección de entrada definida;
  • el jugador permanece en el estado de implementación VehicleControlled;
  • la velocidad está por debajo del umbral de detención declarado;
  • no se necesita ninguna confirmación independiente adicional, por lo que ese campo es no_aplicable;
  • el objetivo no fue cancelado ni sustituido;
  • la aceptación se emite una sola vez para la instancia activa.

La interacción de carga no forma parte de este predicado. Comienza únicamente después de que el sistema de carga consume el resultado de llegada aceptada. El diálogo, las recompensas, el comportamiento de la cámara y cualquier secuencia de carga permanecen del lado de los consumidores por el mismo motivo.

Otro destino podría exigir una autorización independiente producida por un sistema de acceso antes de aceptar la llegada. Esa confirmación solo es un requisito válido si no depende del evento de aceptación de llegada. Un destino distinto, como una zona abierta de estacionamiento, podría marcar la navegación y la confirmación independiente como no_aplicable.

Durante una aproximación normal, un vehículo fuera de la región aceptada produce pendiente: fuera_de_la_región_de_llegada, porque todavía puede entrar. Si el destino define un intento de un solo sentido y el vehículo cruza la salida sin entrar correctamente, el contrato pasa a rechazado: aproximación_terminada_fuera_de_la_región. Si se sustituye el objetivo, pasa a inválido: contrato_sustituido. Cuando se cumplen todas las condiciones aplicables, pasa a aceptado, emite una sola vez y permite que reaccionen sus consumidores.

867. CONTRABAND

El tema CONTRABAND verificado para esta lección es Keros arrival-distance. Úsalo únicamente como un fragmento de estudio de caso: examina cómo puede fallar una decisión de llegada cuando la distancia se trata como la definición completa. No infieras detalles de incidentes, historial de implementación, fechas, métricas ni resultados de producción que no hayan sido proporcionados.

Para el fragmento de Keros, pregunta: ¿cuál es el objetivo?, ¿qué evidencia espacial es suficiente?, ¿qué condiciones del vehículo o de la posesión importan?, ¿se exige navegación?, ¿hay evidencia de un requisito previo que pueda completarse de forma independiente?, ¿qué sistemas consumen el resultado? Si la evidencia disponible no responde un campo, regístralo como no_especificado o no_aplicable en lugar de inventar una regla. No clasifiques como requisito previo un comportamiento activado por la llegada.

868. Errores comunes

Permitir que los consumidores redefinan la llegada

La misión comprueba la distancia, la cámara comprueba un activador y el sistema del vehículo comprueba si este se detuvo. Esos sistemas pueden discrepar. El evaluador de llegada debe tener la responsabilidad exclusiva del predicado compartido; los consumidores solo controlan sus respuestas.

Crear una dependencia circular

Una secuencia de carga, un diálogo, una recompensa u otro comportamiento comienza después de aceptar la llegada, pero el contrato también exige que ese comportamiento termine antes de aceptarla. Ninguno de los dos lados puede avanzar de forma coherente. Mantén los comportamientos activados por la llegada del lado de los consumidores. Incluye en el predicado solo requisitos que puedan completarse de forma independiente.

Tratar toda condición falsa como un rechazo

Estar fuera de la región aceptada durante una aproximación activa suele ser recuperable y, por tanto, permanece pendiente. Usa rechazado solo después de un final no permitido o de un límite de fallo declarado que exija reintentar o reiniciar. Declara la transición específica del destino en lugar de depender únicamente de la etiqueta.

Exigir las mismas condiciones en todos los destinos

Una condición de ruta puede importar en una entrada de un solo sentido, pero no en una zona abierta. Una confirmación independiente puede ser necesaria en un acceso controlado, pero no en un punto de paso sencillo. Marca cada campo opcional como requerido o no_aplicable.

Usar un único radio sin justificarlo

La escala del mapa y la geometría del destino afectan a la evidencia espacial adecuada. Define la región aceptada y el punto de referencia relevante en lugar de esconder la decisión dentro de un radio universal.

Emitir la aceptación en cada fotograma

La aceptación es una transición de una instancia concreta. La regla de emisión evita que el diálogo, las recompensas, la carga, la cámara u otros consumidores se reinicien mientras la entidad permanece en el lugar.

869. Práctica guiada

Crea un contrato de llegada para un destino inventado que implique a un jugador y un vehículo. Produce una matriz del contrato y una tabla de decisiones para seis casos. Un campo puede marcarse como requerido, no_aplicable o no_especificado, pero cada elección debe incluir un motivo.

Paso 1: Define la identidad y el espacio

Nombra la instancia del contrato, el objetivo, la región aceptada y el jugador, vehículo, punto de referencia o volumen de interacción relevante. Explica por qué la distancia al marcador no basta o qué evidencia adicional haría significativa una prueba de distancia.

Paso 2: Especifica las condiciones del predicado

Escribe una regla comprobable para cada grupo aplicable:

  • identidad del objetivo y validez del mundo;
  • aceptación espacial;
  • navegación o validez de la aproximación;
  • posesión y estado del vehículo;
  • requisito previo o confirmación de llegada.

En el campo del requisito previo, indica si el evento puede completarse independientemente de una llegada aceptada. Si la llegada aceptada lo inicia, elimínalo del predicado y añádelo después como comportamiento de un consumidor. No inventes un requisito solo para llenar la matriz.

Paso 3: Declara las transiciones de estado

Define al menos cuatro resultados de no llegada, incluidos:

  • una condición espacial o de aproximación recuperable que permanezca pendiente;
  • una condición del vehículo que permanezca pendiente o pase a rechazado según una regla declarada;
  • un intento terminado o no permitido que pase a rechazado y exija reintentar o reiniciar;
  • un caso obsoleto, cancelado, incompleto o sustituido que pase a inválido.

Si se aplica un requisito previo independiente, su estado incompleto debe permanecer pendiente, salvo que el destino declare otro límite de fallo. Para cada clasificación que dependa del contexto, indica la transición que modifica el estado.

Paso 4: Define la aceptación y los consumidores

Indica cuándo la instancia activa pasa a aceptado y cómo el evaluador emite ese resultado exactamente una vez. Enumera al menos tres consumidores. Para cada uno, explica qué puede hacer después de leer el resultado y qué parte del predicado no debe reconstruir. Coloca el diálogo, las recompensas, las secuencias de carga y otros eventos activados por la llegada exclusivamente en esta sección de consumidores.

Paso 5: Prueba casos límite

Evalúa estos casos:

  1. el vehículo está cerca del marcador, pero sigue fuera de la región aceptada durante una aproximación activa;
  2. el vehículo está dentro de la región, pero todavía se mueve;
  3. el jugador no tiene el estado de posesión requerido;
  4. el objetivo o la instancia del contrato se sustituye durante la aproximación;
  5. un requisito previo que puede completarse de forma independiente sigue incompleto, o el campo es no_aplicable;
  6. todas las condiciones aplicables permanecen verdaderas durante varios fotogramas.

Añade un límite de fallo específico del destino que convierta una condición recuperable de pendiente a rechazado. Revisa el contrato hasta que cada caso tenga un resultado explícito y no aparezca ningún comportamiento de consumidor dentro del predicado.

870. Validación / evidencia

La evidencia es una matriz del contrato de llegada y una tabla de decisiones para seis casos. Está completa cuando:

  • la instancia activa, la identidad del objetivo y las condiciones de validez del mundo son explícitas;
  • la región espacial y el punto de referencia relevante se definen sin depender de una estimación vaga de distancia;
  • la navegación solo se exige cuando corresponde al destino o se marca como no_aplicable;
  • los requisitos de posesión y estado del vehículo son comprobables;
  • todo requisito previo de llegada puede completarse independientemente de la llegada aceptada, o se marca como no_aplicable;
  • el diálogo, las recompensas, las secuencias de carga y otros comportamientos activados por la llegada aparecen únicamente como consumidores;
  • pendiente, rechazado, inválido y aceptado siguen la taxonomía declarada;
  • los límites específicos del destino explican cualquier transición de pendiente a rechazado;
  • los contratos obsoletos, cancelados, incompletos o sustituidos no pueden producir una llegada aceptada;
  • el evaluador tiene la responsabilidad exclusiva del predicado y de la regla de emisión;
  • al menos tres consumidores leen el resultado compartido sin duplicar el predicado;
  • la aceptación se emite una sola vez por instancia;
  • los seis casos límite pueden evaluarse sin reglas implícitas.

Otra persona debe poder responder: ¿qué intento y destino están activos?, ¿qué demuestra la aceptación espacial?, ¿qué condiciones todavía pueden recuperarse?, ¿qué exige reintentar?, ¿qué invalida el contrato?, ¿puede cada requisito completarse sin una llegada aceptada?, ¿qué comportamientos ocurren únicamente después de la aceptación? Si alguna respuesta depende solo de la proximidad o de que termine primero un evento activado por la llegada, el contrato está incompleto.

871. Ideas clave

  • La llegada es un contrato específico del destino, no un umbral universal de distancia.
  • Solo los requisitos que puedan completarse de forma independiente pueden participar en el predicado de llegada.
  • El diálogo, las recompensas, las secuencias de carga y otros comportamientos activados por la llegada pertenecen exclusivamente a los consumidores.
  • pendiente significa que el intento activo todavía puede tener éxito; rechazado exige reintentar o reiniciar tras un fallo declarado; inválido identifica un contrato obsoleto, cancelado, incompleto o sustituido.
  • El evaluador de llegada controla el predicado y la emisión única; los consumidores controlan sus respuestas.
  • La identidad de la instancia impide que intentos obsoletos produzcan una llegada aceptada.

872. Siguiente lección

Continúa con 2.13 — Guardado y carga. Lleva la identidad de la instancia del contrato, el estado actual, la identidad del objetivo y el estado de emisión única como elementos candidatos para evaluar en el inventario de estado guardable de la siguiente lección; no presupongas que todos deben persistirse.

873. Comprobación

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

¿Por qué la proximidad por sí sola no demuestra una llegada?

  • A. Una entidad cercana todavía puede estar fuera de la región aceptada o incumplir condiciones aplicables del vehículo, de validez o de requisitos previos independientes.
  • B. Las comprobaciones de distancia nunca son útiles en el desarrollo de juegos.
  • C. La llegada siempre debe determinarse mediante una animación.
  • D. Un vehículo nunca puede llegar en movimiento bajo ningún contrato de destino.
Mostrar respuesta y explicación

Respuesta: Una entidad cercana todavía puede estar fuera de la región aceptada o incumplir condiciones aplicables del vehículo, de validez o de requisitos previos independientes.

Por qué: La distancia puede aportar evidencia espacial, pero no demuestra la pertenencia a la región, el estado del vehículo, la validez del objetivo ni los requisitos previos independientes que exija el destino.

¿Qué condición evita que un intento antiguo produzca una llegada válida después de cambiar el destino activo?

  • A. Un radio de distancia mayor.
  • B. Una comprobación del estado de presentación.
  • C. La identidad de la instancia del contrato, la identidad del objetivo y la validez del mundo.
  • D. La consulta repetida sin una regla de emisión.
Mostrar respuesta y explicación

Respuesta: La identidad de la instancia del contrato, la identidad del objetivo y la validez del mundo.

Por qué: Un contrato obsoleto o sustituido es inválido. El evaluador debe confirmar que la instancia activa y el destino todavía coinciden antes de aceptar la llegada.

¿Cuándo puede incluirse un evento como requisito previo de llegada?

  • A. Cuando la llegada aceptada pone en marcha el evento.
  • B. Cuando puede completarse independientemente de la llegada aceptada y el contrato del destino lo exige.
  • C. Siempre que un consumidor quiera retrasar su respuesta.
  • D. Solo cuando se trata de un diálogo, una recompensa o una secuencia de carga.
Mostrar respuesta y explicación

Respuesta: Cuando puede completarse independientemente de la llegada aceptada y el contrato del destino lo exige.

Por qué: Un requisito previo debe poder completarse sin depender de la aceptación que ayuda a determinar. Los diálogos, recompensas y secuencias de carga activados por la llegada pertenecen a los consumidores.

Durante una aproximación activa normal, el vehículo sigue fuera de la región aceptada, pero todavía puede entrar. ¿Qué estado corresponde?

  • A. Pendiente, porque la condición todavía puede cumplirse durante el intento activo.
  • B. Rechazado, en todos los destinos y contextos.
  • C. Inválido, porque toda condición falsa invalida el contrato.
  • D. Aceptado, porque la proximidad es suficiente.
Mostrar respuesta y explicación

Respuesta: Pendiente, porque la condición todavía puede cumplirse durante el intento activo.

Por qué: Pendiente se usa cuando el intento activo sigue siendo válido y sus condiciones todavía pueden cumplirse. Rechazado exige un final no permitido o un límite de fallo declarado; inválido se reserva para contratos obsoletos, cancelados, incompletos o sustituidos.

Apoyar