Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an option to darken the background (leaving solid tiles, enemies and items unaffected) #833

Open
Calinou opened this issue Mar 13, 2022 · 2 comments
Labels
enhancement Changes that enhance RigelEngine over the original request

Comments

@Calinou
Copy link

Calinou commented Mar 13, 2022

When playing, I find it hard to focus on enemies and items since the background is just as bright as foreground elements. This is noticeable right away in the very first level of episode 1, but it's something I experienced on several levels.

Would it be possible to have an option that darkens the background tiles and parallax skies by 50%, but leaves solid tiles, enemies and items unaffected? Combined with the smooth movement option, this could provide better accessibility for the game.

I have a WIP implementation which is working well, but it darkens solid tiles as well: https://github.com/Calinou/RigelEngine/tree/add-darken-background-option
It might not be a problem in practice, but I still need to make it a toggleable option before I can open a PR.

Without darkening With darkening
2022-03-14_01 25 27 2022-03-14_01 23 21

Edit: The way I'm doing it also doesn't catch nonsolid tiles with partial transparency:

image

@lethal-guitar
Copy link
Owner

Ah that's a nice idea! Sounds good, I'm happy to look into it. Thanks for sharing your WIP implementation, I'll check it out as soon as I have time!

@lethal-guitar
Copy link
Owner

lethal-guitar commented Mar 18, 2022

@Calinou

Edit: The way I'm doing it also doesn't catch nonsolid tiles with partial transparency:

Ah, the semi-transparent portions of the animated flames in that level are actually actors, not tiles. So to have them included in the darkening would require some kind of tagging as "background element", and then applying the darkening in the sprite rendering system.

See

case ActorID::Flame_jet_1: // Rocket exhaust flame left

To avoid darkening foreground tiles, you could have the color modulation in MapRenderer::renderBackground instead of renderTiles. Which tiles are solid doesn't always correspond to them being in the foreground necessarily but hopefully it does most of the time.

@lethal-guitar lethal-guitar added the enhancement Changes that enhance RigelEngine over the original label Apr 5, 2022
Nutzzz added a commit to Nutzzz/RigelEngine that referenced this issue Oct 4, 2022
Based on Calinou's request and WIP branch, this improves the game's accessibility by adding an option that emphasizes dynamic objects in the game. ( Issue lethal-guitar#833 )
lethal-guitar pushed a commit to Nutzzz/RigelEngine that referenced this issue Oct 14, 2022
Based on Calinou's request and WIP branch, this improves the game's accessibility by adding an option that emphasizes dynamic objects in the game. ( Issue lethal-guitar#833 )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Changes that enhance RigelEngine over the original request
Projects
None yet
Development

No branches or pull requests

2 participants