Engineering process: spinning new worlds from bathtubs

engineering-process-system-dynamics-hero

Our green kingdom, Plants, is built from over 3,400 individual plant and critter bits, which translates to over 23,000 lines of code!

Here’s a speedy rundown of how those bits join together: after we collect (and vet!) research, prep illustrations for animation, and get those parts moving, our engineers assemble the whole thing. Their goal is to create a system of logic that mimics real-world behaviors—ensuring scientific accuracy (would a tree sprout along the riverbank? would an animal snack on this plant?) while preserving the spirit of the drawings.

Our engineers keep a lot of plates in the air. We need to set rules, but we also want enough varied scenarios and surprises so that each app’s universe comes alive with a kid’s swipes and pokes.

Happily, we’ve honed a few approaches, which we’ll share from time to time. Today let’s peek behind the screen and talk system dynamics.

System dynamics is a way to model how complicated systems behave over time. Our models spring from the wonders of indoor plumbing: bathtubs. An empty tub corresponds with a default state. As water fills the tub (aka, as time passes within the app), different water levels, or thresholds, spark specific events. You can speed or slow the rate water flows; as the tub drains, you can also assign other actions.

The bathtub idea is how we program weather in Plants. Say our empty tub’s default state is a breezy, sunny forest scene. As water fills, or as time passes, more clouds appear. When the tub is full, it rains! A second tub tracks how heavy the rainstorm is; the fuller the tub, the more thunder rumbles and lightning flashes. Once the first tub drains, or a set amount of time has passed, we return to our calm forest.

The bathtub’s beauty is its flexibility: it’s as simple or complex as you like. You could stick with two main states (empty tub, full tub) or amass a bathhouse for more complicated interactions. For example, two tubs rule the spewing engine in The Human Body. One measures the amount of food sloshing in the stomach and the other tracks fluids (like polka dot soda!) that may offset the urge to purge.

Tending our bathtubs is a subtle science. But as any kid knows—especially those whose action figures live out labyrinthian back stories: the best fictive worlds get the logic—and details!—just so.

Our green kingdom, Plants, is built from over 3,400 individual plant and critter bits, which translates to over 23,000 lines of code!

Here’s a speedy rundown of how those bits join together: after we collect (and vet!) research, prep illustrations for animation, and get those parts moving, our engineers assemble the whole thing. Their goal is to create a system of logic that mimics real-world behaviors—ensuring scientific accuracy (would a tree sprout along the riverbank? would an animal snack on this plant?) while preserving the spirit of the drawings.

Our engineers keep a lot of plates in the air. We need to set rules, but we also want enough varied scenarios and surprises so that each app’s universe comes alive with a kid’s swipes and pokes.

Happily, we’ve honed a few approaches, which we’ll share from time to time. Today let’s peek behind the screen and talk system dynamics.

System dynamics is a way to model how complicated systems behave over time. Our models spring from the wonders of indoor plumbing: bathtubs. An empty tub corresponds with a default state. As water fills the tub (aka, as time passes within the app), different water levels, or thresholds, spark specific events. You can speed or slow the rate water flows; as the tub drains, you can also assign other actions.

The bathtub idea is how we program weather in Plants. Say our empty tub’s default state is a breezy, sunny forest scene. As water fills, or as time passes, more clouds appear. When the tub is full, it rains! A second tub tracks how heavy the rainstorm is; the fuller the tub, the more thunder rumbles and lightning flashes. Once the first tub drains, or a set amount of time has passed, we return to our calm forest.

The bathtub’s beauty is its flexibility: it’s as simple or complex as you like. You could stick with two main states (empty tub, full tub) or amass a bathhouse for more complicated interactions. For example, two tubs rule the spewing engine in The Human Body. One measures the amount of food sloshing in the stomach and the other tracks fluids (like polka dot soda!) that may offset the urge to purge.

Tending our bathtubs is a subtle science. But as any kid knows—especially those whose action figures live out labyrinthian back stories: the best fictive worlds get the logic—and details!—just so.