# 🎮 Programa de Desarrollo de Videojuegos Moderno ## **352 clases · 22 partes · de fundamentos a nivel profesional** **El programa de desarrollo de videojuegos más completo en español — desde matemáticas, C#, C++ y game loops hasta motores 2D/3D, shaders, IA de juegos, multijugador, VR/AR, optimización, publicación, sistemas de gameplay, backend, IA generativa y arquitectura de motores.** [![CI](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/ci.yml) [![Security](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/security.yml/badge.svg?branch=main)](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/security.yml) [![Deploy Pages](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/deploy-pages.yml/badge.svg?branch=main)](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/deploy-pages.yml) [![Labs (Godot)](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/labs.yml/badge.svg?branch=main)](https://github.com/vladimiracunadev-create/modern-gamedev-program/actions/workflows/labs.yml) [![Clases](https://img.shields.io/badge/clases-352%20·%2022%20partes-7c5cff?style=for-the-badge)](classes/README.html) [![Nivel](https://img.shields.io/badge/nivel-fundamentos%20→%20profesional-2e8b57?style=for-the-badge)](classes/README.html) [![Idioma](https://img.shields.io/badge/idioma-español-blue?style=for-the-badge)](README.html) [![Motores](https://img.shields.io/badge/motores-Godot%20·%20Unity%20·%20Unreal-orange?style=for-the-badge)](classes/README.html) [![License](https://img.shields.io/badge/license-MIT-3fb950?style=for-the-badge)](LICENSE) [🌐 Sitio del curso](https://vladimiracunadev-create.github.io/modern-gamedev-program/) · [📚 Clases](classes/README.html) · [🧪 Laboratorios](labs/README.html) · [🧭 Rutas](rutas/README.html) · [📝 Autoevaluación](autoevaluaciones/README.html) · [📖 Glosario](glosario/README.html) · [🗺️ Roadmap](ROADMAP.html)

🧭 Estado del programa. Programa completo: las 22 partes (352 clases) están construidas — de los fundamentos, el 2D y el 3D a física, shaders, IA, audio, multijugador, game design, arte, UI, plataformas, web, VR/AR, optimización, tooling, producción y carrera profesional; y de ahí a las cuatro partes de especialización en ingeniería: sistemas de gameplay, backend y confiabilidad, IA generativa y arquitectura avanzada de motores. Cada clase incluye laboratorio guiado paso a paso, ejercicios y reto verificable.

Qué está verificado por una máquina y qué no, para que sepas de qué te fías: los 10 laboratorios son proyectos Godot completos que la CI importa, arranca y pone a prueba en cada push — los cuatro últimos con suites de 301 comprobaciones entre todos. El código que vive dentro de los README de clase está escrito y revisado a mano, pero no se ejecuta en CI: es material de lectura y guía, no un proyecto que se abra. Si el badge de Labs está verde, lo que garantiza son los laboratorios.

🎯 Qué es esto

Un currículo modular y secuencial que cubre todo el espectro del desarrollo de videojuegos moderno, paso a paso, en clases numeradas (001→…) agrupadas en 22 partes. No es teoría suelta: cada clase termina en un reto verificable con criterio de aceptación. En las clases de programación eso es código que corre; en las de arte, producción o carrera, un entregable concreto (un set de assets, un presupuesto, un portfolio). Cada clase es una carpeta con un README.md completo que incluye:

📚 Fuentes y trazabilidad

Cada clase cierra con sus fuentes, y cada fuente citada existe en un registro único con localizador resoluble. Lo que no se pudo resolver está declarado como hueco, no rellenado a ojo.

Fuentes

📖 Bibliografía completa del programa

Las 352 clases se apoyan en 207 obras: 31 libros con su ISBN-13, 5 artículos con su DOI, 18 normas y especificaciones, y 153 obras de documentación oficial y de referencia. Están todas listadas —autoría, año, localizador y qué clases las citan— en sources/BIBLIOGRAFIA.md.

De ellas, 204 tienen el localizador comprobado y 3 declaran un hueco que nadie ha rellenado a ojo. El dato en bruto está en sources/bibliography.json; lo comprueba scripts/verify-sources en cada push —incluidas estas cifras, que no se escriben a mano—, y la última pasada por red fue el 2026-08-19.

Las diez obras que más sostienen el programa

Obra Autoría Tipo Clases Localizador
Godot Engine 4.3 documentation Godot Engine (colaboradores del proyecto) documentación 275 abrir
Game Engine Architecture Gregory, Jason libro 21 abrir
Steamworks Documentation Valve Corporation documentación 19 abrir
Game Programming Patterns Nystrom, Robert libro 18 abrir
OWASP — Top Ten y proyectos asociados OWASP Foundation documentación 16 abrir
Real-Time Rendering Akenine-Möller, Tomas · Haines, Eric libro 15 abrir
MDN Web Docs Mozilla y colaboradores de MDN documentación 15 abrir
The Art of Game Design: A Book of Lenses Schell, Jesse libro 13 abrir
Gaffer On Games — artículos de física y networking de juegos Fiedler, Glenn documentación 12 abrir
GitHub Docs GitHub, Inc. documentación 12 abrir

Política de versión del motor. La documentación del motor y de la suite de arte va anclada a versión, nunca a un alias móvil: Godot 4.3 —la que compila y ejecuta la CI de laboratorios— y Blender 4.2 LTS. Los alias /en/stable y /latest se mueven solos y dejan al programa citando una versión que nunca enseñó; verify-sources falla si reaparecen.

🧪 Laboratorios ejecutables

No solo se lee: se juega. El programa incluye proyectos Godot reales que se abren y se ejecutan, en versión inicio/ (con TODO para que los completes) y solucion/ (referencia jugable).

Los assets son CC0 generados por código (scripts/generar_assets.py) y cada push verifica los proyectos con Godot headless (importa, compila y arranca). No hay un lab por clase, y es a propósito: los tiene cada parte que termina en algo ejecutable. Las de arte, producción o carrera terminan en un entregable, no en un .exe — el porqué, en labs/.

🧭 Portal: rutas, autoevaluación, progreso y buscador

🌐 Todo navegable en el sitio del curso.

📕 Manual completo (todo el curso en un PDF)

¿Prefieres el curso entero en un solo documento, para leer de corrido o estudiar sin conexión? El manual consolida las 352 clases en orden, con portada e índice enlazado.

Se genera con python scripts/generar_manual.py a partir de las clases, así que refleja el contenido del repositorio.

📱 Apps para leer sin conexión (Windows y Android)

¿Prefieres estudiar sin navegador y sin internet? Las apps Videojuegos Moderno (app/) empaquetan el mismo HTML que se publica en GitHub Pages: las 352 clases, el buscador, el glosario, las autoevaluaciones y el seguimiento de progreso, todo dentro del ejecutable.

APK de sideload, fuera de Play Store, firmado en el proceso de release. En Android hay que permitir la instalación desde orígenes desconocidos para el instalador que uses. La app de Windows es un ZIP portable: se descomprime y se ejecuta, sin instalador.

🖨️ ¿O solo una parte?

También puedes generar guías PDF por clase (mismo estilo imprimible):

python scripts/generar_material.py --parte 1   # una parte
python scripts/generar_material.py --all       # las 352 clases (~12 min)

Estas guías por clase no se versionan (sumarían ~200 MB): se generan bajo demanda en material/. Salen optimizadas para imprimir: sin color, densas y sin partir los bloques de código entre páginas.

🛠️ Todas las tecnologías, no una sola

El programa es agnóstico de motor por diseño: primero enseña los conceptos (game loop, vectores, colisiones, ECS) y luego los aterriza en las herramientas líderes de la industria. A lo largo del programa se usan:

Categoría Tecnologías cubiertas
Motores Godot 4 (principal, gratis y open source), Unity (C#), Unreal Engine 5 (C++/Blueprints)
Lenguajes C#, C++, GDScript, Python, JavaScript/TypeScript, HLSL/GLSL (shaders), Rust (Bevy)
Web / HTML5 Canvas, WebGL, Phaser, PixiJS, Three.js, WebAssembly
Gráficos Pipeline de render, shaders, PBR, iluminación, post-procesado
Física Godot Physics, Box2D, PhysX, integración numérica
Networking ENet, netcode determinista, cliente-servidor, rollback
Herramientas Git + LFS, Blender, Aseprite, Tiled, FMOD/Wwise, profilers
Plataformas Windows, Linux, macOS, Android/iOS, web, consolas, VR/AR
Backend y confiabilidad HTTP/REST, autenticación y entitlements, feature flags, telemetría, circuit breakers, release engineering
IA generativa Abstracción de proveedor, modelos locales y remotos, RAG, evaluación, seguridad frente a prompt injection
Ingeniería de motor Data-oriented design, allocators, job systems, particionamiento espacial, Vulkan/DX12/Metal, GPU-driven rendering

Godot 4 es el motor principal para la práctica temprana (gratis, ligero, moderno, exporta a todo), pero los conceptos se contrastan con Unity y Unreal para que puedas trabajar en cualquier estudio.

🔖 Versión de referencia: Godot 4.3. Todo el código de las clases usa la API de Godot 4 y los laboratorios se verifican en CI contra Godot 4.3 en cada push. Con versiones 4.x posteriores debería funcionar igual; si algo cambia, abre un issue.

🗂️ Las 22 partes

Cada parte tiene su propio README con narrativa completa: de qué trata, resultados de aprendizaje, temario y enlaces a sus clases. Las cinco etapas se presentan aquí con el mismo detalle porque las cinco están completas.

🟢 Etapa 1 — Primeros juegos

Para quien empieza sin base. Al terminarla tienes un plataformas 2D con buen game feel y un nivel 3D explorable, ambos exportados y jugables por otra persona.

# Parte Clases Contenido central README
0 Fundamentos y prerrequisitos 25 (001–025) Vectores, game loop, POO, patrones, Git+LFS y montaje del entorno 📘 leer
1 Motores 2D y tu primer juego jugable 20 (026–045) Escenas, tilemaps, controlador, game feel, HUD, audio y guardado 📘 leer
2 Desarrollo 3D: motores, escenas y transformaciones 22 (046–067) Transformaciones, cámaras, materiales, luces, navegación y blockout 📘 leer

🔵 Etapa 2 — Los sistemas del juego

Las disciplinas técnicas que hacen que un juego se sienta, se vea, reaccione, suene y se juegue con otros. Al terminarla sabes escribir shaders, un enemigo que decide y una partida en red autoritativa.

# Parte Clases Contenido central README
3 Física y matemáticas de juegos aplicadas 18 (068–085) Integradores, colisiones, steering, easing y determinismo 📘 leer
4 Gráficos, shaders y rendering moderno 22 (086–107) Pipeline, GLSL, PBR, iluminación, post-procesado y optimización visual 📘 leer
5 Inteligencia artificial para juegos 18 (108–125) FSM, behavior trees, pathfinding A*, percepción, memoria y squads 📘 leer
6 Audio y música interactiva 12 (126–137) Buses, mezcla, audio espacial, música adaptativa y ducking 📘 leer
7 Multijugador y networking 18 (138–155) RPCs, servidor autoritativo, predicción, reconciliación y rollback 📘 leer

🟣 Etapa 3 — Diseño, arte y experiencia

Lo que convierte un prototipo técnico en un juego que alguien quiere jugar. Al terminarla tienes un nivel diseñado con intención, un set de assets coherente y una UI que se entiende y se navega.

# Parte Clases Contenido central README
8 Game design y diseño de niveles 16 (156–171) Mecánicas, economía, curvas de dificultad, balance, narrativa y niveles 📘 leer
9 Arte, animación y pipeline de assets 16 (172–187) Pixel art, 3D, rigging, animación, LODs y nomenclatura de assets 📘 leer
10 UI/UX, accesibilidad y localización 12 (188–199) Layouts, foco, navegación por teclado, i18n y texto al 200 % 📘 leer

🟠 Etapa 4 — Plataformas, rendimiento y publicación

Sacar el juego de tu máquina y ponerlo en manos de la gente. Al terminarla has exportado a móvil y web, has optimizado con el profiler y tienes un plan de lanzamiento y un portfolio.

# Parte Clases Contenido central README
11 Móvil, consolas y plataformas 14 (200–213) Export, táctil, batería, tiendas y requisitos de plataforma 📘 leer
12 Juegos web y HTML5 14 (214–227) Canvas, WebGL, WebAssembly, Phaser, Three.js y PWA 📘 leer
13 VR, AR y experiencias inmersivas 12 (228–239) Visores, tracking, interacción, confort y rendimiento en XR 📘 leer
14 Optimización, profiling y rendimiento 15 (240–254) Profiler, presupuesto de fotograma, CPU, GPU, memoria y carga 📘 leer
15 Herramientas, editores y automatización 12 (255–266) Plugins de editor, datos, testing automatizado y CI de proyecto 📘 leer
16 Producción, publicación, monetización y LiveOps 14 (267–280) Alcance, hitos, presupuesto, tiendas, analítica y post-lanzamiento 📘 leer
17 Capstones y preparación profesional / portfolio 12 (281–292) Vertical slice, portfolio, entrevistas y publicación del juego 📘 leer

🔴 Etapa 5 — Especialización en ingeniería

La diferencia entre saber hacer un juego y saber sostener uno. Llega después del capstone porque cada parte responde a un problema que solo se reconoce cuando ya lo tienes delante. Sus cuatro laboratorios funcionan sin claves de API, sin servicios de pago y sin red: la CI los ejecuta completamente offline con mocks deterministas.

# Parte Clases El problema que resuelve README
18 Arquitectura de gameplay y sistemas sistémicos 18 (293–310) Tu inventario, tus stats y tus quests funcionan por separado y se rompen al combinarse 📘 leer
19 Ingeniería de producción, backend y confiabilidad 14 (311–324) Funciona en tu máquina; en producción hay red que falla y saves que se corrompen 📘 leer
20 IA generativa y desarrollo asistido por IA 14 (325–338) Dónde aporta un modelo de lenguaje, y cómo impedir que regale una espada legendaria 📘 leer
21 Arquitectura avanzada de motores y rendering 14 (339–352) El profiler dice 40 ms y no sabes por qué: datos, memoria, paralelismo y rendering 📘 leer

⚠️ La Parte 20 no sustituye a la Parte 5: la complementa. Los behavior trees y el pathfinding siguen siendo la base del comportamiento de un NPC, y la ruta de IA para juegos hace la Parte 5 primero.

➡️ Ver el índice plano de las 352 clases

📈 ¿Ya estabas siguiendo el curso? Las clases 001–292 no cambiaron de número ni de URL, y no se eliminó ni se reemplazó ninguna. Sigues exactamente donde estabas. El detalle de qué se añadió y qué se respetó, en docs/EVOLUTION-292-TO-352.md.

📚 Pauta derivada de los mejores libros de la industria

Cada parte sigue explícitamente la secuencia y los énfasis de la literatura de referencia del sector:

Área Libros de referencia
Arquitectura de motores Gregory — Game Engine Architecture · Nystrom — Game Programming Patterns
Matemáticas y física Lengyel — Mathematics for 3D Game Programming · Millington — Game Physics Engine Development
Gráficos / shaders Akenine-Möller et al. — Real-Time Rendering · The Book of Shaders (Gonzalez Vivo)
IA de juegos Millington & Funge — Artificial Intelligence for Games · Game AI Pro (Rabin)
Game design Schell — The Art of Game Design · Fullerton — Game Design Workshop
Multijugador Glazer & Madhav — Multiplayer Game Programming · Valve/GDC netcode talks
Producción Keith — Agile Game Development · Chandler — The Game Production Handbook
Sistemas y datos Nystrom — Game Programming Patterns · Fabian — Data-Oriented Design
Confiabilidad Beyer et al. — Site Reliability Engineering · Kleppmann — Designing Data-Intensive Applications
Rendering avanzado GPU Gems / GPU Zen · Pharr, Jakob & Humphreys — Physically Based Rendering

Las referencias apuntan a las obras; no se reproduce su contenido. El material del curso es original en su redacción.

🚀 Cómo usar el programa

  1. Sigue el orden. La numeración es secuencial por diseño: cada clase asume lo anterior. Si ya dominas un bloque, sáltalo, pero no empieces por la Parte 4 (shaders) sin la 0.
  2. Monta el entorno primero. La Clase 016 te deja Godot, Unity y las herramientas listas para trabajar.
  3. Haz los retos. Leer no basta: cada clase termina en un reto con criterio de aceptación. Escribe el código, ejecútalo, rómpelo y arréglalo — y en las clases sin código, entrega la pieza que pidan.
  4. Construye tu portfolio. Cada capstone es una pieza publicable. Al final tendrás juegos jugables que enseñar.

🧭 Rutas sugeridas por rol

Cada rol tiene una guía de carrera completa (qué es, día a día, qué necesitas saber, tu ruta en el curso, qué te contrata, salario orientativo, mitos y siguientes pasos). Haz clic en el nombre:

Rutas de base (Partes 0–17), que se pueden empezar desde cero:

Rutas de especialización (Partes 18–21), que empiezan donde terminan las anteriores:

➡️ El índice con las trece rutas y cómo se encadenan, en rutas/.

✅ Calidad y CI

El repositorio no se publica a ciegas: cada push y cada PR pasan por integración continua que valida estructura, enlaces, codificación, estilo, build del sitio y los diez laboratorios con Godot headless. Nada llega a main en rojo.

⚙️ Workflow Qué cubre
🧪 ci.yml estructura y secciones obligatorias de las 352 clases, enlaces internos, navegación anterior/siguiente, índice/manifest/glosario sincronizados, codificación UTF-8 sin mojibake, markdownlint y build del sitio
🎮 labs.yml los 10 laboratorios × inicio/solucion con Godot 4.3 headless: importan limpio, arrancan y publican su marcador. Más las pruebas dedicadas de red, IA y UI, las cuatro suites de las Partes 18–21 (301 comprobaciones) y el contrato offline (sin red, sin URLs externas, sin credenciales)
🔒 security.yml escaneo de secretos (gitleaks) y análisis estático (bandit) de los scripts
🚀 deploy-pages.yml genera y despliega el sitio del curso a GitHub Pages

Los mismos validadores corren en local antes de subir:

python scripts/verificar_todo.py --godot /ruta/a/godot

O uno a uno, si prefieres ir por partes:

python scripts/validar_estructura.py    # 352 clases + enlaces .md sin rotos
python scripts/validar_encoding.py      # todo UTF-8, sin mojibake
python scripts/generar_navegacion.py --check
npx markdownlint-cli2 "**/*.md"

🎯 Qué es y qué no es este programa

### ✅ Lo que sí es - 📚 un currículo **secuencial y completo** de 352 clases, de fundamentos a especialización en ingeniería; - 🧪 un curso con **práctica real**: 10 laboratorios Godot ejecutables y verificados en CI, cuatro de ellos con suites de pruebas; - 🧭 una guía de **carrera por rol** con día a día, habilidades, portfolio y salario orientativo; - 🔍 material **honesto sobre sus límites**: dice explícitamente qué verifica una máquina y qué no; - 📖 material **abierto y offline-friendly** (manual PDF, sitio en Pages y apps de escritorio y Android), en español. ### ❌ Lo que no es - 🚫 un atajo para "hacer un juego en un fin de semana": la numeración es secuencial por diseño; - 🚫 un curso de un solo motor: Godot es el principal, pero los conceptos se contrastan con Unity y Unreal; - 🚫 una promesa de empleo: las guías de rol marcan los salarios como **orientativos**, y el sector paga por debajo del software empresarial equivalente; - 🚫 un sustituto de publicar: lo que te contrata es un juego terminado, no haber leído 352 clases; - 🚫 contenido copiado de los libros de referencia: la redacción es **original**.

💡 Idea fuerza

El valor de este programa no está en acumular tecnologías, sino en traducirlas en juegos que existen: una secuencia pedagógica que no se salta pasos, laboratorios que se abren y se ejecutan, honestidad sobre lo que cada rol implica de verdad, y un recorrido que puedes hacer de principio a fin sin quedarte a medias.

📄 Licencia

MIT — úsalo, modifícalo y compártelo. El conocimiento debe ser accesible.


**Hecho para quien quiere aprender a hacer videojuegos en serio, de principio a fin.** [⬆️ Empezar por el índice de clases](classes/README.html)
**¿Te resulta útil? ⭐ Dale una estrella al repo.** [![GitHub stars](https://img.shields.io/github/stars/vladimiracunadev-create/modern-gamedev-program?style=social)](https://github.com/vladimiracunadev-create/modern-gamedev-program/stargazers) [![GitHub forks](https://img.shields.io/github/forks/vladimiracunadev-create/modern-gamedev-program?style=social)](https://github.com/vladimiracunadev-create/modern-gamedev-program/network/members) [![Follow](https://img.shields.io/github/followers/vladimiracunadev-create?style=social&label=Follow)](https://github.com/vladimiracunadev-create) Hecho con 🎮 y ☕ por [Vladimir Acuña](https://github.com/vladimiracunadev-create)