godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.19k stars 21.21k forks source link

Develop features targeted to Visually impaired gamers. #21573

Closed ca3games closed 6 years ago

ca3games commented 6 years ago

Hi, I wanna make games for blind people, but researching the issue I think I can come up with a set of features I hope the godot comunity would like to hear.

Ace-Dragon commented 6 years ago

There's a recently made video that could serve as a guideline for making games for visually impaired players (it covers blindness, color blindness, and general low vision). https://youtu.be/xrqdU4cZaLw

Watch the whole thing and see if there's anything that can't readily be done in Godot as of now.

eon-s commented 6 years ago

1 - Can be made easily with shaders and environment, there is a request too but for developers. 2 - Is game specific and can be done with regular areas. 3 - I do not know if there is a small (and free) library for that (and there is an issue about that already for mobile). 4 - That seems game specific, if you have a link with a paper about that thing being really useful, share it. 5 - Can be done easily with themes (but again, is game specific).

LikeLakers2 commented 6 years ago

Some kind of color replacement pallete for the screen (maybe a post processing filter) [...]

This could be done with a shader, but as the video linked by @Ace-Dragon mentions, they don't really work too well. They're a start, but nothing compared to making separate dedicated textures with colors more attuned to the visually impaired.

A Tilemap but for triggers [...]

A lot of what you described can already be done quite easily, actually. Check out the Area/Area2D nodes. They should be helpful in about every example you listed.

You might also find Vector2.distance_to() and Vector3.distance_to() quite useful.

Some way to do speech synthesis [...]

14011 and #20683 should be useful. The author of #20683 is working on porting his TTS support to GDNative. However, I agree that Godot should have built-in TTS support, if at all possible.

You also have the option of voice acting (though I imagine you don't have the budget for that) or recording output from TTS and playing that back (though make sure the license for whatever TTS you're using will allow you to do that).

Some way to do procedural level music [...]

I think what you're talking about is called adaptive music. I'm unsure how is related to including features for the visually impaired, but this sounds like something you could do by doing a crossfade (lowering the volume of one while raising the volume of the other) between two or more tracks, which should be easy with the use of a Tween.

A way to increase or decrease font sizes in real time [...]

If you're using a BitmapFont or are drawing sprites manually, you'll need to have a font for each size. However, if you're using a DynamicFont, you can simply change the DynamicFont's size variable.

edit: My apologies for the redundant answers, I only noticed eon-s' answers just after submitting my comment.

bruvzg commented 6 years ago

Some kind of color replacement pallethe for the screen ....

Related issues #15944, #21304. There's also simulator add-on for testing your projects: https://github.com/paulloz/godot-colorblindness

Some way to do speech synthesis ....

You can try my GDNative interface for OS native text-to-speech (depends on LGPL library on linux, but this shouldn't be problem since GDNative modules are dynamically linked anyway), supports Windows, Linux and macOS: https://github.com/bruvzg/godot_tts/releases

Some way to do procedural level music ...

Related issue #18135. Adaptive/dynamic music module (you have to recompile engine to use it) for Godot: https://github.com/oamldev/oamlGodotModule

vnen commented 6 years ago

I understand the concerns but the points mentioned are either already possible or tracked by other tickets. So I propose to close this issue.

groud commented 6 years ago

As @vnen mentionned, most of the points suggested are already possible or discussed in other issues. Closing.