# How Grow Home Uses Maths To Generate A Personality

Drunken child robots explained

This is The Mechanic, where Alex Wiltshire invites developers to discuss the inner workings of their games. This time, colourful procedural climbing game Grow Home [official site].

Put simply, BUD is a box suspended over legs and is held together by springs. In practice, BUD is an ungainly robot child, staggering and tripping his way around a low-poly world. BUD is the star of Ubisoft Reflections’ Grow Home and Grow Up, all grinning face-grille and gangly limbs. He’s a kind of super-ambulant WALL-E, able to run, scale walls, leap and fly, in a stumbling and toppling off things kind of way.

It’s hard to begrudge BUD for his drunken awkwardnesses, though, because as you attempt to control him they form a sense of a delightfully clumsy personality: BUD’s drunken awkwardnesses are BUD. But he’s not carefully hand-animated. BUD is a bunch of maths, or more precisely:

THE MECHANIC: Procedural animation

BUD is led by his feet. That’s how the system that manages his movement and animation works, anyway. Conceptually, it’s very simple: he is always trying to keep his body over his feet. Much like a normal biped, he centres his mass over the rectangle that encloses the space between the outside of the toes and heel of each foot. When you make him move forward, the system plans a place in front for his leading foot to land, and then, with his body imbalanced, attempts to move it forward, towards the centre of the space between his feet, in order to regain stability. His body can’t move freely, though, since it’s attached to his feet with invisible springs. Regulated, it tends to wobble towards balance, just as the system chooses a spot for his second foot and the process of stabilising his body continues, enabling BUD to trot forward.

“There’s a lot of ways that it mirrors the way bipeds work,” senior programmer Andy Buck tells me, but BUD isn’t completely governed by simulation. There are also a few, in Buck’s words, “little nudges” that make him feel good to control, mediating physical realism with the player’s intentions and their inputs. He always lands safe jumps on his feet so he’s ready to run onwards, for instance, and jumping is tuned to feel snappy. The simulation doesn’t model the full process of BUD gathering himself into a crouch in order to spring upwards, because it’d feel sluggish to control. “We can’t read the player’s mind, we don’t know seconds in advance of when they’re going to press the jump button, so we shrink that time-scale a lot, respond very quickly.”

Remarkably, this system needed few more major changes in order to feel good to play. The rest is down to tweaks, such as BUD’s hip muscles being rather stronger than a human’s so he can turn quickly at speed and stop suddenly without overstepping too much. “You’ve still got a lot of that physicality in there, and you can sense there’s this system or character, a bit more than Mario - a mix of physics and platforming.”

BUD was a failed attempt to build a development tool. His origin was in an attempt to look into ways of rapidly prototyping characters. Instead of having to get animators involved in the early stages with creating blend trees and all the other things that modern character animation needs, the thought was that if there was a system whereby a new character could walk itself it could make the early part of the design process easier. Soon enough, Reflections had created one, in which a character could walk, albeit in a pretty drunk-looking way, as well as grab objects in the environment and drag them around. “It was kind of wobbly,” says Buck. “You couldn’t imagine it being, say, Ezio or one of the characters in a Tom Clancy game or something. But it was really charming, and that was the key, the thing that triggered it.” The studio enjoyed playing with this little character, and a game started coalescing around it, distracting them from its original purpose entirely.

As they explored the system, the eight-strong team soon realised that the grabbing system could give their character the ability to climb. This feature is built on the fact that the system has two types of grab-able objects: movable and immovable ones. With movable ones, when you grab them and move the stick, they’ll move. With immovable objects, the system reverses the response: when you grab them and move the stick, BUD moves, a modification so simple that you don’t notice.

And so, from a staggery box and grabby hands, BUD was born, along with a wide range of skills that emerge from his simulation. He can pick up fantastic speeds if he bunnyhops across flat ground, something that can be better appreciated in the more recent Grow Up, which is set on a fully explorable planet, than Grow Home, which was focused on BUD travelling upwards into space. In fact, BUD feels slightly more capable, quicker and more responsive in Grow Up, but it’s largely an illusion. “The actual perambulation, the process of roaming around the environment and climbing and stuff like that, is pretty much exactly the same,” Buck tells me, other than some tweaks to his jump responsiveness. Instead, the main changes were to smooth out his transitions between forms, from running off a cliff to changing into a glider, and to give those forms greater capacity to travel horizontally, so he can get around the world quickly. By the end of Grow Up, BUD’s glider is essentially a jet aeroplane, and he can transform into a ball and boost along the ground.

What Grow Up gives you instead is a wider world in which you can play with him, an illustration of the fact that BUD isn’t just his procedural animation, he’s his world, too. Designing it was a matter of considering BUD’s skills and giving them space to be expressed. “It’s a case of seeing what’s fun and where things are hard and where things become more challenging, and where you want to maximise use of the ball, glider and things like that,” says Buck. “The challenges in Grow Up are pretty much made for them. You could maybe do them by falling, but some are made to be fun with the glider. Sometimes we layer them together, so boosting through a series of tunnels in the side of a floating island as the ball, then into the glider and into the parachute. It’s just about identifying all the pieces that make it up and deciding how challenging they are, how fun, and then building the world out of interactions or combinations of those things, and then doing it over and over again until it’s fun.”

There’s a lot of world in both games, and Reflections could apply a pretty broad vision to their design because of BUD’s flexibility. He can muddle his way over or up anything, so they didn’t have to think about every polygon, other than to avoid things like sharp-edged ledges, because they’re difficult to see and clamber over. “It’s nice and freeing as a designer to not to have to worry about the step height or something like that,” says Buck. “The weird things that a normal game would obsess over, like the character couldn’t do this because it’s slightly below shoulder height and above elbow height. We don’t have to worry about that. We can do what we like.” What that freedom also means is that they couldn’t really give BUD barriers. In Grow Home there’s a sea that stops BUD from going very far laterally (BUD can’t swim), but he’s otherwise free to go upwards, wherever there’s land. In Grow Up, well, players have managed to reach distances from the ground of 100,000 metres, stretching into the far outer orbit of the planet.

Such freedoms mean that level design was required to consider the gamut of the challenge of traversal, where strolling across flat ground lies at one end, and clinging to underside of stalactites lies at the other. How far will BUD fall if he fails? Can he get back again easily? And yet BUD has a whole other set of abilities that only augment these freedoms, where he can grow plants so players can build on top of the world. Buck’s particularly bemused by one player’s 7,000 metre high tower of mushrooms, which stretches past the moon. “That’s what we wanted, to give people a place to play and be childish.” All spooling from a box suspended over some legs, held together with springs.

## Read this next

Alex Wiltshire: Alex Wiltshire writes about videogames and design, is a former editor of Edge, is author of Minecraft Blockopedia and Mobestiary, and edited Britsoft: An Oral History.