Gravity Ghost
10Oct/124

Running in Circles

The very first version of Gravity Ghost was pretty bare-bones, but I noticed something about the way people played the game that surprised me. Playtesters liked to run in circles around the planets.


Old build, featuring high-tech spinning cubes.

There was no reason to run in circles. It often would have been faster to reverse direction and run the other way. Yet players kept running in circles, sometimes many times in a row, just because it played into this nice feeling of continuous motion that was already built into the game.

Enough people even said "I like running in circles" that I decided to turn it into a game mechanic. It solved another design problem I was having, which was how to give the player a simple way to choose which planets to terraform. The colorful trail behind the girl character would now have a purpose: to show you which trail type she was carrying.

I've decided to call the girl character "Iona", so let's use that from now on. There were three different trail types Iona could pick up: dirt, water, and seeds. She could now run in a complete circle around a planet with whichever trail type she picked up, and they could be layered in a crafting sort of way. Here's what the first art pass for that looked like:


Water, dirt, seeds, and various combinations thereof.

And here's what that looked like with some nicer art for the trails and planets:


The miracle of life.

Cool, so that all seemed to work. The next thing I wanted to do was twofold: have the trails be a finite resource, and have the trails be made of Iona's hair. We built a system where flowers would make her hair longer, and encircling a planet would decrease the length of the hair by the circumference of the planet. A fully terraformed planet would create more flowers.

Here's a video with the various hair trail types (I turned off the gravity visualization circle for clarity's sake):


When you see her hair length increasing spontaneously, that's me cheating with a debug button. Normally you collect flowers to make her hair grow.

You'll see that Iona's hair now responds to gravity. It's a game *about* gravity, so that should work just fine, right?

Look again. Her long hair gets spooled around the planets and seems to get stuck. It interferes with the free, flowy feel of the game. If you play this build you'll swear her hair is yanking her back down towards the planets when you jump (even though that's impossible).

But the hair has some cool features, too: it collides with the planets in a neat way, and follow's Iona's motion. Sure, it's a bit visually noisy, but there must be some compromise to make it work, right?

Nope. It was time to give up on the physics hair. Why? There was one important piece of visual feedback that the hair didn't provide, and it was so subtle it took me a while to notice what was missing.

Look back at the very first video. The trail shows exactly where you jump, creating not only those nice round shapes, but also an important visual guide. Like the dotted line in Angry Birds, it let you adjust your course and correct your aim if you missed your jump the first time. And I had totally forgotten about it.

After a good chat with our programmer Mike Stevenson, we decided to nix the physics hair and start again. I still had a problem: I wanted the hair to be a resource you carried with you, so its length would vary. But I also wanted the player to always have a long trail, to show where you had jumped. Here's the solution I came up with:


My instructions: "Trail and hair both follow behind girl in a fixed arc (unaffected by gravity) as long as she is moving. When she stops moving, they pull in behind her..."

And here's what that looks like in the game now (though it's running a bit slower than normal):


We're also re-tuning the movement a bit, so we switched off her animation for now.

The feel of the game is worlds better. Running around collecting flowers to make your hair grow is strangely satisfying. It's built to make your momentum feel *good.* The hair doesn't pull in behind Iona yet, and we still have to hook it up with the terraforming system, but this is likely how the hair will behave in the final game. Art-wise, it's functional and readable, and we can tint the hair to represent the different trail types. The next time we revisit this, it will probably be for the final art polish pass.

Speaking of which, I've been trying to reconcile my love of bright colors with the fact that Iona should read as a ghost. That's the main piece of feedback I've gotten about her: she's cute, but not particularly 'ghostly.' Ghosts are typically transparent or white, and in games they're usually surrounded by animated smoke of some sort. But somehow that didn't seem right for Iona - she's very powerful, and I didn't want her to seem intangible.


Maybe we can render the hair as a striped texture, and layer some curls on top.

With this coloration, there's much more white at a distance. But I gave her bright colors for highlights and shadows, as though the light hitting her is from some otherworldly source. I'll have more to say about this later, just thought I'd update you on Iona's ongoing evolution.

Back to the main thrust of this post, running in circles is now a core part of the game, and one that has a few more uses beyond what I've mentioned here. It wouldn't have become what it is without the input of playtesters, who found a behavior they liked and wanted to be rewarded for it in some way.

On that note, another thing playtesters tell me quite a bit is that they love trying to stay in the air for a long time without hitting any of the planets. This is on its way to becoming a game mechanic too, so stay tuned. :)