Voyager 2.0: from drawing board to device (in under 2 months)

About 2½ years ago, I started a new job that limited how much I could work on independent projects (let me tell you, not a fan of policies like this). Still, rules are rules and Voyager, along with my other projects, was put on ice. It was in fine shape at the time, so there didn’t seem to be any harm in leaving it in cruise control.

About 2½ months ago, everything had changed. I was my own boss and beginning the Latin American leg of our journey. BuildDown had shipped, other projects still too green to talk about, and I was looking for a quick win. Voyager was an obvious choice. Problems that had trickled in while I was hands-off grew larger and more serious. The solutions were relatively straightforward… they just needed doing. There were also neat ideas I’d been sitting on for years that I regretted not having in there. A little bit of love would go a long way, so my course was clear: I was going to turn around an update to Voyager, and I was going to do it fast.

But what were those problems anyway, and where did they come from?

Continue reading

Work from Anywhere

One of the reasons the digital nomad lifestyle is such a good fit for us is that making games solo is pretty location-agnostic. As long as I have my computer and electricity, I can develop. Throw in a solid internet connection and I’m happy. Once those basic needs are met, the biggest challenges are trying to approximate a good work environment, and maintaining a healthy and productive work-life balance.


Ergonomics are usually non-existent; an ironing board makes a decent makeshift standing desk

Most rentals are aimed at sightseers, so dedicated workspace is vanishingly rare. We’re usually left to fend for ourselves when it comes to managing ergonomics and comfort. Many throw pillows end up as temporary desk chair upholstery, and our first walk through a new apartment includes testing any torso-high surface for standing desk feasibility. Likewise, a minor nuisance like nearby construction or street noise can be torture when trying to concentrate on a challenging task. It definitely pays to give extra attention to complaints about noise levels in apartment reviews.

Continue reading

Voyager: Grand Tour 2.0

In addition to all the other fun stuff we’re working on, we decided to do something fun to celebrate the end of the year. Voyager: Grand Tour is getting its biggest update ever, including our first content update since we launched! What’s included?

New lander levels, improved replays, and more

The highlight of this new update is the Touchdown mission pack, which features 20+ new levels, including a new type of mission where the objective is to land a probe on the planet surface.

Reach drop zone, release lander, navigate gently to surface

But it’s not just new missions. Everyone benefits from this update, with new probe-specific special abilities (including new free probes available just for rating the game or trying one of our others), upgrades to replays (now probes are smart enough to look for an interesting shot even on the night side), and tons more fixes and improvements.

Finally, we’ve dropped all paid advertising from the game. If you enjoy what you see, we’d love if you’d purchase our new levels and keep playing, but we’re no longer forcing anyone to pay to get rid of banner ads.

Special thanks to our fans over the years who supported us and offered up their valuable feedback. We always listen, and we are so grateful. Thanks for playing Voyager: Grand Tour!

Voyager: Grand Tour 2.0 is out now on iOS and Android:


BuildDown, Rebuilt

Part 3 of a discussion on the development of BuildDown. For design decisions, read Part 1 and Part 2.

Coming from a software engineering background and with some WPF on my resume, I’ve long preferred the MVVM pattern to Unity’s more laissez-faire component approach. Don’t get me wrong, components are great. The trouble comes when trying to organize one’s code with some semblance of separation of concerns, since Unity mixes business and presentation at nearly every level.

There have surely been countless pixels spilled on this paradox. My impression is that for many, the choice seems to boil down to capitulating to bad practice, or completely beating Unity into submission: some combination of physics proxy, startup sequencer, singleton, “MyMonobehaviour” with “MyUpdate” called by “MyUpdateManager,” tool-prescribed workflow e.g. define a model and generate codebehind, etc.

With BuildDown, I aimed squarely for a happy medium. Build an event-driven, model/presentation-distinct architecture where the cost was low and return on investment was high, but leverage Unity where it made sense. For one, it made implementation that much simpler. And realistically, I’m not about to jump ship for another engine anytime soon, so saving myself some minor future refactoring was hardly worth the headache or heartache of fully platform-agnostic intermediary layers and proxies muddying up the codebase.

Continue reading

Digital Nomad – Year One

Today marks the anniversary of the day we departed* from our home country to live abroad for an extended and indeterminate amount of time. Six months ago, we’d lived in six different countries; since then, we rounded out our stay in Romania and added seven more – Ireland, Hungary, Poland, Estonia, Mexico, Peru, and just recently, Argentina. We’ve traveled 63437 kilometers, more than 1½ times around the entire Earth. And now that BuildDown is released, I’m excited to talk soon about some of the other projects I’ve been working on. But today, a look back.

*Actually, the anniversary our “lost day” – we left Chicago December 6 and landed in Chiang Mai December 8. Long flight, long layover and international dateline!


Romanian Architecture, Irish Whiskey, Hungarian Parliament, Polish Headstone, Estonian Park, Mayan Pyramid

Continue reading

BuildDown, Monetized

Part 2 of a discussion of game design decisions made for BuildDown. Part 1 is here.

BuildDown is a simple, action-oriented game, which made it somewhat challenging to figure out how to monetize. There are no levels, so I can’t exactly sell more content. The mechanics are not friendly to puzzles to force such a content model, either. Instead, I had to weigh the various popular approaches to see which played best to the strengths of the game.
Continue reading

BuildDown, Redesigned

Part 1 of a discussion of game design decisions made for BuildDown. Part 2 is here.

One of the first projects I wanted to tackle on the road was to revisit BuildDown, the first game I ever released. I thought it would be relatively easy to rewrite in Unity and have access to the broader mobile market. But there was another reason; the original was something I was proud of, but I always felt like I had left something on the table. Rebuilding it on a new platform was an opportunity to reinvent it, both in game design and software architecture, and to exercise and refine those muscles for future projects.

The basic premise of the game is to merge blocks of the same color into new blocks, which can in turn be merged until they reach an inert state and cannot be merged any further.


Those inert blocks must be lined up along the bottom row to make them disappear.


There’s something I find really compelling about this core mechanic. It combines the pleasure of addictive and soothing micro-tasks (“mindless” repetitive actions, like popping bubble wrap), with the basic human propensity for organizing or tidying up: creating order from chaos, satisfaction with a job well-done, and things fitting perfectly into things.

But repetition breeds familiarity, and familiarity breeds contempt.

Continue reading

Digital Nomad – 6 Months On


Wat Suan Dok, Plitvice Lakes National Park, New Year’s Eve in Chiang Mai, La Sagrada Familia, View from Penang Hill

This week marks six months since we set out on this adventure of ours. In that time, we’ve lived in six different countries – Thailand, Malaysia, Portugal, Spain, Croatia, and now Romania. We’ve flown more than 30000km, or about 3/4 of a lap around the world. We celebrated New Year’s Eve with paper lanterns in Chiang Mai, Thaipusam in Georgetown, Easter in Barcelona, and the new season of Game of Thrones in King’s Landing Dubrovnik. We ate some of the best street food of our lives: khao soi, char koay teow, mee goreng, hokkien mee, mee sotong, pastéis de nata, pintxos, ćevapi, and so much more. And we visited a ridiculous number of castles.


So many castles

I say this not to brag – well, not just to brag – but to attempt to put into perspective the intangibles that make this trip so worthwhile to us. The tangibles, namely that we’re still on track to spend less than we would in a typical year of modest living in Seattle, are the real reason we can pull this off.

On that note, I’d like to talk a little more about how we manage our lives on this unusual trip.

Continue reading