Uncategorized

Breaking the Laws of Physics

So we finally tried updating the Outer Wilds project to Unity 5 this week! After several thrilling hours of tweaking the entire code base to work with the new (admittedly much-improved) Unity API, the last compile error finally vanished and I eagerly pressed the play button.

This is what I saw.

Pictured: not what Outer Wilds usually looks like.
Pictured: not what Outer Wilds usually looks like.

Those who have played Outer Wilds before know that the game begins with the player character looking up at the sky. This is technically a screenshot of that scene, albeit with a few notable discrepancies. Let’s ignore all of the weird graphical artifacts for a moment (those are to be expected when upgrading a project) and focus on the fact that the player character has fallen through the ground and is well on her way to the planet’s core. If you haven’t played Outer Wilds, I should note that this is not how the game typically starts.

A cursory glance at the error output window revealed the source of the issue.

8267513_orig

The console contained 999+ identical errors reading “Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported in Unity 5.” Non-convex (or concave) refers to geometry featuring negative topology (valleys, caves, tunnels, etc), and non-kinematic rigidbodies are objects that can be moved by physical forces. This error essentially means that dynamic physics objects can no longer have negatively curved geometry in Unity 5.

In most games this isn’t a problem. The most common use for convex colliders is level/terrain geometry, which by definition is usually static. Objects that need to be simulated with physics tend to be simple enough that their shapes can be approximated by one or more convex colliders.

In Outer Wilds, literally everything in the game is moving at very high speeds due to real-time physical forces. Each planet is a non-kinematic rigidbody that is actually rotating about its axis as it zooms around the sun. Every planet also features a  terrain that relies on a non-convex mesh collider to prevent smaller physical objects (like the player) from falling through it. Likewise, your ship is a dynamic rigidbody that needs a non-convex collider so that the player can walk around inside the cabin while it’s in flight (fun fact: we have to apply a counter-force to the ship at its point of contact with the player, or else the player’s weight would cause it to spin ever so slightly).

A quick google search revealed that the ability to marry non-convex mesh colliders with non-kinematic rigidbodies was discontinued by the physics engine itself. Unity 5 uses the latest version of Nvidia PhysX, which apparently no longer supports that feature (probably for performance reasons). In short, it’s not something that’s going to be fixed anytime soon.

That leaves us with a few options:

  1. Replace every non-convex mesh collider in the game with a bunch of convex mesh colliders. This is almost definitely a terrible idea (imagine trying to create a tunnel out of convex shapes).
  2. Secretly make every planet static…it only looks like they’re moving. This is problematic because we’d lose all of the cool side-effects of actually simulating planetary motion (try jumping straight up on the moon and notice how you drift across the surface depending on your distance from the equator). Theoretically you wouldn’t notice a difference if we correctly simulated Coriolis forces, but that is a massive “if.”
  3. Make every planet a kinematic rigidbody (instead of non-kinematic). Kinematic rigidbodies can still be moved manually, but they are not affected by forces. We’d have to write our own physics simulation to achieve planetary motion and crazier stuff like the islands on Giant’s Deep. We’d also need to choose an integration method that closely approximates the one used by PhysX (the internet says it’s probably this one).
  4. Keep using Unity 4.

We’re still weighing these options against each other, but right now we’re leaning towards either 3 or 4. It just goes to show that when you make a game that blatantly ignores how its game engine is intended to be used, these types of problems simply come with the territory.

Then again, I suppose we wouldn’t want it any other way.

– Alex

 

All Systems Go

I’ve been chipping away at Outer Wilds in my spare time for what feels like an eternity (or at least something measurable on a geological time-scale), writing code by the flicker of candlelight* and occasionally updating the site in a vain attempt to reassure our fans that we haven’t completely abandoned the project.

Well those days are over, because we’re finally working on the game full-time at Mobius!

I am UNREASONABLY EXCITED about this, but I’ll try to keep my use of all-caps to a minimum and fill you in on a few of the cool new things we’re working on.


Investigate the game's mysteries (if you want to).
Investigate the game’s mysteries (if you want to).
Burn marshmallows less terribly than ever before!
Burn marshmallows less terribly than ever before!
Beep boop.
Beep boop.

More Content on Every Planet

Every planet in the game will have far more to discover in the final release. It’s still a work-in-progress, but here’s a small addition to one of the islands on Giant’s Deep (hmm…something looks familiar). We’ll also be reworking a lot of existing locations so that everything ties into the game’s central mystery.

New and Improved Marshmallow Roasting

We’re still hashing out the controls (recent playtesters exhibited nearly a 100% mallow incineration rate) but the new roasting system feels great once you get the hang of it. As much as I loved using that little thermometer to judge doneness, the whole process feels way more organic without it.

Updated Ship Computer

Since we’re adding so many things to find and explore, we’re also updating the ship computer to help keep track of everything you’ve discovered. It won’t tell you the answers to any of the game’s mysteries, but it will keep a record of that ancient mural you think you might have seen on Brittle Hollow before a meteor hit your ship and you were momentarily distracted by falling into a black hole.


That’s all for now, but this is just a taste, a morsel, a mini tea sandwich held together by sword-shaped toothpicks of what we have in store for Outer Wilds. I should probably get back to work, but we’ll have plenty more to show in the coming months, so keep your eyes on the skies.

Happy Trails,
Alex

 

* possible dramatization

Meet the Team

Now that we’ve settled that, yes, we are working full-time to finish Outer Wilds, we’d like to take a moment to introduce the OW crew. Head on over to the Mobius blog to meet the team!

If you’re not familiar with Mobius, the company developing Outer Wilds, this is a great intro to who they are and what they’re about (spoiler alert: the company was founded by Masi Oka of Heroes fame, who used to work at Industrial Light & Sound and is an avid gamer). Plus, you can put some faces to the names of the development team, and we can definitively prove we’re not secretly extraterrestrials.

We’re finishing Outer Wilds!

fc2cd333-884c-49cd-b533-5606eb50fe8e

Friends, nemeses, casual acquaintances: here it is. The major announcement. The big one. The one where we tell you we’re repurposing our spare oxygen tank as an extra fuel cell and going all-in on Outer Wilds.

Effective immediately, we’re teaming up with Mobius Digital to make our game a shiny reality, meaning Outer Wilds is going to get the full-time, full-team dedication and resources it needs to be completed. We’ll be able to devote our complete attention to developing Outer Wilds, so the next time you see it, it’ll be as a finished game.

One of the reasons we’re stoked to be working with Mobius is that they’ve been very supportive of Outer Wilds since early days, and they’re as excited to be completing the game as we are. Outer Wilds’ creative lead/fearless leader Alex, designer Loan, and composer Andrew all work at Mobius currently, too, so we know our game is in good hands.

So as you can see, we’ve got big changes coming. If you’d like to hear from us when we have updates, you can sign up for the mailing list and we will pour fresh hot news into your inboxes.*

Again, many, many thanks to everyone who believed in us. Your enthusiasm and support mean the galaxy to us, and we’re going to give this everything we’ve got to make Outer Wilds an amazing experience. As ever, thanks for flying with us!

*Please make sure your inbox is fireproof.

Supermassive thanks

Outer Wilds is your 2015 IGF Excellence in Design and Seumas McNally Grand Prize winner!

…Which you almost certainly already know, but we thought it was about time we said so ourselves. Supermassive thanks to everyone who stopped by at IGF to meet us, say hi, or demo the game/die spectacularly in space. (Shoutout to the guy who got crushed by his own spaceship! We’ve never actually seen anyone do that before.)

Seriously, thank you. You’re the best, and we can’t wait for you to play the finished game.

And yes, we will be finishing Outer Wilds! As much fun as GDC was, we were super excited to get back to work on the game. We have a lot cooking on our metaphorical campfires and will update again as soon as we have more news. Keep your eyes on the skies.

IGF_winner

Celebrate Groundhog Day by voting for the IGF Audience Award!

Happy Groundhog Day from the Outer Wilds!

If you haven’t heard, Outer Wilds has been nominated for two categories (Excellence in Design and the Grand Prize) in the 17th Annual Independent Games Festival! We also received honorable mentions for Excellence in Narrative and the Nuovo Award.

Even if you won’t be at the festival, you can still vote for the IGF Audience Award (voting closes February 9th).

Of course we’d love if you voted for us, but we completely understand if you feel another game is more deserving. We also assume no responsibility in the event that choosing a different game causes you to relive the same day over and over until you vote for Outer Wilds.

groundhogFinalist
image credit: www.jigsawexplorer.com

 

Incoming Transmission

Hello out there!

We wanted to take a moment to let you all know what we’ve been up to lately.

It’s been a great few months for Outer Wilds. In addition to a lot of tech enhancements, we’ve spent a lot of time finalizing the high-level narrative design and making sure that all of the pieces fit together. Questions like “what exactly is the Quantum Moon” or “what fell into Giant’s Deep” now have answers that feed into the game’s central mystery. We’ve also been hard at work developing the culture of the Ancients (who are now called the Nomai) and developing the tone of their writing. Next up, evolving our planetary level designs!

We wanted to give a shout-out to all of you who have played the alpha and shared your enthusiasm (and/or terror…) with your friends. We’ve enjoyed watching your Let’s Plays and hearing your harrowing tales of close encounters in Dark Bramble.

We can’t give you a release date for the time being, but we’ll leave you with this image of a recent addition to the observatory. All we can say is that it’s heavily tied to what’s really going on in the solar system.

NomaiStatue

Mission Status

It’s been a while since we last broke radio silence, so we just wanted to confirm that development on Outer Wilds is still underway!

We’re currently working towards a full release of the game, which will feature (among other things) a completely fleshed-out version of the overarching mystery. The alpha release will remain available in the meantime, so feel free to check it out (if you haven’t already exhausted its secrets) while we work on the full release.

A big thanks to everyone who’s been playing, writing, talking, and trading crazy theories about the game. Stay tuned for future developments, and happy trails!

Travellers