Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Game Accessibility Guidelines (gameaccessibilityguidelines.com)
77 points by robin_reala on April 23, 2021 | hide | past | favorite | 32 comments


    Allow controls to be remapped / reconfigured
As a left-handed gamer: yes please! I use the arrow-keys for movement with my right hand and have the mouse on the left. Nothing sucks more than to find out that a game has WASD hard-coded, or helpfully adds an AZERTY checkbox as if that covers all eventualities.


There's an annoying manifestation of this where some games only partially allow remapping controls. For example, when Cyberpunk 2077 was released, it was not possible to rebind to some keys or rebind some actions.

Another pattern I've noticed is some games do not respect Windows' mouse button settings. If other left handed mousers are like me and swap the primary and secondary mouse buttons, they'll probably have noticed that some games ignore this setting and seemingly hard code primary and secondary mouse buttons to be left and right click respectively. The key bindings are understandable to me because nowhere in Windows does it let me set IJKL as my WASD. But I know it's possible to get the primary and secondary mouse button config from the OS but some games ignore or are ignorant of this fact.

Wherever I rebind my keys, I usually start with movement from WASD to IJKL. For everything else, I basically mirror what the default setting is to the right side of the keyboard.

F > H E > U R > Y Q > O C > N L Tab > any of P, Colon, Apostrophe, L square bracket L Shift> any of whatever I didn't use for L Tab X > Comma or M (though comma makes more sense because my right middle finger would type that so it matches developer intention for default setting)

There's actually more keys to choose from on the right side of the keyboard that you can reach with your pinky. This is significant because in some games being able to press buttons while maintaining movement can be advantageous.


> The key bindings are understandable to me because nowhere in Windows does it let me set IJKL as my WASD. But I know it's possible to get the primary and secondary mouse button config from the OS but some games ignore or are ignorant of this fact.

I'll chip in. As a developer, Unity and Unreal don't really expose that information, and generally devs will not fetch it on their own because that requires dealing with linking to Windows libraries, rather than letting the platform deal with that. Using Windows specific libraries seems like an anti-pattern with Unity too, because now your game is no longer cross platform.


You'd think that rather than getting low-level events for "LMB Click" / "RMB Click", the Windows DirectInput API would be handing Unity events for "Primary Mouse Button Click" / "Secondary Mouse Button Click." OSes don't emit raw un-keymapped keysyms to apps, so why are they emitting raw un-mapped mouse-syms?


Unity APIs have always been an incomplete mess.

Big sprawling projects will do it themselves, with a proper action dispatch pattern somewhere, and small indie projects will do it the basic way, like so:

https://docs.unity3d.com/ScriptReference/Input.GetMouseButto...

Meanwhile Unity has tried releasing several different input management solutions, none of which are particularly popular. With more exotic stuff like XR/VR or Steam Input it's even more of a mess.


Time to either lobby for Unity and Unreal to implement it, or to use something better.


I genuinely was not aware that Windows lets you swap the left and right mouse buttons, and I've been building Windows games for nearly 20 years. Thanks for calling that out.


In this day and age I expect every game to allow control remapping, certainly on PC but even on console I feel it’s warranted, to the point where I get mildly annoyed when they’re not remappable, even if I don’t intend on actually doing it.

I think a big part of that is I use colemak, so if a game uses layout-aware controls (rather that physical key location scan codes or whatever), then I can’t play with a keyboard unless I can remap it. I won’t change my layout just for a game, too much hassle (and I’ve always had weird issues about default layout when having multiple layouts setup for quick switching).

Most PC games do allow remapping these days, thankfully. Browser game’s usually don’t but I don’t tend to play them anyway.


You could use an autohotkey script to remap the keys. It's not elegant and is frustrating, but it can make a game playable. AHK by default suppresses the keystroke itself, which means that all you have to do is create a mapping of the keys to other keys in a script and run it.

I use it to bind caps lock to a windows-wide microphone mute toggle and it works great.


Nothing is worse than hard-coded controls in general. Completely screws up my muscle memory. It's also disrespectful because the game designers think they know my preferences better than I do.


Also, pass that on to Mozilla, which still doesn't allow Firefox extensions to remap controls (until a given tab has loaded).


I'm 200~ days into making a game/text editor hybrid (you're a tentacle monster with a magic mechanical typewriter). I've spent some effort making things accessible.

Some fun unexpected things occurred during this process. When I added controller support, it also created a kind of accidental couch co-op mode, where one person can do the typing while another moves around and handles the exploration/combat bits.

I'd love to support screen readers / do real-time text to speech transcription. Will have to research the meat and potatoes of what's involved there. Even if I can't accommodate every line item, this is a great resource!


> I'd love to support screen readers / do real-time text to speech transcription. Will have to research the meat and potatoes of what's involved there.

I'd be happy to guide you in the right direction with that. What engine or GUI toolkit are you using?


I'm using Unity3d. I appreciate the guidance!


The best option I know of for Unity is this commercial plugin: https://assetstore.unity.com/packages/tools/gui/ui-accessibi...


Just curious, why do you describe that as a "commercial" plugin? The source code seems to be Apache-licensed.


My mistake. Looks like it was open sourced sometime in the past year or so.


Just want to mention something, I am not demanding so feel free to ignore me, if you make a game (and do it because you want to make the game and not to learn some language/framework/CV padding) then keep in mind that existing game engines are probably more accessible then something you try to re-invent(especially with text based games).

I admit I am a bit upset that when I see some people asking what good game engine for say a text adventure or virtual novel should he use I see people promoting their incomplete, buggy, unsupported engine(and most of the time the single feature is that is using the CoolLanguage)


Do you have a couple accessibility experiences from engines you thought were good? Maybe not "compare" to avoid flame wars, but maybe some highlights.


Yes, so I am happy when I see a game engine uses renpy https://www.renpy.org because this engine has a built-in TTS, some of the time the developers did not test their game with this feature but since it uses python the user can hijack the TTS and use regex to cleanup stuff and I also pipe the TTS through my own configured TTS. I see people re-implementing their own visual novel game using Unity, the result is an inferior experience in all possible ways(not only accessibility).

Latest RPG Maker can export the game as html/JS , I think people created plugins for TTS but I personally wrote my own hack code that I inject in the game and pip[e the text again into my own configuration.

There are other HTML based game engines for text based games, those are also good for accessibility because you can use your existing tools to speack the text or you can change the fonts if that helps.

For DirectX/OpenGl games I tried using OCR , this is slow and it also has big problems if the game uses "fantastic" fonts = fonts that look like handwriting or other iregular fonts.

Maybe when I will have more time I could learn how to inject code in Unity or Unreal games and attempt to detect when the code renders fonts and pipe the text out of the game.


One big gaming disappointment for me as a low vision gamer is Inkle. It's all mostly text based and yet they manage to make their games 100% inaccessible.

I think Inform 7 is a good example of a very accessible text engine. Twine is pretty accessible in some contexts / exports, but not in others,unless things have changed recently. Chioce of Games is also notably accessible, kudos to them.


How does a video game engine add support for accessibility? Is there some kind of interface they have to implement?


From my experience as a gamer and not game developer . what a game engine can do is to add support for text to speech TTS for menus , popup messages and in game dialog. This engines will allow you to enable TTS support, and would make it easy for users to change the font sizes for example. I am not sure if there is a cross platform TTS interface.

My initial point was that if you want to make a game and not some hobby project try using existing engines, I have nothing against hobby projects I am also considering experimenting with a game that would simulate a world using Prolog , but this would be a toy/experiment.


I love the push for more accessibility in games. Game Maker's Toolkit made a series of very good videos on the subject that illustrate what's actually possible:

https://www.youtube.com/watch?v=4NGe4dzlukc&list=PLc38fcMFcV...

I am toying with ideas of games that put particular focus on certain senses as a key part of their gameplay. But these discussions of game accessibility always make me feel a bit like a bad person for wanting to make games that are exclusive by their very nature. So where is the line between cool ideas that don't translate well for people with disabilities and gratuitous exclusion that could be avoided?


I think you'd need to decide whether the game is the equivalent of art, or if it's a product designed to reach as many people as possible. That's the one thing I really disagree with GMTK about; not having a ton of accessibility features doesn't necessarily mean the developer doesn't care about disabled people, it could just be that the game wants to elicit a specific emotion that doesn't translate well if the game is made more accessible. He said in one of his videos that Doom Eternal being difficult makes it innaccessible to people who aren't good at video games or have other disabilities, and implied that it isn't fair that people with accessibility issues don't get to experience the same power fantasy that everyone else does.

For example, FromSoft games (Dark Souls, Sekiro, etc.) don't have difficulty options because the developers want you to struggle and feel triumphant when you eventually succeed. People have complained for a long time about how the game is inaccessible, but FromSoft hasn't budged because that feeling of mastering the combat and beating overwhelming odds is the point of the game. If they had an easy mode where you could just run through without a care in the world, it would just be another crappy open world game.


To be far to GMTK, he has an entire video about whether Dark Souls should have an "easy" mode that discusses this exact point in great detail, and overall he makes the same concession you do for art and experience.


> I think you'd need to decide whether the game is the equivalent of art, or if it's a product designed to reach as many people as possible.

Is Citizen Kane with subtitles not art?


That's not a good comparison in the context of games. It would be more akin to have a subtitle or commentator that explains the meaning of the movie or the purpose of certain shots. If you lack the intellectual acumen or knowledge to grasp these things you will miss out on them.


There was a nice curated list of accessibility design resources called ay11resources[1] but it has now been acquired and the new list[2] seems to be cluttered with links to every other Internet content(not related to accessibility).

I had ay11resources for accessibility design in my curated list of startup tools[3], I'm not confident to include the new list and so suggestions for accessibility design resources like OP would be appreciated.

[1] https://web.archive.org/web/20201108192310/https://a11yresou...

[2] https://www.getstark.co/library

[3] https://startuptoolchain.com


Strange that screen reader support for mobile devices is in the intermediate category, but screen reader support for other platforms is considered advanced. Maybe it's because mobile games tend to have simpler mechanics. But if your engine doesn't implement platform accessibility APIs, it's probably not much easier to remedy that on mobile than on desktop.


No, that's accurate. Often making your game accessible on mobile just means not going offroad and doing your own weird thing, apps are accessible by default and you often just have to make sure to use labels correctly. At least this is true in menu or text-based games, which is more games than you would think on mobile.


I like this. And I like that it's kind of ranked. But I'd love a more quantitative ranking.

This seems kinda awful but the reality is that I have a budget of resources.

Which disabilities do I focus on for the largest benefit to the most people?

I think an ordered listing would be useful. If you support disability X you are supporting Y more users. And I can pick as many as my budget fits.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: