Black lines of can't get there from here...

Discussion among members of the development team.

Moderator: Forum Moderators

Post Reply
Darth Fool
Retired Developer
Posts: 2633
Joined: March 22nd, 2004, 11:22 pm
Location: An Earl's Roadstead

Black lines of can't get there from here...

Post by Darth Fool »

Well testing Alink's patch I noticed a bug and it caused me to think a little about the whole striped background interface. First, the bug: If I have a unit >1 hex away from an enemy unit and I select my unit than the enemy unit's hex is displayed with the darken image over it. If my unit is instead right next to it, then the enemy's hex is displayed as me being able to move onto it. Clearly this is a bug.

What it got me thinking about, however, is the fact that there is a distinction between where you can move, and where you can see/attack. It would be good if this distinction was represented visually. This could be done, I suppose with having a slightly different image or more transparent one for the hexes that you can see/attack but can't move to. Another possibility might be to somehow use the new blur effect that Dave made. Thoughts?
Alink
Inactive Developer
Posts: 181
Joined: March 5th, 2007, 6:45 am
Location: Belgium

Post by Alink »

It's seems that the new attack direction indicator exposes more this "bug". Eleazar reported it too on IRC, few days ago. I did search of its origin, and like I said to him, it seems to be a "feature". There is a special function mouse_handler::show_attack_options() to precisely do it (remove the unreachable mask of enemy at 1 hex distance, if you have attacks left). I suppose that the idea was to better show your adjacent enemies when all the hexes are darkened.

But I agree it's inconsistent and I also see it as a bug. I didn't remove it directly, because I was not sure about what the coder of this wanted to do. I suppose that if no one in this thread say "keep it", i will finally remove it.

Using different stripes for units seems a good idea. Just quick simple ideas: use vertical stripes or remove half of the them.

A neat version of this: remove the stripes (or part of it) where the new attack direction indicator can goes. So it will show who you can attack and from where. And it will also less hide the unit and the ADI. Of course, it's a harder to code and probably have some cpu-cost (pathfinding work and several blittings for each direction instead of just one) but seems doable. An other utility will be to show "threats" when using reach map of an enemy unit. I think there is also a thread about maybe showing ZoC, seems like a more or less common problem at the code level (search enemies and store this info in the (un)reachable map).

In the same category, note that you can traverse hex with allied units, but not really move on it, so maybe also use some lighter stripes there?

Using the current blur function seems a bit expensive for this. The function itself seems not optimized and do several pass to have a strong blur, and if we start to cache it, it will add a whole new level in cache (like the brightened effect). Also I bet that eleazar will say " if you blur hex with uniform colors, you will not see that it's blurred" ;-)
User avatar
Eleazar
Retired Terrain Art Director
Posts: 2481
Joined: July 16th, 2004, 1:47 am
Location: US Midwest
Contact:

Post by Eleazar »

Actually i'd love to use a blur as part of the can't-go-here effect—but not if it slows things down.

Off the top of my head, it makes sense to use a lighter stripe for hexes that are only inaccessible due to the presence of enemies. This would sometimes appear under the enemy unit. I'd also like to indicate the collective ZoC of enemy units while the can't-move indicator is showing.


What cruel fate decrees that when i need to take a couple weeks off from wesnoth to deal with RL, suddenly programmers are falling over each other in their haste to improve the GUI?

i'll be back when i can.
Feel free to PM me if you start a new terrain oriented thread. It's easy for me to miss them among all the other art threads.
-> What i might be working on
Attempting Lucidity
Post Reply