====== Godot ====== Godot es un motor de desarrollo de videojuegos gratuito y de código abierto, orientado a la creación de juegos 2D y 3D, además de aplicaciones interactivas. * [[https://godotengine.org/es/|Sitio web]] {{ https://raw.githubusercontent.com/godotengine/godot-design/master/screenshots/editor_tps_demo_1920x1080.jpg |}} ===== Características ===== * Código abierto * Multiplataforma * Editor integrado completo (animación, físicas, scripting...) * Motor 2D y 3D integrados * Sistema de nodos y escenas * Tamaño ligero y flujo de trabajo rápido * Portable, no necesita instalación. * Lenguaje propio: GDScript (similar a Python) * Comunidad activa y documentación extensa ===== Instalación ===== ==== Linux ==== En Arch Linux se puede instalar con el paquete ''godot''. ===== Conceptos ===== Para entender cómo funciona Godot, necesitas familiarizarte con escenas y nodos, que son los bloques de construcción de todo juego. ==== Nodos ==== Un nodo es un objeto básico dentro de Godot. Cada nodo tiene un propósito específico, por ejemplo: * Node2D → para elementos 2D como sprites o posiciones. * Sprite → para mostrar imágenes en 2D. * KinematicBody2D → para personajes que se mueven y detectan colisiones. * Camera2D → para manejar la vista del jugador. Cada nodo puede tener propiedades, señales (para eventos) y scripts (para la lógica). Piensa en un nodo como un LEGO: cada pieza tiene su forma y función, y la combinas con otras para crear algo más complejo. En Godot, según lo que queramos hacer, tendremos que usar un tipo de nodo: * De color azul: se usan para escenas 2D * De color rojo: se usan para escenas 3D * De color verde: se usan para control * De color gris: multiuso ==== Escenas ==== Una escena es un conjunto de nodos organizados jerárquicamente. Por ejemplo, un personaje puede ser una escena que contenga: * Nodo raíz: KinematicBody2D * Sprite: imagen del personaje * CollisionShape2D: para detectar colisiones * Script: lógica de movimiento Lo genial de las escenas es que puedes instanciarlas dentro de otras escenas, lo que te permite crear estructuras complejas de manera modular. ==== Árbol de nodos ==== Godot organiza los nodos en un árbol jerárquico: * El nodo raíz es la base. * Cada nodo puede tener hijos, que heredan propiedades o reciben señales del padre. * Esto permite organizar personajes, enemigos, objetos y niveles de manera clara. ===== Flujo básico de trabajo en Godot ===== * Crear un proyecto → Eliges 2D o 3D. * Crear una escena → Agregas un nodo raíz. * Agregar nodos hijos → Sprites, cámaras, colisiones, luces, etc. * Agregar scripts → Escribes la lógica del juego usando GDScript. * Probar el juego → Ejecutas la escena o el proyecto completo. * Instanciar escenas → Combinas varias escenas para formar niveles completos. ===== Recursos ===== * [[https://www.youtube.com/watch?v=-_LiMyZGoXw|Cómo usar Godot y Aprender desde CERO a hacer juegos]]