Sublevel Zero Redux Released!


We’re incredibly proud to announce that Sublevel Zero is now available on PlayStation 4 and Xbox One in the form of Sublevel Zero Redux! Redux is an expanded, enhanced and remastered version of Sublevel Zero, and we’ve taken this opportunity to improve upon the original. With a revamped campaign, difficulty levels, a teleporter system, new…

Read More

Sublevel Zero Redux Delayed

Hi everyone, We’ll get right to it – We’ve been blindsided by a nasty, last-minute bug with Sublevel Zero Redux. This unfortunately means that we’re going to miss the 22nd February release date. We can only apologise to anyone who’s pre-ordered the game and feel that we’ve let you down. This is certainly not the…

Read More

Sublevel Zero Vive Support, GOG Beta and >40% Off Sale!


Pull up a chair and get comfy, because we’ve got lots of big news this week! It’s all going down on Wednesday 17th – make a note. Vive Support! GOG VR Support! Unified Beta! One-day sale: over 40% off at! HTC Vive Support On Wednesday, we’ll be releasing a big update on our beta…

Read More

Unity Software Design – Generalising and Specialising


It’s a seemingly inherent desire in most programmers to make every solution as general as it possibly can be. That is to say, to design code such that it can handle almost any input, any situation. The attraction is obvious – design one amazing bit of code, and you can use it all over your…

Read More

Unity Software Design – Statics and State


I’ve mentioned statics in the first post in this series, on Singletons, but there’s a bigger discussion to be had about this concept, and – more generally – the concept of “state”. Static Fields Static fields exists outside any particular instance of the object that declares them, and are thus shared between all instances of…

Read More

Unite Europe 2016


UPDATE: Added video links to talks including ours! Slides for our talk, Designing Motion for Vehicular VR Games, can be found here. Unite Europe, held last week, is an annual Unity-focused conference in Amsterdam. Gary and I were fortunate enough to be giving a talk, so we thought we’d write a run-down of our time…

Read More

Unity Software Design – Factoring


We’re finally back to the topic that prompted this whole thing. I didn’t want to start off by being too controversial, but I think you know what I’m about by now. So, even more than usual: OPINION WARNING! What is Factoring? First off – it’s not refactoring. That’s entirely separate[1]Refactoring, loosely, is rewriting code to…

Read More

Unity Software Design – Source Control


As I noted in the first post in this series[1]or rather, in the footnotes – but if you read the footnotes you’ll already know that, and if you don’t then you’re not reading this either., Source Control, or Version Control, isn’t strictly a software design topic. But I’m going to argue – unlike specific patterns,…

Read More

Unity Software Design – Defensive Coding


Defensive coding is the practice of making your code error-resistant. The idea is to make your code handle unexpected circumstances gracefully, rather than just going wrong or crashing. It’s a pretty broad topic, but in its simplest form means checking for invalid values or references before attempting to do things. For example, consider the following….

Read More

Unity Software Design – Inheritance and Composition


Inheritance is a big deal in object oriented programming. The ability to extend parent classes into subclasses, and have those subclasses be recognised as the parent (via polymorphism), is extremely powerful. It’s one of those Big Ideas that, once it clicks in your head, drastically changes how you think about coding. And if you’re not…

Read More