Lemmings Forums

Lix => Lix Main => Topic started by: Simon on December 08, 2016, 05:06:52 PM

Title: Colorblind multiplayer
Post by: Simon on December 08, 2016, 05:06:52 PM
We have 8 colors in multiplayer, plus a neutral color. I'd like the neutral color to be white.

Design goal: The 8 player colors should cover a good chunk of the spectrum that normal people can see, yet still be well-distinguishable by colorblinds.

geoo brought it up in chat (https://www.nordicbots.com/?id=73&net=quakenet&cid=81576&year=2016&month=12&day=8)
Image: What becomes equivalent (http://mkweb.bcgsc.ca/colorblind/img/colorblindness.palettes.simple.png)

-- Simon
Title: Re: Colorblind multiplayer
Post by: namida on December 08, 2016, 06:36:47 PM
Allowing the choice of custom colors would be the best way to address this. Perhaps some kind of non-color-based differentiation as an alternative / fallback for those who simply cannot find a suitable palette. (My first thought would be some kind of symbol, but I'm not sure how you'd go about adding this without interfering with other important visual elements.)
Title: Re: Colorblind multiplayer
Post by: Dullstar on December 09, 2016, 12:38:53 AM
I would agree that custom colors is the best way to handle this; red/green colorblindness is common, but I've also met someone who has trouble distinguishing blue and purple. It would likely be difficult to find a palette that looks normal to people with normal vision while at the same time being distinguishible to someone with color-blindness. The reference image you provided seems to show this.

My suggestion would be to choose a palette that looks good and make it the default. A colorblind mode would be a good preset option to have (perhaps find a colorblind person to make this?), but custom colors would benefit almost any type of colorblindness; and normal-sighted people could adjust colors to their liking as well.
Title: Re: Colorblind multiplayer
Post by: ccexplore on December 09, 2016, 03:17:12 AM
Typically in most other situations, the idea is to try to avoid making color the sole means of identification, but in this case given the sizes of lixes, you're probably not likely to be left with any good options outside of color.  And then since there can be up to 9 colors that ideally should be all distinguishable from one another, I imagine it'll be quite difficult to find a good default that works well across the different kinds of colorblindness (to say nothing of not entirely sure on how to precisely define "sufficiently distinguishable"--I'd imagine with some hues becoming indistinguishable, you'll inevitably end up with some colors differing mainly by brightness/saturation and then distinguishability of those colors become solely a matter of contrast).

If we can be given mathematical formulas to model the various types of colorblindness as well as formulas for evaluating the distinguishability of two colors (and corresponding targets for pass/fail), it might be possible to entirely handle this problem via mathematical modeling and potentially come up with "optimal" default palettes that way.

Customizable colors is probably the safest approach and arguably a good requirement to consider--it ensures there is a workaround to whatever undiscovered deficiencies may exist for some people for whatever default palette we come up with.  If you're worried about discoverability, you can potentially even consider making a one-time popup of a dialog for the first time the user goes to the multiplayer browser (and user hasn't changed the colors already previously), showing them the default colors and end with some text like "You can change these colors if you have some form of colorblindness and find some of the colors not distinguishable" plus a button to go to the relevant settings page (and another button for "this looks okay").  Or maybe instead just have an appropriately labeled and placed button in the lobby UI to go to the settings page for adjusting colors.  You get the general idea.

Another interesting thing to consider is that the most important thing is for the color belonging to you to be distinguishable from the other colors, so that you can tell which lixes are the ones under your control.  Likewise, it'll be important to be able to distinguish neutral lixes from your lixes or other lixes.  The fact that a lix belongs to other player A versus other player B is often of less importance, except for team-versus-team style of playing.  I'm not sure how all this translates in terms of how to approach the colorblindness problem, but I have to think it might help simplify the problem a little?
Title: Re: Colorblind multiplayer
Post by: Simon on December 13, 2016, 05:47:10 PM
Nice input, thanks!

I like extra visibility for the own color, a color-blind option to distinguish the own lixes from other people's. Extra symbol sounds intrusive, I'd like to reserve this for later game design. But glaringly different colors for (hair, shirt, pants, maybe skin) sounds excellent, while every other team's shirts and pants remain the same hue per team.

Customizable colors is good. You can already edit the data files: There is an image that specifies the color palettes, one palette per row of pixels. Is this enough, or do we need UI? I suppose editing data files is enough, especially if the own lixes get extra visibility.

Sit down with your favorite color-blind friend and make a palette together, that's probably the best bet.

We don't have a huge problem with color-blindness right now. In a pinch, agree with your opponents that the color-blind player gets black or the bright yellow.

-- Simon
Title: Re: Colorblind multiplayer
Post by: Dullstar on December 20, 2016, 05:33:22 AM
Being able to edit the data files is a good start. UI is helpful but probably not necessary as long as there's a way to be pointed in the correct direction (i.e. which file to edit and where is it stored) by anyone who may need/want it for whatever reason (whether because they are actually colorblind or just because custom colors are fun). An actual UI for editing colors probably should be very low priority if it can already be edited manually.
Title: Re: Colorblind multiplayer
Post by: keiya on December 24, 2016, 03:39:06 PM
One thing that might make sense is trying to sort them in terms of likelyhood to be distinguishable. Most users are lazy and will use the first four colors for a four player game or the like. If you make those most likely to be distinguishable you minimize problems even if you can't get a full palette of eight. For instance, the first two might be blue and yellow, which can be distinguished reliably by all three -anopias, followed by a deep red (using saturation and lightness)? I'm going off the top of my head and a couple reference pictures admittedly, but it's a start.
Title: Re: Colorblind multiplayer
Post by: geoo on December 26, 2016, 02:31:07 AM
I'm not sure about people preferably choosing the first few colors. Maybe the last two were less popular, but I'd suspect that'd be because they were grey and black.

There's one reason against encouraging people to come up with their own palette: During play, in text chat or voice chat, one sometimes/often(?) refers to other players' lix by their color. This gets confusing if everyone has their own color scheme.

I think it's best to have a default colorblind-friendly palette. Then make people aware of the possibility to change the color scheme (via the png image containing the palettes), but discourage them from doing so unless they have a good reason.

Visual markers might be of interest either way. There will be three kinds of lix: yours, other players', and neutral. Currently, the game draws yours in front of all the others. I remember in Ghetto wars that sometimes caused the issue that infiltrators could hide in between your lix. Having markers above the "other players' lix" group would solve this issue. Then again, the more likely candidates for markers are probably neutrals or yours. A marker could be a symbol above a lix, like a little star (I think that's what clones does with neutrals). Though it's not clear whether it'd be a useful feature or just clutter the screen.