Lección 36 de 170

Dirige una implementación pequeña

Curso de desarrollo de videojuegos con IA

Usa un encargo acotado, un cambio asistido por IA, una inspección y un punto de control en Git para modificar un solo componente de un microbucle jugable.

522. Identidad de la lección

Módulo
1.micro-loop — El microbucle jugable
Lección
Dirige una implementación pequeña
Tipo académico
Construcción guiada
Tipo de lección
Práctica
Orden
2
Tiempo estimado
40–60 minutos

Esta lección utiliza el mismo artefacto de Los cuatro componentes en un solo artefacto. Harás un cambio acotado, inspeccionarás lo que cambió y decidirás si conservarlo o revertirlo.

523. Objetivo de aprendizaje

Al finalizar esta lección, podrás redactar un encargo de implementación acotado, dirigir con IA un cambio sobre un solo componente de un microbucle, inspeccionar el resultado y conservarlo o revertirlo mediante un punto de control registrado en Git.

524. Por qué importa

Un bucle jugable resulta manejable cuando puedes modificarlo sin perder de vista su contrato. La IA puede producir rápidamente una edición que parece correcta, pero esa apariencia no demuestra que cumpla el encargo. Un encargo acotado y un punto de control en Git te permiten controlar el alcance, el comportamiento, la comparación y la recuperación.

Usa el mapa de implementación entrada → regla → presentación → retroalimentación mientras conservas el bucle de la Etapa 1: ACTUAR → RESPONDER → CAMBIAR → OTRA VEZ. El mapa identifica qué estás modificando; el bucle describe cómo ejercitas y evalúas el artefacto de forma repetida.

525. Conocimientos previos

Debes haber completado Los cuatro componentes en un solo artefacto en este módulo. Debes poder identificar la entrada, la regla, la presentación y la retroalimentación de la interacción existente. También necesitas un proyecto funcional con un repositorio Git y un asistente de programación con IA capaz de inspeccionar los archivos pertinentes.

526. Concepto central

Un cambio, un componente

Una implementación acotada modifica un solo componente del ciclo de interacción:

  • Entrada: lo que hace el jugador y lo que detecta el juego.
  • Regla: la condición y el cambio de estado resultante.
  • Presentación: lo que el jugador puede ver o percibir como representación del estado.
  • Retroalimentación: la confirmación inmediata de que la interacción fue procesada.

El encargo debe nombrar exactamente un componente objetivo. No solicites una mejora general, una refactorización amplia ni un cambio en todo el bucle. Un cambio pequeño es más fácil de inspeccionar, probar y revertir.

Trabaja mediante ACTUAR → RESPONDER → CAMBIAR → OTRA VEZ: ejecuta la interacción existente, observa su respuesta, cambia un solo componente de forma acotada y repite la interacción para comparar el resultado.

527. Modelo mental

Ritual de cambio acotado

Paso Tu responsabilidad Evidencia que debes reunir
1. Punto de control Establecer un estado inicial recuperable Estado limpio o commit inicial registrado
2. Encargo Indicar el objetivo, el comportamiento, las restricciones y la prueba de aceptación Solicitud breve por escrito
3. Dirección Pedir a la IA que edite solo el alcance indicado Respuesta de la IA y lista de archivos editados
4. Inspección Leer el diff y ejecutar el artefacto Diff, resultado de la prueba y comportamiento observado
5. Decisión Conservar un cambio conforme o restaurar uno fallido Commit enfocado o restauración verificada

La IA puede proponer o explicar una edición, pero tú controlas el alcance y decides si conservarla o revertirla.

528. Ejemplo concreto

Supón que el artefacto detecta una pulsación, cambia un estado booleano, representa ese estado con una lámpara y ofrece una retroalimentación inmediata. Eliges trabajar únicamente sobre el componente de presentación.

Un encargo acotado podría ser:

Cambia únicamente la presentación del estado activo. Cuando esté activo, muestra la lámpara en azul y la etiqueta de texto “Activo”. Cuando esté inactivo, muestra la lámpara en gris y la etiqueta “Inactivo”. Asegúrate de que las etiquetas sean legibles y de que el estado no se comunique solo mediante el color. No cambies la detección de entrada, la regla de estado, la retroalimentación, la estructura de archivos ni los estilos no relacionados. Prueba de aceptación: usa el control existente y verifica que tanto el color de la lámpara como la etiqueta cambien correctamente en cada estado mientras la retroalimentación existente sigue funcionando.

El color se combina con una señal que no depende del color, en lugar de ser el único indicador del estado. Esto sigue siendo un solo cambio acotado de presentación; no introduce un sistema de juego nuevo.

529. Flujo de trabajo con IA

  1. Redacta el encargo: indica el componente objetivo, el comportamiento actual, el comportamiento solicitado, las restricciones y la prueba de aceptación.
  2. Pide primero un plan acotado: solicita que la IA identifique el archivo o la función probable y repita qué no cambiará.
  3. Autoriza la edición mínima: permite únicamente el cambio descrito en el encargo.
  4. Inspecciona antes de confiar: compara cada archivo y cada bloque del diff con el encargo. Busca archivos no previstos, reglas alteradas, entradas renombradas o cambios en la retroalimentación.
  5. Ejecuta el artefacto: prueba el recorrido original de la interacción y el cambio solicitado.
  6. Conserva o revierte: decide a partir del diff y del comportamiento observado, no de la seguridad con la que responda la IA.

Si la IA no puede identificar un alcance estrecho, detente y reescribe el encargo. Generar más código no sustituye una frontera más clara.

530. Flujo de trabajo con Git

1. Registra el estado inicial

Antes de solicitar una edición, inspecciona el repositorio:

git status
git log -1 --oneline

Si el árbol de trabajo contiene cambios no relacionados, detente y sepáralos o consérvalos según la práctica establecida para tu repositorio. No los mezcles con este ejercicio.

Registra el commit actual antes de la edición. Una forma de guardarlo durante la sesión actual de la terminal es:

STARTING_COMMIT=$(git rev-parse HEAD)
printf '%s\n' "$STARTING_COMMIT"

Conserva el identificador impreso junto con tus evidencias. La variable puede perderse al cerrar la sesión de la terminal, así que guarda también el identificador por separado.

2. Inspecciona la edición asistida por IA

Antes de preparar cualquier archivo, ejecuta:

git diff
git status

Enumera todas las rutas modificadas y clasifica cada una como prevista o no relacionada. No continúes si existe el riesgo de sobrescribir o incluir trabajo ajeno al ejercicio.

3. Conserva un cambio conforme

Si el diff y la prueba en ejecución cumplen el encargo, prepara de forma explícita todos los archivos previstos que ya inspeccionaste:

git add <archivo-previsto-1> <archivo-previsto-2>
git diff --staged
git commit -m "Change one micro-loop component"

Sustituye los marcadores por rutas reales. Si solo hay un archivo previsto, incluye únicamente esa ruta. Si hay más archivos, incluye cada ruta inspeccionada o repite git add para cada una. No uses un comando de preparación amplio que pueda incluir trabajo no relacionado.

4. Restaura un cambio fallido

Si el resultado no cumple el encargo, registra primero cualquier observación útil. Después restaura desde el commit inicial únicamente los archivos versionados que pertenecen a este ejercicio:

git restore --source="$STARTING_COMMIT" -- <archivo-previsto-1> <archivo-previsto-2>
git status
git diff

Sustituye los marcadores por las rutas previstas exactas y comprueba que STARTING_COMMIT todavía contiene el identificador que registraste. Este comando restaura las rutas versionadas indicadas; no elimina archivos sin seguimiento.

Revisa las rutas sin seguimiento con:

git status --short

Elimina un archivo sin seguimiento de forma individual solo después de confirmar que lo creó este ejercicio y que ya no es necesario:

rm -- <archivo-creado-por-el-ejercicio>
git status
git diff

No copies literalmente los marcadores de ejemplo. No elimines una ruta solo porque aparezca en git status. Evita comandos amplios de restablecimiento, limpieza o borrado, especialmente si el árbol de trabajo contiene cambios no relacionados.

531. Errores comunes

  • Aceptar un resultado que parece correcto sin compararlo con el encargo.
  • Permitir que una solicitud de presentación altere la regla, el control de entrada o la retroalimentación.
  • Comunicar un estado únicamente mediante el color.
  • Crear el commit antes de ejecutar la prueba de aceptación.
  • Preparar un solo archivo cuando la implementación inspeccionada requiere varios archivos previstos.
  • Suponer que git restore elimina archivos creados por el ejercicio que todavía no tienen seguimiento.
  • Usar un comando amplio de recuperación que ponga en riesgo trabajo no relacionado.

Un diff acotado, una prueba observable y un estado verificado del repositorio son requisitos distintos.

532. Práctica guiada

Usa el mismo artefacto de la lección anterior.

Parte 1: Establece el punto de control

  1. Abre el repositorio del proyecto.
  2. Ejecuta git status y revisa el commit más reciente.
  3. Si hay cambios no relacionados, detente y protégelos de este ejercicio.
  4. Registra el commit inicial o crea un punto de control enfocado según tu flujo establecido.

Parte 2: Elige un solo componente

Selecciona exactamente uno: entrada, regla, presentación o retroalimentación. Completa estas líneas antes de escribir la solicitud para la IA:

  • Componente objetivo:
  • Comportamiento actual:
  • Comportamiento solicitado:
  • Restricciones:
  • Prueba de aceptación:

Incluye la restricción: “No cambies los otros tres componentes”. Si el cambio representa un estado de forma visual, asegúrate de que la prueba de aceptación no dependa únicamente del color.

Parte 3: Dirige e inspecciona

Pide a la IA que repita el encargo e identifique las rutas previstas antes de editar. Solicita la implementación mínima que cumpla el encargo. Inspecciona el diff resultante y clasifica cada archivo modificado como previsto o no relacionado.

Parte 4: Prueba y decide

Ejecuta el artefacto y sigue ACTUAR → RESPONDER → CAMBIAR → OTRA VEZ. Prueba tanto el recorrido original de la interacción como el cambio solicitado.

  • Conservar: cambió el componente previsto, los otros componentes siguen funcionando, no se incluyeron rutas no relacionadas y la prueba de aceptación pasa.
  • Revertir: el alcance se amplió, el comportamiento es incorrecto, falta una señal accesible o la prueba de aceptación falla.

Si conservas el cambio, prepara todos y solo los archivos previstos que inspeccionaste y crea un commit enfocado. Si lo reviertes, restaura desde el commit registrado las rutas versionadas previstas, revisa individualmente las rutas sin seguimiento y verifica el resultado con git status y git diff.

533. Validación y evidencias

Has completado la lección cuando puedas presentar:

  • Un encargo que nombre un solo componente y una prueba de aceptación observable.
  • Un punto de control previo o un commit inicial registrado.
  • Una lista de rutas previstas.
  • Un diff inspeccionado que contenga únicamente el cambio acotado, o evidencia de una restauración verificada.
  • Una prueba en ejecución que muestre el comportamiento solicitado y el funcionamiento continuo de los otros tres componentes.
  • Para un cambio de estado visual, evidencia de que el estado puede distinguirse sin depender solo del color.
  • Una decisión de conservar o revertir respaldada por las evidencias.

La condición de aprobación no es “la IA generó código”. Debes demostrar que puedes controlar el alcance, inspeccionar el resultado, probar el comportamiento y recuperarte de una edición fallida. Completa la evaluación práctica adjunta para organizar estas evidencias antes de la siguiente lección.

534. Ideas clave

  • Cambia un solo componente cada vez: entrada, regla, presentación o retroalimentación.
  • Usa ACTUAR → RESPONDER → CAMBIAR → OTRA VEZ para ejercitar y evaluar el artefacto.
  • Combina el color con una señal que no dependa del color al representar un estado.
  • Inspecciona cada ruta modificada antes de prepararla o restaurarla.
  • Prepara todos y solo los archivos previstos que ya inspeccionaste.
  • Restaura los cambios versionados fallidos desde el punto de control mediante rutas explícitas.
  • Revisa individualmente los archivos sin seguimiento creados por el ejercicio.
  • La decisión de conservar o revertir te corresponde a ti.

535. Comprobación opcional de conocimientos

El cuestionario adjunto comprueba si puedes distinguir un encargo acotado, un cambio inspeccionado, una señal de estado accesible y una recuperación prudente con Git. Las evidencias prácticas siguen siendo el requisito de la lección.

536. Siguiente lección

Continúa con 1.micro-loop L3 — Estudio del hito, la Lección 3 canónica. Organiza el encargo, el punto de control, el diff inspeccionado, la prueba en ejecución, la evidencia de accesibilidad cuando corresponda y la decisión de conservar o revertir, de modo que el artefacto pueda evaluarse como evidencia de la capacidad de la Etapa 1.

537. Comprobación

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

¿Qué encargo está mejor acotado y evita comunicar el estado únicamente mediante el color?

  • A. Mejora la interacción para que se sienta más pulida.
  • B. Refactoriza toda la interacción y añade una retroalimentación mejor.
  • C. Cambia solo la presentación del estado: usa azul con la etiqueta “Activo” y gris con la etiqueta “Inactivo”; no alteres la entrada, la regla, la retroalimentación ni archivos no relacionados; verifica ambas señales con el control existente.
  • D. Sustituye la implementación actual por una arquitectura más limpia.
Mostrar respuesta y explicación

Respuesta: Cambia solo la presentación del estado: usa azul con la etiqueta “Activo” y gris con la etiqueta “Inactivo”; no alteres la entrada, la regla, la retroalimentación ni archivos no relacionados; verifica ambas señales con el control existente.

Por qué: Un encargo acotado nombra un solo componente, excluye cambios no relacionados, define una prueba observable y combina el color con una señal de estado que no depende del color.

¿Qué debes hacer antes de decidir si conservas un cambio generado por IA?

  • A. Inspeccionar todas las rutas modificadas y ejecutar la prueba de aceptación.
  • B. Preguntar a la IA si el cambio es correcto y crear el commit de inmediato.
  • C. Eliminar el punto de control anterior para evitar confusiones.
  • D. Solicitar otra reescritura amplia.
Mostrar respuesta y explicación

Respuesta: Inspeccionar todas las rutas modificadas y ejecutar la prueba de aceptación.

Por qué: El diff y la lista de rutas modificadas muestran el alcance, mientras que la prueba de aceptación muestra el comportamiento. Ambos elementos son necesarios para justificar la decisión.

¿Por qué debes registrar un punto de control en Git antes de dirigir el cambio?

  • A. Garantiza que la IA editará el archivo correcto.
  • B. Hace innecesarias las pruebas.
  • C. Permite aceptar automáticamente cambios no relacionados.
  • D. Proporciona un estado conocido para comparar y recuperar rutas específicas.
Mostrar respuesta y explicación

Respuesta: Proporciona un estado conocido para comparar y recuperar rutas específicas.

Por qué: Un punto de control registrado proporciona una referencia conocida para inspeccionar la edición y restaurar únicamente las rutas versionadas previstas cuando sea necesario.

Un ejercicio fallido modificó dos archivos versionados y creó un archivo sin seguimiento. ¿Qué acciones de recuperación son apropiadas?

  • A. Restaurar las dos rutas versionadas previstas desde el commit inicial registrado.
  • B. Revisar el archivo sin seguimiento y eliminarlo de forma individual solo si lo creó el ejercicio y ya no es necesario.
  • C. Ejecutar un comando amplio de restablecimiento o limpieza sin revisar el árbol de trabajo.
  • D. Verificar el resultado con git status y git diff.
Mostrar respuesta y explicación

Respuesta: Restaurar las dos rutas versionadas previstas desde el commit inicial registrado.; Revisar el archivo sin seguimiento y eliminarlo de forma individual solo si lo creó el ejercicio y ya no es necesario.; Verificar el resultado con git status y git diff.

Por qué: Restaura de forma explícita las rutas versionadas, revisa individualmente los archivos sin seguimiento y verifica después el repositorio. Un git restore aplicado a rutas específicas no elimina archivos sin seguimiento, y los comandos destructivos amplios pueden poner en riesgo trabajo no relacionado.

Lleva esta lección a la práctica

Plantillas y listas gratuitas relacionadas

Apoyar