|
Notes |
|
|
|
Padrino, please list all types of color blindness.
For every one describe how it affects game.
Then point which types of such disabilities you want to take care of.
Also describing scientific testing of game fixes in that area would be very nice.
Game allows for graphics theming using following files:
kristall.ECL
marmor.ECL
Stein.ECL
holz1.ECL
They contain colors and artwork (ball shapes).
For start we can alter colors.
I've attached image. Open it in Deluxe Paint or any other pixel-art graphics program which supports indexed colors and palette modification.
Editing shades of green blue and red colors should affect other elements in a limited way. Focus on them first.
I'm expecting from you list containing following fields:
color_index, original_color_rgb, new_color_rgb
As for ball shapes. We can make them triangles, squares, crosses, etc.
But it needs much more work as described here: https://eab.abime.net/showthread.php?t=121058 |
|
|
|
|
Converter completed.
You can change palette and graphics.
Ball shape might be troublesome cause there is only one mask for balls of all colors (have to verify).
Image attached. |
|
|
|
|
Hi Henry,
first, it's "padrino", with a small "p". ;)
Now, to the really important stuff...
Wow, you are too fast for me. =)
I was still gathering information, back an forth and now you're already done. 8)
Thanks for picking up this project!
I will spread the work and looking forward to the release version. |
|
|
|
|
> I was still gathering information, back an forth and now you're already done. 8)
I'm done regards technical aspects.
Still need feedback from you as described in post from 2025-08-06.
I can't move any further without it. |
|
|
|
|
Regards custom shapes.
Game uses Amiga Sprites for moving balls.
But due to hardware limitations (or author laziness) last moving ball is drawn using blitter.
As shown in attached image, custom shapes for sprites are possible.
But last (fourth) user controlled ball is drawn using blitter with transparency mask which is shared across all balls. No custom shape there.
Yellow ball at the top - sprite.
Yellow ball at the middle of the screen - blitter.
I don't see any 'easy' remedy here.
But for now lets focus on fixing colors. |
|
|
|
|
Hi,
finally got some feedback form the guy from whom pointed out the problem to friend... :)
yellow:
20: 15/14/0 -> 15/15/0
21: 12/9/1 -> 13/10/1
22: 10/5/1 -> 12/6/1
blue:
23: 0/9/15 -> 0/10/15
24: 0/6/12 -> 0/7/13
25: 0/4/8 -> 0/5/10
green:
26: 0/13/0 -> 0/11/0
27: 0/10/0 -> 0/8/0
28: 0/7/0 -> 0/5/0
I wonder, as a general approach, would it be possible to have desired values maybe just set in the tool types, as whd does other custom settings?
BTW, changing shapes, imo, is not really needed, especially as it would quite alter the game. Changing colours is a very subtle change. |
|
|
|
|
Oh, there seems to be a game called "Zuma's Revenge" which does have a colour blind mode/setting.
Maybe it could be taken as inspiration or hint for colour changes?
(don't know the game, was just brought to my attention) |
|
|
|
|
It is not that easy.
Amiga architecture allows for many scenarios regards color management on the screen.
There is not one, universal way which could be patched by whdload-colorblind-feature.
Just check source of the slave for new logical release (in a few days).
I'm using custom code to hijack color processing in the right place of code.
One step above would be to utilize some sort of filter/shader in any Amiga emulator (hardware or software).
But there is not one magic mapping which will solve this issue once and for all cases.
Otherwise every modern game would use it today. Which is not the case unfortunately.
Proper approach is to walk backwards by using tools which will change monitor color profile to one and every colorblindness type and allow for fast swapping between them.
Then, looking at the results, alter game assets to make them more resilient to such color degradation. |
|
|
|
|
Well, I was just quoting that other game, cause I thought, maybe it could show what colours it changes and to what and not how it does that. ;)
Anyway, someone on the a1k forum suggest to "just hex ed" the file "Kristall.ecl" and supplied attached image.
I am no coder, so I unfortunately don't know how you tackle the problem.
I just thought when you modify those value you mentioned,it would make no difference if you had a fixed change, or if your read pre-start values to use from datatype. |
|
|
|
|
|
Image attached - game running with altered palette. |
|
|
|
|
> Anyway, someone on the a1k forum suggest to "just hex ed" the file "Kristall.ecl" and supplied attached image.
You have to modify 4 ECL files for every 'graphic set' game supports.
Then these files should be distributed with whdload Install.
This is not very professional and might rise some legal questions regards distributing copyright material (even if it is abandonware).
> I just thought when you modify those value you mentioned,it would make no difference if you had a fixed change, or if your read pre-start values to use from datatype.
Tell me how can I read datatypes from slave. Code example would be fine.
Custom1-5 variables might be not enough to fit all color data. |
|
|
|
|
|
|
|
|
|
I can pass this on, as I am unable to test this myself? |
|
|
|
|
Ok, got feedback from the guy who's remark got this rolling... and, he's happy.
He can finally play the game after all those years!
Let me say "thank you", on his behalf too, for looking into this and making it happen. =)
If I get further feedback from other colour blind people I'll report. |
|
|
|
|
Concerning the tool types, sorry, don't know how WHD works.
Just saw there are so many in the wild, that I assumed, could be used for this.
Don't know technical limitations (like max length, allowed characters) either.
Thought maybe, if the values are restricted to be always 6 digits per RGB... |
|
|
|
|
That is great news!
Thanks for field test. |
|
|
|
|
|
Custom tooltypes are probably too limited for what you want to do here. I would suggest storing in a separate file and loading on startup, but I accept that you would need to parse+validate yourself with that solution. |
|