WebBanner-YT

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!

vive_oculus_gog_header

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 Chrono.gg! HTC Vive Support On Wednesday, we’ll be releasing a big update on our beta…

Read More

Unity Software Design – Generalising and Specialising

usd_genspec

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

Jamchester 2016

Jamchester-on-grey-long

You can download and play our jam entry ‘The Crystal Curse’ (we know the name’s bad!) here. Remember – it needs a Vive, 3-4 people and at least 3m x 3m to play in! A few weeks ago, Luke and I teamed up with Sublevel Zero composer, Will Bedford, to enter local game jam event,…

Read More

Unity Software Design – Statics and State

usd_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

UniteEurope

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

usd_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

usd_sourceControl

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

DefensiveCoding

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

sdu_inheritance_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