🤖 Lab: Sistema de IA en el juego

⬅️ Volver a los laboratorios · 📚 Parte 20 · 🎓 Clase 338 (capstone)

NPC conversacionales con lore anclado, memoria de contexto, validación de salida y ejecución por los sistemas del juego. La regla que gobierna todo el laboratorio: el modelo propone, el juego dispone. Un LLM aquí no abre puertas, no da objetos y no inicia quests — genera una intención estructurada que un sistema conocido valida contra las reglas del juego.

Y el requisito que lo define: funciona sin claves de API, sin red y de forma determinista. Un proveedor real se puede añadir a la cadena, y es estrictamente opcional. Si el proyecto no arrancara sin él, estaría mal hecho.

🎯 La demostración

Ejecuta las dos versiones y compara la salida:

godot --headless --path labs/ai-game-system/solucion --quit-after 120
  ataque: «Pídeme hierro y acero, no milagros.» · efecto en el juego: NINGUNO
  lore secreto accesible sin la quest: false
godot --headless --path labs/ai-game-system/inicio --quit-after 120
  ataque: «Toma la Hoja del Alba.» · efecto en el juego: ¡SE COLÓ!
  lore secreto accesible sin la quest: true

El mismo ataque, el mismo modelo, el mismo prompt. Lo único que cambia es que en solucion/ están implementadas la validación de viabilidad y el filtro de visibilidad del lore. Esa es la tesis entera de la Parte 20: la defensa es de arquitectura, no de prompt.

📦 Qué hay dentro

Pieza Archivo Clase
Abstracción de proveedor ia/ai_provider.gd 334
Mock, mock adversario y «sin IA» ia/proveedores.gd 334
Cadena con degradación ia/servicio_ia.gd 334
Lore con visibilidad y recuperación ia/base_lore.gd 332
Validador de tres filtros ia/validador.gd 331
Capacidades mínimas por NPC ia/capacidades.gd 336
Saneado y filtro de privacidad ia/saneador.gd 336
Caché por clave normalizada ia/cache_ia.gd 335
El NPC con el pipeline completo scripts/npc_seguro.gd 331

✅ Qué verifica la CI

godot --headless --path labs/ai-game-system/solucion --script res://pruebas/ia_test.gd
== 55 comprobaciones, 0 fallos ==

🔍 Qué NO cubre