Skip to content
digital_developer
Game DevGodotBalittiArea3D

Godot FPS Balitti uses radial gravity in a hollow spherical world

Developer sembask explained how the upcoming manga-style FPS Balitti, built in Godot, pulls players toward the inside of a hollow sphere. The setup uses an Area3D with negative point gravity and per-player body alignment.

Digital Developer Desk, 6h ago, 2 min read

Image: Balitti on Steam

Developer sembask has shown how radial gravity works in Balitti, an upcoming manga-style action FPS built in Godot. The game's world is a hollow sphere, and walls effectively become floors as players move around the shell. The developer explained the approach in a Reddit post.

An Area3D with negative point gravity pushes everything outward from the sphere's center toward its shell. The pull is at full strength at the shell and fades to zero at the center. It follows the formula (distance/radius)^1.5, similar to a spinning space station. Near the middle, players float and slowly fall back.

The world itself does not rotate. Instead, each player rotates their own body and camera to align with gravity. In co-op, each player handles their own perspective.

For the rotation, sembask applies a small correction on top of the current orientation every physics frame. Because it is a delta rotation, the direction the player faces is preserved. Mouse yaw uses rotate_object_local(Vector3.UP, ...) on the body, so it always turns around the body's own up axis, and pitch lives only on the camera. Further technical details are in the Reddit post.

Balitti is built around chaotic, nonstop movement in an ink-style world with a 90s arcade soundtrack. The player carries a pistol and a kunai rope, and fights hordes of enemies and large bosses. Players sprint, slide, climb and use the kunai rope to cross levels quickly. The game can be wishlisted on Steam.

Sources

Get the daily brief

The five stories that matter, every weekday morning. Free.