Godot
07 de March, 2026

¿Cómo aprender a programar videojuegos? Por qué GDScript es el mejor lenguaje para empezar

¿Cómo aprender a programar videojuegos? Por qué GDScript es el mejor lenguaje para empezar

La mayoría de personas que quieren programar videojuegos se enfrentan al mismo dilema inicial: ¿por dónde empiezo? ¿C++? ¿Python? ¿JavaScript? ¿Unity con C#? Y ese mar de opciones termina siendo el primer obstáculo, incluso antes de haber escrito una sola línea.

Existe, sin embargo, una respuesta técnicamente sólida para quien quiere aprender a programar específicamente para crear videojuegos: GDScript. Y no te lo digo por conveniencia, sino porque hay razones concretas y verificables.


El problema con los lenguajes de propósito general

C++, Java, Python… son lenguajes diseñados para resolver problemas en el espacio más amplio posible: sistemas operativos, aplicaciones web, análisis de datos, inteligencia artificial. Son herramientas extremadamente poderosas, pero su generalidad las hace verbosas y poco intuitivas cuando el objetivo específico es que un personaje salte, un proyectil rebote o un enemigo te persiga.

Antes de moverte un pixel en pantalla con C++ puro, necesitas entender punteros, gestión manual de memoria, librerías de gráficos externas y la diferencia entre el hilo principal y los hilos secundarios. Son conceptos válidos y necesarios en el largo plazo, pero son un muro para quien quiere validar rápidamente si la programación de videojuegos es lo suyo.


¿Qué hace diferente a GDScript?

GDScript es un lenguaje diseñado desde cero por y para desarrolladores de videojuegos, integrado nativamente en el motor Godot. No es un lenguaje de propósito general “adaptado” (como C# en Unity): fue concebido específicamente para el contexto de gamedev.

Sintaxis limpia y sin ruido visual:

extends CharacterBody2D

const SPEED = 200.0
const JUMP_VELOCITY = -400.0

func _physics_process(delta):
    if not is_on_floor():
        velocity += get_gravity() * delta
    if Input.is_action_just_pressed("jump") and is_on_floor():
        velocity.y = JUMP_VELOCITY
    var direction = Input.get_axis("move_left", "move_right")
    velocity.x = direction * SPEED
    move_and_slide()

Este bloque de código es un personaje 2D funcional con salto y movimiento. Sin configurar proyectos externos, sin importar librerías, sin tipos de datos complejos.

Comparación rápida con alternativas:

Característica GDScript C# (Unity) C++
Curva de aprendizaje inicial Muy baja Media Alta
Tiempo hasta primer resultado visual Minutos Horas Días
Integración con el motor Nativa Buena Manual
Tipado Dinámico (opcional estático) Estático Estático
Velocidad de iteración Muy alta Alta Baja

GDScript vs Python: semejanzas y diferencias importantes

Mucha gente llega a GDScript con experiencia previa en Python y le resulta muy familiar. La sintaxis de indentación, la ausencia de llaves y puntos y coma, y la filosofía de legibilidad son prácticamente idénticas.

Las diferencias clave:

  • En GDScript, los scripts no son módulos autónomos sino que siempre extienden un nodo del motor (extends Node, extends CharacterBody2D, etc.). Esto los ancla al ciclo de vida del motor.
  • Las señales (signal) son un concepto nativo de GDScript sin equivalente directo en Python estándar. Son fundamentales para el patrón de diseño del motor.
  • GDScript 2.0 (Godot 4) introduce tipado estático opcional: puedes escribir var speed = 200 (dinámico) o var speed: int = 200 (estático), lo que permite mezclar velocidad de prototipado con rigor de código de producción.

Misconceptions: lo que GDScript no es

  • No es un lenguaje de juguete: GDScript gestiona juegos comerciales publicados en Steam, Epic Games Store y consolas. Su sistema de tipos (cuando se usa) es comparable en rigor a otros lenguajes de producción.
  • No te atrapa en Godot para siempre: Los conceptos que aprendes (orientación a objetos, variables, funciones, herencia, señales) son transferibles a cualquier otro lenguaje. La lógica de programación es universal; la sintaxis cambia.
  • No es más lento que C# para el 99% de los proyectos indie: El cuello de botella en juegos 2D y 3D moderados rara vez es el lenguaje de scripting; suelen ser la física, el renderizado o la gestión de assets. GDScript es más que suficiente.

De cero a tu primer script funcional

El flujo ideal para tu primera semana:

  1. Instala Godot 4 (el archivo standalone, sin instalación).
  2. Crea un proyecto 2D vacío.
  3. Añade un nodo CharacterBody2D con un hijo Sprite2D (usando cualquier imagen de placeholder).
  4. Adjunta un script GDScript al nodo raíz.
  5. Implementa el _physics_process(delta) con el control básico de movimiento.

En esa sesión habrás programado física, input del usuario y movimiento de personaje. Con herramientas de propósito general, ese mismo objetivo llevaría días de configuración.

Para ver este proceso en vídeo desde el primer momento:


¿Qué sigue después de dominar GDScript?

Una vez que tengas soltura con GDScript, tienes dos caminos naturales de crecimiento dentro del ecosistema Godot:

  • C# en Godot: Si quieres tipos estrictos, mayor rendimiento o ya vienes de Unity, Godot soporta C# de forma nativa. El conocimiento de GDScript te habrá dado la comprensión del motor que necesitas para el salto.
  • GDExtension (C++ y Rust): Para módulos de alto rendimiento específicos, Godot permite extender el motor directamente con código nativo. Es para casos avanzados, pero poder llegar hasta ese nivel desde GDScript demuestra que el techo del ecosistema es muy alto.