FedUni / SoniFight

Software to provide additional sonification to video games in order to assist blind or visually impaired players.
Other
8 stars 1 forks source link

help getting started #2

Open Timtam opened 4 years ago

Timtam commented 4 years ago

Hi there, I was just playing Temtem today and thought that, though it not being a usual fighting game, would be great to have some sonification for that game since its great and visually impaired people can already somehow play it, although with obstacles. I just quickly skimmed through the manual and watched one or two videos, installed cheat engine and just tried to find a string which is shown when entering a dialog in the game, as it would be great if we could achieve some dialog reading of some sorts for this game. I however am unable to find any string with that text with the help of cheat engine 7.1. I know that people were able to hack Temtem, which is actually not what I want, and there are even GitHub projects for that: https://github.com/shalzuth/TemSharp This thing is outdated, but it might still give some hints how to actually find strings in the game, because I fear that SoniFight wouldn't be able to handle obfuscated or somehow else hidden strings. Can you give me any information on this? I have some experience with C#, but I didn't look into that project from above yet. I just wanted to get this out of my head before going to bed and maybe you do already know something I don't know which might help me further.

Thanks.

alansley commented 4 years ago

Hi Toni,

One possible reason that you can't find the string data is that strings can come in 8-bits per char and 16-bits per char formats. There a UTF-16 checkbox on the main window of CheatEngine to toggle the search type. If you don't find a given string in one format then try the other. Also, be wary of case-sensitivity - if it doubt searching in a non-case-sensitive manner will give you the best chance of finding a given string.

As you say, it's also possible that the data is somehow internally obfuscated, in which case it won't be found at all.

An alternative to using SoniFight for this kind of text reading task would be to use something like Universal Game Translator: https://github.com/SethRobinson/UGT

UGT can basically screenshot a game on hotkey and then analyse the image to extract text (and translate it between languages, if required). Assuming no translation was required, this text can then be pushed to speech synthesis software such as NVDA etc.

RetroArch also has a similar facility called "AI Services" - https://www.libretro.com/index.php/retroarch-1-7-8-ai-service-how-to-set-it-up/

These 'after market' workarounds are not exactly ideal, and the ideal solution would be for the game itself to be modified by its developers to include accessible design functionality such as having an option to push dialog to screen readers via tolk or such - https://github.com/dkager/tolk

As such, it might be an idea to email the devs and ask them if they'd consider doing it. Something like tolk is incredibly simple to use from a development standpoint so shouldn't be too onerous a task, but I guess it would depend if there is the demand, and if they have the time & budget to do it.

Cheers, Al