¿Cómo comenzar a crear videojuegos? — Parte 1
Este es el primero de una serie de pequeños tutoriales para quienes desean comenzar a construir experiencias interactivas y emocionales a través del desarrollo de videojuegos.
Introducción
Comenzar a hacer videojuegos no requiere fórmulas mágicas ni grandes presupuestos. Requiere lo esencial: ganas de contar algo, curiosidad por aprender y una herramienta que nos dé libertad. En esta serie, usaremos Pico-8, una consola virtual que condensa en su simplicidad todo el poder del juego.
Su curva de aprendizaje amable es perfecta para que des tus primeros pasos y veas resultados rápidamente, manteniéndote motivado en este emocionante viaje.
Todo videojuego nace de un ciclo, un latido constante que da vida a los sueños en código.
¿Qué vamos a lograr?
Vamos a entender los fundamentos del desarrollo de videojuegos: el game loop, las funciones principales de Pico-8 y cómo mostrar nuestro primer “Hola Mundo”.
Aunque comenzamos con Pico-8, si los primeros tres tutoriales tienen buena recepción, consideraré extender la serie a tecnologías como Haxe, Unity, C++ o Python.
¿Tienes alguna preferencia? Puedes escribirme por Twitter / X, TikTok o correo electrónico.
El corazón de todo juego: El Ciclo
Imagínate ese momento… cuando tu personaje se mueve por primera vez, o cuando tu primer pixel aparece en pantalla. Esa chispa es el motor de todo desarrollador, y hoy vamos a encenderla.
Antes de escribir código, hay que entender una verdad universal: todos los juegos funcionan gracias a un ciclo, también conocido como game loop.
¿Qué es un ciclo?
Un ciclo es una secuencia de pasos que se repite muchas veces por segundo. En programación, esto se implementa con estructuras como for, while o do...while, pero en los videojuegos existe un tipo especial de ciclo que da vida a todo: el game loop.
EL GAME LOOP: el latido del juego.
Las tres etapas del Game Loop
1. Inicio (_init())
Este momento sucede una sola vez: cuando abrimos el juego. Aquí colocamos cada objeto en su lugar, cargamos los recursos y preparamos el universo que estamos a punto de habitar.
Ejemplos:
- Posicionar al personaje.
- Cargar enemigos y objetos recolectables.
- Ubicar la cámara.
- Cargar datos de una partida previa.
2. Actualización (_update())
Es el primer paso de cada ciclo. Aquí leemos las acciones del jugador, calculamos movimientos, colisiones, IA de enemigos y todas las reglas del juego.
3. Representación (_draw())
Mostramos en pantalla el resultado de todo lo anterior. Es donde dibujamos el mundo, reproducimos sonidos, animaciones y emociones.

Pico-8 y su Game Loop integrado
Pico-8 nos entrega un game loop listo para usar, a través de tres funciones mágicas que debemos sobrescribir:
function _init()
end
function _update()
end
function _draw()
end
Estas funciones nos permiten definir el inicio, la lógica del juego y lo que se dibuja en pantalla, respectivamente.

Primeros pasos en Pico-8
- Abre Pico-8. Verás una consola negra con texto.
- Ejecuta el comando:
save game_loop.p8
- Presiona
Escpara abrir el editor de código (azul y magenta). - Escribe el siguiente código:
function _init()
end
function _update()
end
function _draw()
end
5. Para ejecutar tu juego:
- Windows/Linux:
Ctrl + R - Mac:
Cmd + R - O bien, presiona
Escpara salir a la consola y escribe:run game_loop.p8
Aún no verás nada en pantalla… pero estás construyendo el corazón de tu universo.
Nuestro primer “Hola Mundo”
El clásico programa que todos escribimos al aprender un lenguaje. Vamos a mostrar texto en pantalla con ayuda de dos funciones: cls() y print().
cls(): Borrar la pantalla
Limpia la pantalla antes de dibujar el nuevo frame. La ubicamos dentro de _draw().
Es indispensable borrar lo que hay en pantalla para que al actualizar los cálculos de la ilusión de animación mostrando el siguiente cuadro (frame).
cls proviende del inglés: CLear Screen
print(): Mostrar texto
La función print de pico-8 nos permite escribir texto en la pantalla en una posición y de un color que nosotros deseemos.
La sintaxis es:
print(texto: string, posición_X: int,posición_Y: int, color: int )
print("Hola Mundo!", 10, 10, 7)
"Hola Mundo!": el texto.10,10: coordenadas X e Y (entre 0 y 127).7: color blanco en Pico-8.
Código completo:
function _init()
end
function _update()
end
function _draw()
cls()
print("Hola Mundo!", 10, 10, 7)
end
Resultado:

Cierre
Este fue el primer paso. Hemos plantado la semilla de lo que puede ser un viaje creativo y profundamente personal. A veces, un “Hola Mundo” no es solo una frase. Es el inicio de una conversación contigo mismo, en otro lenguaje, en otro universo.
Fue solo el comienzo de un viaje que haremos juntos. No estás solo en esto; somos una comunidad de creadores listos para apoyarnos.
Nos vemos en la parte 2 para aumentar tus puntos de experiencia EXP en este viaje.
¡Tu turno! Conversemos
Me encantaría saber tu opinión y lo que te motiva:
- ¿Qué te pareció el tutorial?
- ¿Qué tipo de juego te gustaría programar?
- ¡Tu opinión importa! ¿Qué tecnologías te gustaría ver en futuros tutoriales (Haxe, Unity, C++, Python, otra)?
¡Cuéntamelo en Twitter / X, TikTok o envíame un correo electrónico! Tus preferencias nos guiarán en esta travesía.
Apoya la Iniciativa (Opcional)
Si este tutorial te ha sido de gran valor y quieres contribuir a que sigamos creando contenido gratuito y de calidad para nuestra comunidad de desarrolladores hispanohablantes, puedes Invítarme un café. Cada aporte, por pequeño que sea, me ayuda a mantener este espacio y a seguir entregando herramientas y conocimiento para que más personas logren sus sueños en el desarrollo de videojuegos. ¡Gracias por ser parte de esto!