mculig / TemtemTracker

A tracker for the MMO Temtem
GNU General Public License v3.0
30 stars 14 forks source link

Feature request: Add help to colorblind people to identify the Koish of the contest. #15

Open j-lorenzo opened 2 years ago

j-lorenzo commented 2 years ago

Hi community ;) !

I'm colorblind, and I have a problem identifying the Koish of the weekly contest. As I can see, the community is asking for this accesibility improve, but the devs are not giving us feedback. I personally talk with they in the beta to make him know this problem, but currently we don't know about they concern about it.

https://www.playtemtem.com/forums/threads/colorblind-koish-fishing.13603/ https://www.playtemtem.com/forums/threads/koish-are-not-colorblind-friendly.12895/ https://www.playtemtem.com/forums/threads/koish-and-color-blindness.12688/ https://www.playtemtem.com/forums/threads/how-are-color-blind-people-suppose-to-fish.11612/ https://www.playtemtem.com/forums/threads/fishing-but-color-blind.14212/ ...

Maybe the TemtemTracker can add a feature to make us know when the tracked koish appear... :)

Thank you for your time to read this! ❤️

mculig commented 2 years ago

Hello.

For starters, I no longer maintain TemtemTracker, as the Farewell message at the beginning of the readme explains.

Second, as mentioned in the readme, TemtemTracker works by using OCR (Optical Character Recognition). The short version of what this means is that TemtemTracker reads the Temtem NAMES from your screen. Nothing more, nothing less. This means that TemtemTracker is UNABLE to recognize Koish features or colors.

Using OCR is a resource intensive and roundabout way to get Temtem names, but was chosen due to the disconnect between the method and the game client and its processes. It does not in any way interact with the game client, its files, memory, or network stack. As such, it is undetectable except for process scanning (meaning Crema couldn't figure out you were using it and ban you even if they wanted to without serious privacy violations which would likely bite them in the ass).

The feature you ask for would not be possible using OCR. As for other methods:

1) Pixel colors: Due to lighting conditions changing between the map, player Temtem list, and the actual board with the Koish details, as well as other possible sources of variation, using purely pixel colours to reliably detect the correct Koish would be an extremely difficult task.

2) Sniffing network traffic. Reading network packets would be more reliable than reading pixels. As far as I am aware, something like that would also be completely undetectable as long as the packets aren't changed. Introducing tiny (microsecond, milisecond at most) delays in network traffic could not be reliably established as caused by a 3rd party tool as opposed to simply being caused by underlying network conditions. How one would do this reliably without interacting with the game client is unknown to me, as well as what information one could gain and how. I have not attempted anything in this direction.

Either way, the advantage gained by using such a tool (even if it is to compensate for a natural disadvantage caused by disability) would violate the TOS and would likely mean Crema may want to forbid its usage. Making a tool that helps people with a disability would be a hilarious way to put them between a rock and a hard place though, because if they do attempt to forbid it or ban it, you just tweet a few left-leaning media outlets with a screenshot of the e-mail and watch the events unfold while enjoying some popcorn.

Either way, I am (regrettably) not your man for this task. Best of luck to you.

Just in case you did not know/notice: While the tail colors for Koish of the Week are indeed extremely colorblind unfriendly (and unfriendly to the rest of the world too, thanks to bad color choices and different lighting) their heads have distinct shapes so you don't have to rely on the color to figure out the types.

j-lorenzo commented 2 years ago

Thank you @mculig for your elaborate response. I thank you for giving clues on how it can be done, let's investigate it!