Antes de escribir una sola línea de juego necesitas un entorno que compile, enlace y ejecute. Vamos a dejarlo listo en menos de 30 minutos.
En la lección anterior hablamos de qué vamos a construir. Ahora toca poner los cimientos. Vamos a usar SDL2 (Simple DirectMedia Layer) como librería gráfica durante todo el curso, por tres razones concretas: es multiplataforma (Windows, Linux, macOS), es de bajo nivel — te obliga a entender el bucle de juego, el renderizado y el input en vez de escondértelo detrás de un motor — y tiene años de documentación y ejemplos, lo cual ayuda muchísimo a que tu asistente de IA te dé respuestas precisas cuando le preguntes sobre ella.
No vamos a usar un motor como Unity o Godot porque el objetivo de este curso es que entiendas los fundamentos de C/C++ aplicados a juegos. Una vez que domines esto, aprender cualquier motor te va a resultar trivial.
Necesitas un compilador de C++ que soporte al menos C++17. En Linux, lo normal es `g++`. En macOS, se instala junto con las Command Line Tools de Xcode. En Windows, la opción más simple es MSYS2 con `mingw-w64`, o usar WSL2 para tener un entorno Linux completo.
Verifica que quedó instalado correctamente:
Si ves un número de versión en ambos comandos, estás listo para el siguiente paso.
SDL2 se puede instalar por gestor de paquetes en Linux y macOS, y por MSYS2 en Windows. También vamos a instalar `SDL2_image` (para sprites, que usaremos en la lección 4) y `SDL2_ttf` (para texto en pantalla, útil desde el marcador de Pong).
Vamos a escribir el "hola mundo" de SDL2: abrir una ventana negra y cerrarla con la tecla Escape o el botón de cerrar.
Compílalo así:
Si ves una ventana oscura que se cierra con Escape, tu entorno gráfico está funcionando.
A partir de la próxima lección vamos a usar CMake para no depender de comandos largos de `g++`. Este es el esqueleto que vamos a reutilizar en todas las lecciones siguientes:
Ahora la otra mitad del entorno: tu asistente de IA. Si usas Claude Code, instálalo desde la terminal y ejecútalo dentro de la carpeta de tu proyecto — así tiene contexto completo de tus archivos, tu `CMakeLists.txt` y tus errores de compilación. Si prefieres Cursor, ábrelo directamente sobre la carpeta del proyecto; su integración de IA funciona sobre el mismo principio: contexto de archivos reales, no fragmentos aislados de código pegados en un chat genérico.
La diferencia clave de trabajar así, dentro del proyecto, es que puedes pedirle cosas como "corre el CMake y dime por qué falla el linker" y el asistente puede leer el error real, no uno que tú transcribiste a medias. Esto es especialmente valioso en C++, donde los errores del linker (símbolos no definidos, librerías no encontradas) suelen ser crípticos para quien empieza.
Para mantener consistencia durante las próximas 11 lecciones, usa esta estructura base en cada proyecto:
Con el compilador, SDL2 y tu asistente de IA configurados y verificados, ya tienes todo lo necesario. En la próxima lección vamos a usar exactamente este entorno para construir nuestro primer juego completo: Pong, paso a paso, con el bucle principal, las paletas, la pelota y el marcador.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel