Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
October 2, 2014
arrowPress Releases
October 2, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Colour blind Colour Bind?
by Finn Morgan on 08/29/12 01:42:00 am   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

Somewhere in the ballpark of ten percent of males suffer from some form of colourblindness, the most common being red-green (that is, the inability to distinguish between those colours). Often, games (and other things) are made needlessly difficult by using red and green to indicate opposites - like an RTS where red means ‘enemy’ and green means ‘friend’, or a traffic light where red means ‘stop’ and green means ‘go’. Fortunately, these cases are easy enough to deal with - you can just swap blue for green. But what about when it’s a bit more complicated than that?

Colour Bind's title screen. Discerning individual colours here, at least, isn't vital.

Colour blind Colour Bind?
The game I’ve been working on for the last few years is called Colour Bind, and as you might imagine, the game is about colour. My experience has shown me that you probably just now misread the name as ‘colour blind’ - a crappy pun, to be sure, but worse if I was making a pun about a group of people who are unable to play my game. Being about colour, is it going to be totally impossible for colourblind players?

I'm pleased to say that the answer to that question is “probably not”. I’m going to talk about the kinds of problems I’ve encountered trying to make Colour Bind colour blindness-friendly and how I’ve attempted to overcome them. My hope is to give developers some ideas for improving accessibility in their games.

Uphill Battle
I’ll be honest; when I first started working on Colour Bind, it didn’t occur to me that I’d be able to make it accessible in this way. I had kind of pre-emptively given up, because the game is so totally dependent on colour for puzzle elements, and c’mon, I’m just one guy making my first game, right? I just figured that accessibility was something I’d think about perhaps for my next game, when I had some more experience and the game was not so colour-oriented. In the end, though, I was won over by the desire to expand my audience that little bit, the vague sense that gratuitously ignoring colourblind gamers was kind of indefensible, and I must admit, a little bit of bloody-mindedness.

So, what are we up against? Well, in Colour Bind, the core mechanic is that gravity affects objects differently depending on their colour - red objects might fall down, green objects up, blue objects to the right, or whatever. It’s not constant from level to level - green objects falling up in one level doesn’t mean they won’t fall across in another level. Anything with any colour, the colour is relevant - coloured objects fall differently, coloured switches open coloured doors, coloured lasers change the colour of coloured objects that they hit. The rest of the game is in greyscale - the lack of colour indicates that objects aren’t part of the whole coloured gravity thing.

And then, it gets worse. The colours of gravity are the primary light colours - red, green, and blue. I can’t just switch blue for green like an RTS or a traffic light designer might  - blue means something too. But it gets worse again, because colours in Colour Bind can be mixed! A yellow object is affected by the sum of green and red gravity, magenta objects get blue and red, and so on. So not only do all six of the primary and secondary colours need to be distinct, but you need to be able to tell which is the sum of which (that is, you need to be able to tell visually that a magenta object is not just different to blue or red, but that it is those two colours combined). Hopefully this illustrates why my initial plan was to give up.

A game scene with no accessibility options.

Let’s start with a stupid solution
Being the programmer that I am, my first idea was to replace colours with patterns. It works in theory, right? A red pattern and a blue pattern will replace red and blue objects, and the red and blue patterns overlayed will mean magenta. I could even do this as a post-process with screen space textures, and everything will be theoretically playable! Even things that are quite small, like lasers, will be covered by this ultimate accessibility solution, thus allowing even a completely achromatic player to know what’s going on, and without much work on my part.

But, as so often happens, the ‘theoretically’ in that last paragraph was my undoing. It was hard to devise three patterns that are immediately obviously distinct, yet also have high enough frequency of detail to be visible even on very small objects. In theory, you could figure out what was happening by looking at the patterns, but in practice it was just too hard in some cases - you might as well just use trial and error to figure out what colour something was. This could conceivably be fun if I deliberately designed towards such a mechanic, but that way lies madness.

A comparison of coloured objects, with and without patterns.


A Bit Of Everything
A colour blind gentleman said something to me at GDC that I took to heart. He told me that when it comes to games, he’s used to mucking about with settings and just wants to have enough clues that he can figure things out. With this in mind, I decided that perhaps a kitchen sink approach would work better. My new plan was “anything that might help at all, I’ll chuck it in, and people can use what works for them”. I may not be able to make the game just as playable in greyscale as it is in colour, but if I do enough things to help, perhaps I can help most of the players all the time, and all the players most of the time. With that in mind, the following things have been added:

  • The patterns, mentioned (and shown) above. In-game objects have these, the player has them (but it’s a bit too small to easily see in that case), and the gravity dials that show direction have the patterns to match.
  • A sort of one-dimensional pattern system for lasers. I couldn’t meaningfully connect them to the 2D patterns on objects, but at least it’s something to make them distinct from each other.
  • The background music changes depending on your car’s colour. I was planning to implement this anyway, because it’s cool, but it also makes it easier to know what colour you are at any given time.
  • The player can vary the intensity of individual colour channels. For instance, a player with red-green colourblindness can make red show up less intensely than green to create a distinction between those objects.
  • The player can also invert all the colours in the game. I honestly don’t know the theory of why this would help anything, but a few people told me that it might, so in it goes.
  • Apart from anything else, when a puzzle involves distinguishing between two different colours a lot, I’ve tried not to make those colours green and red.
As a small developer, I don’t really have access to a wide array of playtesters with various types of colour blindness, but those that have tried it have reported that it works for them okay. I can’t promise that it’ll work perfectly for everyone, but I remain optimistic that I have cut out substantially fewer players than I would have by just giving up on the problem.

The same coloured scene as above, but with patterns applied to objects and lasers.

I think the right way to look at colour bind accessibility in a game is this: Think about a feature being proposed for your game. If you implement it, you will automatically increase your sales/userbase/whatever by around five percent. Even if that feature takes a programmer, or even the programmer, a couple of weeks, it's probably not a bad investment, right? I would guess that making Colour Bind playable for colour blind players took more effort than it would for most games - probably a week or two of work for me, and I'm pretty much a one person team  -  and by my count it was well worth it.

Related Jobs

Pocket Gems
Pocket Gems — San Francisco, California, United States
[10.01.14]

Associate Product Manager
Trendy Entertainment
Trendy Entertainment — Gainesville, Florida, United States
[10.01.14]

Technical Director
Trendy Entertainment
Trendy Entertainment — Gainesville, Florida, United States
[10.01.14]

Technical Director
Trendy Entertainment
Trendy Entertainment — Gainesville, Florida, United States
[10.01.14]

Technical Director






Comments


Tom Baird
profile image
Depending on your engine, you can use interesting Full-Screen shader effects.

You can find documentation online of which colour levels cause issues for different types of colour blindness, and then shift all colours within that range at the end of each frame.

http://www.daltonize.org/ has information and examples to both simulate color blindness and correct for it. Allowing you to both test for clashes on your own and come up with a broad range of colors in your objects that are easily distinguishable for each form of colour blindness, in a way that the user doesn't need to fiddle with settings.

Ian Hamilton
profile image
Daltonizing isn't a silver bullet unfortunately, it just shifts one colour to look a bit more like another, for example putting a bit of blue in the green.

Helpful if you just want to be able to distinguish between two key colours, for example red/green teams in a deathmatch, but not if you're relying on a broad spectrum of colours, as color bind does. If you start out not being able to easily distinguish green/red, but then shift the green to look blue, you're then left with not being able to easily distinguish green/blue.

The best solution is to avoid relying on colours alone. Color-bind's combination of multiple means to convey the information is fantastic - in all a combination of colour, contrast, music and pattern.

I can see why there were problems with distinguishing the patterns as they're quite abstract and large. Here's an example of a game that tested well with colour blind players due to using patterns that are small, high contrast and and clear enough to work even on very small shapes:

http://static-2.socialgo.com/cache/85560/image/1180.gif

If it wouldn't impact on the gameplay too much you could even take it a step further and make the pattern out of tiny chevrons/triangles (differently designed for each colour), pointing in the direction of gravity.


none
 
Comment: