BLOG

Primeros pasos con Godot 4: escenas, nodos y señales.

Godot es un motor de código abierto muy usado en el desarrollo independiente. Antes de escribir una línea conviene entender tres ideas: nodos, escenas y señales.

Nodos y escenas

En Godot todo es un nodo: un sprite, una colisión, un botón, un temporizador. Cada nodo hace una cosa. Los nodos se organizan en árbol, con uno padre y varios hijos.

Un árbol de nodos guardado en un archivo es una escena. Un jugador puede ser una escena, igual que un enemigo, una sala o un menú. Las escenas se pueden instanciar dentro de otras, y esa es la forma natural de construir un juego por piezas.

Un personaje que se mueve

Crea una escena nueva con un nodo CharacterBody2D como raíz. Añade como hijos un Sprite2D con una imagen y un CollisionShape2D con una forma. Después adjunta un script al nodo raíz:

extends CharacterBody2D

@export var velocidad := 220.0

func _physics_process(_delta: float) -> void:
    var direccion := Input.get_vector("izquierda", "derecha", "arriba", "abajo")
    velocity = direccion * velocidad
    move_and_slide()

Tres detalles del código:

Las acciones izquierda, derecha, arriba y abajo se definen en Proyecto → Ajustes del proyecto → Mapa de entrada. Si no existen, el código no encontrará nada que leer.

Señales: cómo se hablan los nodos

Una señal es un aviso que un nodo emite cuando ocurre algo: un botón se pulsa, un temporizador termina, dos cuerpos chocan. Otros nodos pueden suscribirse y reaccionar sin que el emisor sepa quiénes son.

Por ejemplo, para que un botón llamado Boton inicie la partida:

func _ready() -> void:
    $Boton.pressed.connect(_al_pulsar_boton)

func _al_pulsar_boton() -> void:
    get_tree().change_scene_to_file("res://escenas/partida.tscn")

También puedes definir tus propias señales con signal y emitirlas con emit(). Es la mejor forma de evitar que un nodo dependa directamente de otro: la interfaz escucha la señal «vida_cambiada» del jugador, pero el jugador no necesita saber que existe una interfaz.

Organización recomendada

Siguientes pasos

Con estos conceptos puedes construir un prototipo pequeño: un personaje, una sala y un enemigo que persigue. Cuando eso funcione, añade una forma de ganar o perder. La documentación oficial de Godot tiene un tutorial de juego 2D completo que puedes seguir paso a paso, y es el mejor siguiente paso.

Si trabajas en solitario, te será útil el artículo sobre cómo acotar el alcance de un proyecto indie.

Grupos, recursos y autoload

Cuando el proyecto crece aparecen tres herramientas que conviene conocer:

Probar en el móvil

Si piensas lanzar en móviles, prueba en un dispositivo real cuanto antes. Godot permite exportar a Android y ejecutar el proyecto en un teléfono conectado. Algunas cosas solo se ven en el dispositivo: el tamaño real de los botones, el rendimiento, el comportamiento al recibir una llamada o al cambiar de aplicación.

Godot 4 ofrece distintos renderizadores. Para móviles y equipos modestos suele convenir el modo de compatibilidad o el móvil, que son más ligeros que el de Forward+. Consulta la documentación oficial del motor para elegir el adecuado para tu proyecto.

Errores típicos de quien empieza