Voyager Level Design

I’d like to share a bit of my process of creating levels for Voyager.

Most of the time, a level starts as an idea for a technique I’d like the player to learn, or a cool experience I want them to have. For instance, a gravitational slingshot is a core mechanic in the game, but at some point I’d like players to figure out how to chain multiple slingshots together to get past several obstacles. I also like the idea of weaving between planets – sort of a space slalom. So, there should be a level between learning how to do a slingshot maneuver and being expected to string them together to win where the chaining concept is introduced and presented in a fun way.

The “Gas Giants” level does just that. It features an arrangement of planets that suggests (but does not require) a winding, between-the-gates sort of trajectory. Jupiter blocks a direct route to the target Uranus, and Saturn gets in the way of a simple slingshot around Jupiter on the right-hand side. Once I’ve got the general arrangement of planets figured out, it’s time to run the Path Predictor.

Path Predictor is one of the more important tools in my design arsenal. It simulates the trajectory for a launch, given an angle and power level (and delay, for levels with a timing element). After running it, I end up with a visualization like this.

Though it’s usually more helpful to filter out angles that result in crashes and misses and just focus on successful paths.

This view makes it clear that there are a few viable slalom trajectories, but it’s also quite easy to just bypass that experience and slingshot straight to the target. I need another way to reinforce the weaving path as something worth attempting. That’s where star placements come in.

In this level, there are a few points where the slalom trajectories intersect, providing natural, ideal locations for stars. This ensures there are multiple viable solutions. And of course, players will experiment with different power levels (or, with the “expert” controls enabled, fractional angles) that could surprise even me.

Of course, at this point the level is still far from done. It needs to be playtested for fun and difficulty before making the cut in the finished product!

Dark Side of the Jam

Last weekend, I organized and participated in Seattle’s satellite “Dark Side of the Jam,” a space-themed game jam which the Academy of Interactive Entertainment graciously agreed to host. Our mission was to build a game (using at least one NASA asset) in just 48 hours.

Our satellite jam started at 6pm on Friday, with participants filing in until around 7:30. We kicked off the event with some inspirational words by Dan Dixon, the creator of Universe Sandbox, and then started brainstorming ideas. As more people arrived, we decided to split into two teams, but to let everyone collaborate between the two projects (especially our artists and sound designer!).

We tossed around a number of exciting and ambitious ideas, from a game about discovering exoplanets with real-world problem solving elements (along the lines of Foldit) to one about engineering your own rockets (think Kerbal Space Program).

Two projects gathered the most attention and excitement, though. One was a game about driving the Lunar Rover around to pick up your astronaut bros. The other, and the one I worked on, is called Seven Minutes to Heaven. The game is about the time delay involved in communicating with a rover on Mars. While that delay can range from a couple of minutes to nearly half an hour, the name is an allusion to Curiosity’s Seven Minutes of Terror.

The game is played by selecting commands from the control panel’s arrows to drive the rover, a camera to get a better view of the surrounding area, and the drill to take a sample from the surface. The objective is to search for elements of interest (Hydrogen, Helium, Carbon, and Oxygen) within the time limit. The amount of each element in a square is communicated through an emission spectrum. The player can cross-reference this against known spectra to make decisions about where the most productive areas to drill are. It’s a little like Minesweeper, if you had to wait a while for your moves to take effect, the numbers were in code, and you only had until the sun goes down to finish playing. Also it’s on Mars.

Because we only had 48 hours to build the entire game, some features did not make it into the finished product before the end of the jam. With more time, we would have given players specific objectives (for example, find at least 6 units of Carbon and 2 of Helium) and better explained the controls and emission spectra in-game. We also didn’t get in all the art and sound effects produced by our teammates, or have much time for testing and play balance.

Even so, I’m really proud of how complete and polished the game ended up. More than that, I had a great time getting to know and work with a bunch of awesome people.


Now that Rare Earth has been out for a few months, I’d like to take a look at some of the data that’s been gathered from players, as well as reflect on the implications.

Analytics have been a big part of the Rare Earth experiment. I used Flurry for this. It was incredibly easy to implement (they actually have a Windows Phone SDK!) and free.

That said, the service isn’t perfect. For example, according to Flurry, 6308 people have downloaded Rare Earth. Microsoft’s App Hub statistics say the number is 10617. Assuming Microsoft is right, since they control the servers and all, Flurry is missing a full 40% of users.

Even so, the numbers should be good enough to draw some conclusions. Let’s get started!


Between 6308 users and 1503 new games, 7811 solar systems have been created

A reported 16660 play sessions

15478 new planets have been created

9359 planets were consumed by stars (judging by some reviews, this often wasn’t intentional!)

79211 asteroid waves have entered, as well as 105450 comets

4840 star upgrades have been purchased

56 stars have reached the end of their lives (version 0.6 introduced stellar evolution, and has only been live for a few days)


379 users have discovered life, and have nurtured its existence on 1024 planets

Beyond the initial required spark to the single-cell organism stage, users have also used the spark to shortcut to:

  • Plant-level 289 times
  • Animal-level 368 times
  • City-level 360 times
  • Space-faring-level 251 times

Curious that people generally skip forward in the middle stages most, rather than the highest level (which takes the most time to advance naturally)

2702 gamma ray bursts have torn through systems with life

1819 of those GRBs have caused mass extinctions

In other words, 67% of GRBs were fatal, which indicates the difficulty for this obstacle is quite high. I’ve received this feedback independently from several players, but this data really crystallizes that

3170 rockets have been launched from space-faring planets (about half of which were planet evacuations)

Only 275 have successfully landed and colonized planets (~9%; perhaps space-faring life is due for an intelligence upgrade?)


6113 orbits have been normalized (a surprisingly popular feature – maybe the standard controls could use with a bit of “assist” if the difficulty is so high that people happily trade valuable earned orbits for more-stable planet orbits?)

A dismal 11 people have clicked on the referral for BuildDown. Is the game not appealing to those in the market for a gravity/life sim/arcade game? Or do people just ignore the About menu? Actually, I can’t tell. I didn’t hook menu transitions, so I don’t have the data to answer that question. Big oversight, and lesson learned for next time!


34101 invaders have made their way into systems

8594 were shot down

I figured a fair number of kills were accidental, as invaders in early versions used to get tripped up around stars and crash themselves.
However, since they were upgraded to avoid stars a few versions ago, the kill rate has actually improved, which shows that the only thing holding players back before was their enemies’ own stupidity

Before the feature was removed, 9383 “orbits for matter” transactions occurred. While a popular option, ultimately it hurt balancing for other orbit-powered features, like life and orbit normalization. Instead, I’m trying other ways of making more matter available to players

The email feedback button was pushed 211 times (my inbox says 72 people went through with it, and I really appreciate all that incredible feedback!)

Even with the inaccuracies, these analytics have been very helpful, providing another dimension of insight to complement the impressive volume of marketplace reviews and feedback emails.