C • C++ • raylib • Algoritmos
$ Curso intensivo de 16 semanas (128 horas) con 2 clases por semana de 4 horas cada una. Foco en C con bases sólidas y "puentes" a C++ cuando suma valor (strings, structs/clases, organización de código).
$ Metodología 100% práctica: 30-45 min de teoría + demo guiada, 2h de práctica incremental con ejercicios cortos, 60-90 min de mini-proyecto/desafío, y 10 min de cierre con errores comunes y checklist.
$ Al finalizar construirás 3 juegos en consola (Adivina el número PRO, Ta-Te-Ti, RPG por turnos) y 2-3 juegos simples en raylib (Pong, Space Shooter o Breakout).
Explicar qué es programar, qué es un programa, qué hace un compilador y el flujo código → compilación → ejecutable.
Diseñar soluciones con algoritmos, pseudocódigo y diagramas de flujo antes de escribir código.
Dominar variables, tipos, control de flujo, funciones, arrays, structs, punteros (nivel usable) y archivos.
Construir 3 juegos completos en consola (texto): Adivina el número PRO, Ta-Te-Ti y RPG por turnos.
Crear 2-3 juegos simples con gráficos 2D usando raylib: Pong, Space Shooter, Breakout o Top-down collect.
Organizar un proyecto: archivos .h/.c, módulos, build básico y depuración.
Juegos que construirás durante el curso
Intentos, pistas, menú repetir, dificultad
Modo 2 jugadores + validación + reinicio
Estados, combate, inventario básico
Menú simple + score con raylib
Nave, disparos, enemigos, oleadas, score
Pelota, paleta, ladrillos, niveles simples
8 Unidades • 16 Semanas • 128 Horas • De Principiante a Desarrollador
Entender el "ecosistema" y empezar a resolver problemas con pasos claros. Qué es un programa, qué es la programación, rol del programador en videojuegos. Lenguajes alto/bajo nivel, compilados vs interpretados. Por qué C/C++ en juegos. Qué es un algoritmo, etapas de resolución de problemas, estrategias top-down/bottom-up. Pseudocódigo + diagrama de flujo (Flowgorithm). Herramientas: editor/IDE, compilador, terminal. Primer programa en C: main, printf, return.
Escribir programas interactivos y decidir caminos lógicos. Variables, tipos básicos (int, float, char), constantes. Operadores aritméticos, relacionales, lógicos y precedencia. Entrada/salida: scanf y buenas prácticas. Control de flujo: if/else, switch, bucles while, do-while, for. Validación de datos y debug mental: "seguir el valor de variables".
Dejar de escribir "un choclo en main" y empezar a pensar como dev. Funciones: firma, parámetros, retorno, alcance (scope). Variables locales/globales (cuándo NO usarlas). Diseño top-down: partir un problema en subproblemas. Librerías, headers: .h/.c, #include, prototipos. Buenas prácticas: nombres, estilo, comentarios útiles. Testing manual: casos normales/bordes.
Manejar colecciones y texto, base para juegos (tableros, listas). Arrays 1D: recorrido, búsqueda, máximo/mínimo, conteos. Arrays 2D: grillas (tableros). Strings en C: char[], terminador \0, funciones típicas. Intro a punteros práctica (qué es una dirección, por qué existe). Errores típicos: índices fuera de rango, \0, buffers.
Entender "estado" y modelado de datos (clave en videojuegos). struct: agrupar datos del "mundo". Arrays de structs: enemigos/items. Estado de juego: "lo que el juego sabe". Máquina de estados simple: menú/jugando/game over. Organización del código: game.h/.c, player.h/.c, etc. Proyecto: simulador RPG por turnos con HP/ATK/DEF.
Guardar/cargar datos (scores, settings) y mejorar calidad. Archivos: lectura/escritura (fopen, fprintf, fscanf, binario opcional). Guardar puntajes (highscore) y configuración. Manejo de errores (archivo no existe, formato inválido). Pulido: UX de consola, logs, mensajes claros. Reorganizar proyectos en carpetas: src/, include/.
Pasar del mundo consola al mundo "game loop real". Qué es un motor/lib gráfica, qué hace raylib. Setup de proyecto raylib. Concepto game loop: update/draw, delta time. Coordenadas 2D, colores, formas básicas. Input teclado/mouse. Colisiones simples (AABB). Sprites (texturas y rectángulos). Proyecto: Pong o Dodge con menú simple + score.
Integrar todo: estado, estructura, gameplay, UI, audio opcional. Arquitectura mínima de juego: GameState, Init/Update/Draw/Unload. UI: textos, botones simples (hitbox + mouse). Spawns, dificultad progresiva, balance básico. Audio (si se llega): efectos y música. Export/build final. Opciones: Space Shooter 2D, Breakout, o Top-down collect.
INSCRÍBETE EN INTRODUCCIÓN A C/C++
💾 Cupos limitados • Inicio próxima cohorte: Marzo 2026