DGoldDragon28 / Unangband

A roguelike originally created (and developed until version 0.6.4c) by Andrew Doull.
https://dgolddragon28.github.io/Unangband/
GNU General Public License v2.0
59 stars 6 forks source link

Improved outside daytime and nighttime colors, dungeons are not affected. #52

Closed dennis-roof closed 6 years ago

dennis-roof commented 6 years ago

Using higher contrast unused highlight colors for outside line of sight, mostly for grass and water. During daytime line-of-sight does not reflect on solid terrain. During nighttime light sources such as torch lights do reflect on solid terrain, such as houses. This light behavior is different from Angband, because there the town has no day and night, but in Unangband they do.

Experimental: during nighttime lights are visible from a distance even if the monster isn't, might be more fun and suspenseful in large forest scenes.

If you like this idea and have feedback, please let me know.

DGoldDragon28 commented 6 years ago

Looking at the code for the colors, I may be redoing it all anyway. I will keep this suggestion and code in consideration.

dennis-roof commented 6 years ago

Sure, if you have time to rewrite all that. Or you could accept this fix for what it is right now, a major improvement at least visually. I'm not kidding.

In the current code, blue water out of line of sight turns gray. During daytime dirt roads magically appear and during gray nighttime monsters magically color the whole map. It does not make any sense visually.

The code is hacked and bugged. I didn't fix the hacks or do major rewrites, but I did fix the bugs without adding too many lines. It is stable, doesn't change code flow or base colors, doesn't add any compiler warnings or gdb errors and visually it makes a lot more sense.

You could do no worse than keep the current code glitchy and unpatched. It hasn't changed in the last two versions. Was this on your roadmap for version 0.7.0? If not, here's the fix and you can always redo the whole color system later when you really have time. You're welcome.

dennis-roof commented 6 years ago

I don't want to sound too harsh. It was an annoying fix and I did it because the color system bugged me while trying to enjoy Unangband. I just think it's worth it, that's all.

DGoldDragon28 commented 6 years ago

The color system bugged me too, but it wasn't an immediate issue so I was intending on redoing it for 0.7.0 anyway. Among other things, many of the ATTR codes aren't used (I have no clue what ATTR_MISC and ATTR_HIGH were intended for; they aren't used anywhere. ATTR_VGA and ATTR_MONO make sense given the age of the code but it is not currently used). As I do not plan on a release before 0.7.0, when I intend to overhaul the color display system, it would not make sense for me to accept this PR.

dennis-roof commented 6 years ago

I don't know what's essential, intentional or simply outdated in the code. So I just work with the foundation as it is, then I won't break anything. But I won't improve any code either.

The color display system code is hard to read and unpredictable in my eyes, so I like your overhaul idea. Maybe I can help out if I know more about your design goals and coding standards. Or maybe I can contribute to advance your plans towards 0.7.0 if I know the roadmap.

For new feature ideas, I'll open an issue so you can approve or disapprove before I start working on them to avoid lost hours.

DGoldDragon28 commented 6 years ago

Yeah, I've been thinking I should codify my plans for Un, but until you came along no-one else actually worked on code at all, so there was little motivation to. I really appreciate all the pull requests you've submitted (even those I haven't approved): it means a lot to me not to be the only active contributor to the variant. I'll try to get an updated TODO list out, and who knows, maybe that will attract other contributors as well.

dennis-roof commented 6 years ago

I look forward to that. I really enjoy Unangband and I'm surprised I've only heard of it since two months ago. I don't think it was even mentioned a year ago on the Angband forum when I was asking about what variants to play that feature wilderness, so I overlooked it. ToME 2 seemed like the best match at the time, but I like the open-ended nature and huge variety of Unangband environments better. I'm an explorer type. I love that the game doesn't even hold back on the first dungeon level and just offers so much variety from the start, unlike other variants where I have to dive deeper and play a few hours before the game starts to offer more variety.

I would like the game to be more popular and help out if I can. Looking at Angband forum threads on Unangband going back to 2010 and 2008, people mention this as a rough gem and RogueBasin does so too. I look at the roadmap in the todo.txt file and I see more features for 0.7.0. Maybe I can help improve the look and feel of the game, or just little UI touches to make the game feel more polished. If Unangband is a rough gem and other variants are polished, I would like to find out what makes other variants polished and use that knowledge for Unangband if that helps.

DGoldDragon28 commented 6 years ago

Alright, after trying for a while to rewrite the color system, I've realized it's more than is reasonable for 0.7.0. In the meantime, I will merge this PR as a quick fix.