Una escoba voladora en Godot 4 que se pilota con la cámara
El primer mod de Gotic fue una escoba para cruzar la isla volando: subes mirando arriba, bajas mirando abajo y aterrizas sola. Así está hecha y lo que se rompió por el camino.

La escoba fue lo primero que añadí a Gotic cuando la isla ya se podía recorrer a pie. Flota y brilla junto a la playa de salida (también sale en el mapa); te acercas, pulsas E (o COGER en el móvil) y desde entonces es tuya y la llevas a la espalda. Con F o VOLAR te subes donde estés y la isla entera queda a tiro: bosques, colinas, la meseta y, más tarde, los cuatro pueblos.
Fue también el primer mod del juego: vive en modulos/escoba/ y quitar esa carpeta quita la escoba. Todo lo que vino después (pueblos, pesca, aros en el cielo) siguió ese molde. Y es lo que más ha gustado: cuando llegó el mensajero, decidí que los paquetes se pudieran llevar volando y las propinas por tiempo están pensadas para que volar compense.
Cómo está hecho
Quería que volar no pidiera más botones de los que ya había. Así que se vuela hacia donde mira la cámara: mirar hacia arriba sube y mirar hacia abajo baja. Para que mover un poco la cámara no te cambie la altura, hay un margen de 8 grados alrededor de la inclinación de vuelo recto; fuera de él, la subida crece 1,6 grados por cada grado de cámara, con un tope de 65:
static func climb_angle(camera_pitch: float) -> float:
var offset := camera_pitch - LEVEL_PITCH
var beyond := signf(offset) * maxf(absf(offset) - PITCH_DEAD, 0.0)
return clampf(beyond * PITCH_GAIN, -MAX_CLIMB_ANGLE, MAX_CLIMB_ANGLE)
Aparte están SUBIR (el mismo botón de saltar, o Espacio) y BAJAR (Ctrl), con su propia aceleración, para que respondan igual aunque vayas lanzado hacia delante. La velocidad máxima es de 14 m/s, el techo está a 260 m (por encima del pico más alto, de 220) y al tocar el suelo o el agua bajando aterrizas solo. En el aire, BAJARSE te deja caer.
El jugador va a horcajadas con una postura forzada (cadera, rodillas, tobillos, brazos al palo) y el cuerpo se inclina en los giros y al subir. La escoba en sí son tres tubos y una esfera de MeshBuilder, como todo el arte del juego.
Por dentro, la escoba es un mover: un objeto al que el jugador le cede el movimiento mientras dura el vuelo. Ese enganche lo usaron después la barca y la fiesta.
Lo que salió mal
- En el móvil no se veía la escoba. La partida guardada dejaba al jugador a casi 700 m de la playa, tierra adentro. Ahora, si la partida no sabe nada de la escoba y estás a más de 30 m de su sitio, aparece unos metros delante de ti y ese sitio se guarda, para que no te persiga. La lección que me quedó: lo que guarda un mod también es un formato, y la versión que ya estaba en el móvil había guardado
{owned, flying}sin el sitio. - Apagar el mod no la quitaba de la espalda. La escoba cuelga del jugador, no del mod: liberar el mod la dejaba ahí. Ahora la limpieza la retira junto con los botones del HUD.
- Barca y escoba a la vez. Con la barca, dos mods querían mover al jugador. Si despegabas sentado en el bote, este se quedaba con el jugador «a bordo» en el aire. Ahora la escoba no despega si el mover es de otro.
- Las pruebas no eran modulares. La carrera usaba la escoba como «algo que vuela» en sus pruebas, así que quitar la carpeta rompía la suite. Se cambió por un mover de prueba.
Medido en un Samsung S24 Ultra: 60 FPS volando hasta 52 m con los 26 mods de entonces encendidos.
Lo que falta por comprobar
Por encima de esos 52 m no hay FPS medidos. La niebla tapa a 420 m igual que en el suelo; abrir la vista desde lo alto doblaría los trozos de terreno a dibujar, y lo aplacé hasta medir en el móvil volando alto.