Casos de estudio de la Academy

Casos reales de CONTRABAND

Un producto educativo de Martinez AI Studios

La IA puede escribir el código. Tú sigues necesitando entender el juego.

Estas páginas enseñan desde CONTRABAND: Edge of the Fold — un juego comercial de Steam creado por Dero Lavigne y publicado por Martinez AI Studios. Los estudiantes no aprenden con ejemplos de juguete. Un caso se publica solo cuando el incidente puede evidenciarse: síntoma, impacto en el jugador, reproducción, ownership, supuesto erróneo, causa raíz, arreglo mínimo, test de regresión, comprobación de release y una lección que se transfiere.

Caso real de desarrollo de CONTRABAND

CONTRABAND: Edge of the Fold

  • Ownership de estado

    Distancia de llegada a Keros: dos caminos, dos posiciones

    El tutorial de CONTRABAND (Last Run) tiene dos llegadas distintas a Keros. La primera es un teletransporte scripted. La segunda es un warp de mapa del jugador desde Belu. No son la misma función. Tratar un offset local de estación como posición de mundo aparcó el retorno cerca del origen — unos 795–798 m HUD del muelle — en vez de la banda near-dock prevista.

    Leer el caso
  • Input / UX

    Pointer lock frente a diálogo clicable

    Durante Last Run, una UI de hail/elección con botones 1/2 clicables podía aparecer con el pointer lock aún activo. Teclado/ratón no podían hacer clic. Mando no necesitaba el mismo aviso. El arreglo documentado es “Pulsa ESC para tomar el mouse”, con dos reglas siguientes: no recapturar mientras el hail está abierto, y tras ESC no volver a pedir ESC.

    Leer el caso
  • Rendering / lifecycle

    Lifecycle de WebGL: dispose no es liberar

    Chromium guarda un presupuesto pequeño de contextos WebGL por proceso (del orden de 8–16). Las UI de preview de CONTRABAND construían un WebGLRenderer al abrir y dispose() al cerrar. dispose() no libera el contexto GPU de inmediato. Tras unos ciclos de reopen el runtime registraba demasiados contextos activos, el canvas de vuelo recibía CONTEXT_LOST_WEBGL, el HUD DOM seguía y la vista 3D se iba a blanco.

    Leer el caso
  • Economía / progresión

    Progresión de Supervivencia: umbral, duplicados, dificultad

    La Supervivencia de Kaela entrega cascos cuando los créditos cruzan un umbral de doble precio. Los precios de astillero aplican un multiplicador global ×8 tras un escalado de tier. Usar el precio mostrado hacía los desbloqueos ocho veces más caros. Por separado, las bajas etiquetadas de Supervivencia seguían recibiendo créditos ambientales, combo y XP — un doble pago. Diez perfiles de dificultad (Historia a Extinción) solo multiplican stats enemigas; los tests exigen créditos de hito e XP de baja/oleada idénticos en cada perfil.

    Leer el caso
  • Release engineering

    Gates de release: QA, cloud, luego un build

    El cliente Steam de CONTRABAND (App ID público 4901100) registra un gate de release explícito: npm run qa:release:logic (tests unitarios, ciclos de módulos, edition + grafo de historia + validate-release) más runners Electron de QA de juego y Last Run (inglés/español × teclado/ratón y mando). El log del 15 ago 2026 también registra reglas de save/cloud: el autosave no debe pisar antes de cargar, New Game sube la run nueva a Steam Cloud, y se rechaza un schema de save futuro. Esta página no documenta identificadores admin de Steamworks, cuentas de builder ni credenciales de subida.

    Leer el caso

Qué se publica

Los temas del plan que todavía no pueden responder cada sección exigida permanecen sin publicar. No se listan aquí como hechos. El conjunto público es pequeño a propósito.