Gravity is a lie.
July 1, 2026 update

Gravity is a lie.

Gravity, Reworked

Gravity is foundational to Cybordz, so it's important to get it right. It needs to feel intuitive even though it behaves unlike anything you've experienced in real life, and it needs to make fun and interesting gameplay possible.

In the beginning, Cybordz' gravity system was fairly simple. There were various gravity sources in the level, and they pulled the player towards them using an acceleration that followed the Inverse-square law. This created a "realistic" experience where gravity got weaker at the same rate that gravity does in real life.

But there was a problem, depending on how I tweaked the parameters, gravity either got too weak too fast or was way too strong for too long. I wanted the player to feel their weight when they're close to the "ground." I also wanted them to feel the weightlessness kick in quickly but not decay so quickly that you fly off into the void on every big jump. Using "realistic" gravity didn't create the best skateboarding experience.

Since then, I've made a few iterations on the gravity system, and, last month, I completed a significant overhaul that gives me a lot of flexibility in how gravity behaves. This will allow me to finely tune gravity as I continue to playtest the game.

Watch on YouTube

Layers, Not One Formula

Before this month, gravity sources only used one falloff function: inverse-square. I could strengthen or weaken the effect, or outright delay the effect until the player reached a certain distance away from the gravity source, but that was it. This was enough for creating textbook simulations (e.g., orbiting a small planet), but failed to provide enough control to tune an actual level.

Doing something like this wasn't possible:

  • Pull at full strength for up to 3 meters off the ground.
  • Then decay linearly for 10 meters at a rate of 0.3m/s^2 per meter.
  • Then apply inverse-square afterwards but weaken it by a factor of 2.

This is where gravity layers come in. The gravity system now allows defining arbitrary layers where different falloff functions apply at different distances from the ground. This is a much more configurable base to build on. I can give players a taste of gravity decaying while they're near the ground without dramatically impacting their gameplay and more quickly taper as they get further away.

Each layer is defined as a radius, a function and a factor. The radius is how far from the "center" the layer ends (it begins where the previous layer ends). The function is how gravity decays as the player gets further away within the layer. There are currently four functions: Constant, Linear, Inverse and InverseSquare. And the factor allows tuning the function to make it more or less aggressive.

It's also possible to define gravity layers below ground. This allows gravity to be super intense as you get closer to the center (e.g., player's get sucked into gravity cores rapidly instead of endlessly orbiting). This also allows for tuning gravity in tubes where gravity pushes the player into the outer wall.

Tiers, A Cleaner Way to Stack Sources

Some of the most interesting moments in Cybordz happen when two gravity sources overlap. For example, when you're transitioning from a platform to the gravity pipeline (and vice versa) or when you're inside the tube on the first level where gravity sticks you to the walls.

Watch on YouTube

There are actually a number of contexts where this happens in the game, and it's important the sources don't fight each other or create weird, unexpected, interactions. To help manage this, I introduced tiers and allow merging gravity sources between these tiers. For example, what if two gravity sources are pulling the player in roughly the same direction? A naive approach would simply add their accelerations together, but this can magnify (possibly doubling) gravity in certain locations. This feels counter-intuitive and is hard to tune the level design.

Now, gravity sources can either Defer or Override gravity from lower tiers when they align within a certain number of degrees. For example, at the beginning of the game, the gravity well is pulling the player down at a different angle than the platform, up to 30 degrees different at the edge of the platform. Now, the gravity well defers to the platform cleanly.

Override Areas

Sometimes, I need to be very specific about what gravity source applies in a given area and possibly disable it completely when the player isn't nearby. Override areas serve this purpose. This isn't a new feature, but helps eliminate the possibility of weird interactions. For example, the gravity source for the gravity tube on the first platform doesn't need to be active unless the player is near it.

Of note, the override area has priority but can yield that priority. If you're near the gravity tube but not inside it, it's gravity doesn't apply so it yields up the stack.

Gravity Can Now Pull You Off Vert

Aside from the gravity system updates, gravity can also now pull you out of vert mode. If you launch yourself up a quarter-pipe but get close to another gravity source, you will be pulled out of vert mode and towards that source.

Watch on YouTube

What's Next

Gravity in Cybordz will undoubtedly continue to evolve, but the goal will always be to enhance what makes Cybordz great. I have my own ideas on what that is, but I want to hear from you! Help shape the future of the game by signing up for a live playtest.

Until next time,
Robert

Back to Dev Log