designing for flow blog 1

As our frequent readers know, one stylistic cornerstone of InnerSpace is the image of a strange, foreign tower jutting out from rock formations, bending over the curve of a hollowed-out planet. These aren’t merely exterior decoration, though, as the player can enter and explore many of these towers. We’ve written about our level design process in the past, but as the game evolved, so too has this methodology. Here, I wanted to reveal a bit about our new tower design process, and show a bit about what goes into creating a game about flow.

Here’s a quick version of the steps:

  1. Draw it on paper, usually during meetings or the bus ride to and from work.
  2. Whitebox in Unity with ProBuilder, creating plenty of abhorrent geometry. Iterate ceaselessly.
  3. Apply modules to create the form, balancing looks (important) with function (still important, I guess).
  4. Finalize and optimize geometry. This is the point of no return, so all iteration leads here.

Each stage carries a number of considerations, from the speed of completion to what the player sees when they exit the tower. Through each step, these considerations morph and take on different weights as we move from 2d to 3d, then through different versions of the same central concept. In the end, we hope to end up with a smooth space that provokes curiosity and encourages the player to fly in daring ways.

Step 1: Draw It

This stage covers everything from tiny doodles in my pocket sketchbook to slightly larger, more deliberate drawings in my larger sketchbook. Early on, we’re looking to nail down the overall form, the core mechanic concepts, and the essential flow and feeling of the tower.

designing for flow blog 2

Rough photo of the rough sketch. This is the height of precision-engineered levels.

It helps to look at this method  in contrast to more traditional, some might say, precise versions of level design. Whereas an FPS or more floor-bound game is served well by rooms plotted on graph paper, we face a central challenge of designing levels in full 3d with a player in near-constant motion.

So, instead of encountering spaces as individually parseable, explorable segments, an InnerSpace player instead moves endlessly. Any evaluation or decision-making needs more lead time, and spaces themselves have to facilitate forward motion. While taking measurements and relating space-traveled to time-traveled is useful, the core of each tower rests in the possibilities for forward momentum found within.

What’s it all for? The lofty goal of each tower is: introduce a new space in the world, mechanically and experientially, drawing them to explore and find lost relics. Each tower should build on player’s flight knowledge and lead them somewhere new.

Where to start?

Site selection

Whether in the shallows, mountains, or fallen into an abyss, a tower’s context plays a role in helping shape the kind of interaction that suits it best, as well as the space we have to work with.

This context also sets up the basic shape the tower will take. For example, if nested against mountains, the tower will likely rise vertically to match the terrain, wrap around the ridge, or possibly shoot through the mountain itself as a series of tunnels.

Central Concept  

Each tower is built according to a combination of ideas, coalescing around a central chamber, an essential flow, or both.

Chamber: The focal point around which the rest of the tower is built. It’s usually a goal or a resting spot of some kind, and isn’t always an entrance.

Essential flow: As mentioned above, the player is in constant motion, and InnerSpace is meant to be more relaxing than stressful. That means that more confined spaces (i.e., anything indoors) need to present decision points without introducing hard stops that would force a player to crash. We have areas where it’s advantageous to stall, but even when stalling the plane moves. Regular maze-like room layouts won’t work. Instead we key into the concept of “flow.”

Flow isn’t very scientific here. It basically means that I can draw a line through a level that doesn’t curve back on itself at an angle less than, say, 45 degrees. It’s a loose concept intended to help make levels that take advantage of constant motion.

In a tower (or section) designed around flow, a general shape will form out of this initial stroke. Because this stage doesn’t worry about 3D precision, the flow can remain relatively loosely defined, forming an idea of the shapes and structures that will be needed to actually form the space.

One final consideration at this stage is the way our tower will sit on the interior curve of the planet. Because the structures become rather large, they can stretch across multiple gravity tangents. Inside, this results in spaces that appear to curve upward and hallways at interesting angles.

BeatsLarger towers are usually made of a few different shapes and segments, each designed independently, but with context in mind. When imagining how each will link together, it’s helpful to think of each segment as “beats.” This turns compounds of structures into a kind of rhythmic build, linking the feeling of motion to the twisting, expansion, and contraction of space at different intervals.

Once a number of sketches covering these angles are complete, it’s time to prototype in Unity.

Step 2: Whitebox with ProBuilder

This takes up the bulk of our time in level creation, but there’s not a whole lot of new philosophy at this stage. In Unity, we use a tool called ProBuilder, which lets you create and edit (relatively simple) geometry directly in-editor. This greatly speeds up prototyping and iteration, as we no longer have to hop between Blender and our scene to make level adjustments. Without this more organic editing ability, it would be a sight more difficult to build levels to fit the model so-far discussed.

designing for flow blog 3

The general form, in ProBuilder geometry.

At this stage, it’s all down to building and iterating to strike a balance between realizing and improving upon the initial sketch. Taking the sketches, I build out the essential structures, then size internally and externally to fit both the site and the allowances of the plane’s speed and handling.

Usually, this amounts to lengthening hallways, expanding angles on curves, or dropping pillars into the middle of tall chambers. While our foundational ideas are formed with certain assumptions about how the game plays, it’s only in-engine that such projections are proven, or else shown to be delusions.

designing for flow blog 4

A look from inside the “central chamber” of this tower.

Throughout this stage I produce a hefty pile of abhorrent geometry (sorry, Steve), but it mostly gets the job done as we perform playtests and iterate on the towers.

While the surroundings are taken into account throughout the process, it’s usually after a few stages of iteration that the whiteboxed tower is dropped into the environment, where more changes can be made if necessary.

Step 3: Give It Form

To speed our level creation process, and save the sanity of our 3D artists, we’ve maintained a modular tower construction (kitbashing) system throughout the project. At this stage, we select modules and actually form the tower.

designing for flow blog 5

The same tower, “skinned” with modules. You can see how the exterior expresses the interior form, while adding on additional detail. Also, note how the segment on the right bends towards the left- this is accounting for the planet’s curvature.

There are some basic rules here. For one, the tower itself should obey, or at least bear evidence of, the changing direction of gravity as it straddles the curvature of the planet. As a result, towers tend to exhibit braced, almost cantilevered forms that push up and out from the water.

There are some basic rules here. For one, the tower itself should obey, or at least bear evidence of, the changing direction of gravity as it straddles the curvature of the planet. As a result, towers tend to exhibit braced, almost cantilevered forms that push up and out from the water.

While we have to be careful not to design death traps within the interiors, we gain much more freedom when constructing the external shapes of each tower. Beyond basic constraints and needs (i.e., the modules should cover/contain the interior form), the specifics of each tower arise out of fun and experimentation. What shapes and forms would be cool to fly over, around, and under? In some cases, this thinking has resulted in additional rooms or sections being grafted into the outside of towers.

Since stylistic considerations enter into it here, it’s worth mentioning our two tower materials and the way they interact: stone plates and metal rails. If you remember our tripartite aesthetic goals from way back, you’ll get why using these materials well is so important. Visually, rails add contrast and dynamic, strong lines that can support or cut across the “body” built of stone plates. In terms of the aesthetics of worldbuilding, the rails define form and show, quite boldly, the way that a tower stands against the changing gravity across the planet’s surface. Functionally, in terms of the player’s experience, they help delineate and hint at a tower’s interior flow, and they themselves form exterior flight paths.

Step 4: Boolean + Detail

This step has little to no design work, and is basically up to Steve, one of our 3D artists, and whether he wants to put up with my ProBuilder geometry or not. So far, he hasn’t flat-out refused to do it, so kudos to him there.

designing for flow blog 6

The direction of the rails hints at the flow of the interior. Here, you can also see glass and some of the hanging civilization added in the last stage.

Here, there’s a fun process whereby the individual module meshes are joined into one, optimized piece (rails and stone separate). Then, the interior form is subtracted from this mesh, and it’s all further cleaned up and detailed with floor patterns and doors. Certain towers have interior structures added, though these usually emphasize, rather than fully alter, the flow of a space.

Finally, relics and other discoverable points of interest are placed, along with external structures like hanging gardens and the rail-dwelling civilization that built them.

As well as we can, we repeat this process for everything from towers to natural formations in the Ice World and beyond. While I love the process and the details, ultimately it comes down to how well the spaces flow in their final form, and how empowered and enlivened a player feels tackling their halls head-on.