Game System Hub
Un motor 2D con su propio lenguaje
GSH junta tres cosas en el mismo ejecutable: el runtime nativo, GSH Script y el editor. Escribes la lógica del juego en archivos .gsh y dejas el dibujo, el input y las colisiones al motor.
La idea de fondo es simple. No hace falta recompilar C++ cada vez que mueves un personaje o cambias un menú. El script se interpreta al vuelo. Play en el Studio y el resultado aparece en el Stage.
Esta guía cubre el producto como se usa: el lenguaje, la API que ves desde el script, el editor y los ocho demos. No incluye el código interno del motor.
Las tres piezas
GSH Script
Indentación a lo Python. Clases, start / frame, actores.
Runtime
Ventana, gráficos, física AABB, cámara, audio e input.
Engine Studio
Editor con Stage embebido, jerarquía e inspector.
Cómo encaja
Un proyecto GSH es una carpeta con al menos un main.gsh. Al abrirla, el motor analiza el script, llama a start() una vez y después a frame(delta) en cada fotograma. Lo que hayas registrado con spawn() se dibuja.
Hay dos formas de arrancar. Sin argumentos se abre el Studio. Si pasas la ruta de un .gsh, corre el player a ventana fija, útil para probar o para mandar un build sin editor.
frame andando.
Qué hay en esta documentación
- Empezar — requisitos, compilación y modos de ejecución.
- Lenguaje — sintaxis, tipos, clases y errores frecuentes.
- Actores y física — sprite vs collider, capas,
move_and_slide. - API del runtime — Window, Graphics, Physics, Input, Camera, Math, Audio, Scene.
- Engine Studio — paneles, Play/Stop, proyectos recientes.
- Demos — qué demuestra cada carpeta
01–08. - Arquitectura — capas del producto, sin desmontar el binario.
Biblioteca que ya viene
Todo script tiene a mano unas clases de apoyo. No las importas: el runtime las inyecta al arrancar.
| Clase | Para qué sirve |
|---|---|
BasicEnemy | Persecución con rango de visión, rotación al objetivo e impacto. |
Button / TextureButton | Botones con hover y click. |
Animator | Avance de frames en un sprite. |
Timer | Cooldowns y esperas. |
VfxPlayer | Efectos de un solo uso. |