Hey all! It’s been a very exciting month for us, so let’s get to it. Here’s what Duet looked like last update:
And here’s what it looks like now:
Now you may be saying, “That looks almost exactly the same.” Well, let’s back up a moment.
Where we were
Auditorium Duet was originally built on a prototyping codebase. The idea is that you are able to very quickly see what works and doesn’t; in practice the code got so jumbled so quickly that it became a nightmare to maintain. Each new feature we want to add turns into a week of work, with no way to easily keep experiments from breaking things elsewhere in the game.
We’ve known for a long time that our codebase was unmanageable. But the solution was a complete refactor — essentially, we would have to start from scratch, rewrite the entire engine, and slowly bring back features into this more stable base. Additionally, switching from Unity’s Asset Server to a more modern version control system like Git would give us more flexibility to experiment without bringing the house down.
At every step along the way, we have looked at a feature and said, “It will take less time to implement this feature than to rearchitect the entire game.” And while that has been true each time, the combined effect is that we simply haven’t been able to be as creative and productive as we need to be to deliver.
So finally, we took a step outside of the project. We tried a few new things with our game jam game, “Monster Want Burger!”, and quickly realized how much power we would get by refactoring. And this past month, we did just that.
What does it mean to refactor? It means we started from scratch — an empty project — and slowly, thoughtfully, rebuilt every single subsystem in the game from the ground up. We threw away what didn’t work, polished what did, and structured everything in a way that not only makes sense, but works with far less overhead and cruft.
So where does that leave us? We have a pristine new codebase that accomplishes everything the previous one did in *one-third* the code:
It’s easily understandable; it’s easily maintainable. It’s actually a joy to work with. And switching to Git has given us the freedom to experiment and add new features, so that Duet can be so much more than just a prettier Auditorium.
Still, it will be prettier. Upgrading to Unity 5 has given us access to newer rendering pipelines and features we would have had to write on our own otherwise.
We can say with certainty: we have never been more excited to work on Duet than we are today.
So what does all this mean?
Duet is going to be wonderful. We’re at a place where our original ideas are coming to light. Controller support is more stable than its ever been, and thanks to the refactor we'll have consistent performance across platforms.
The game is a pleasure to work on and development is happening at a rapid pace. It’s an exciting time and we’re very happy to be sharing it with you!
Will and Dain
P.S. So our game jam game, “Monster Want Burger!”? For a lark, we submitted it to the App Store a few months ago. Now, four days of off-hours work have turned into a new product. It goes live tomorrow for $0.99, and it’s kid-tested, family-approved fun. Anything you can do to spread the word — tweeting, sharing, posting, etc. — would be greatly appreciated.
P.P.S. Thank you for sticking with us and thank you so much for your support — we’ll talk to you soon!