Proposal of a new method to select attack direction

Discussion among members of the development team.

Moderators: Forum Moderators, Developers

Post Reply
Inactive Developer
Posts: 181
Joined: March 5th, 2007, 6:45 am
Location: Belgium

Proposal of a new method to select attack direction

Post by Alink » June 15th, 2007, 12:28 pm

This was mainly to solve the issues about the annoying need of accuracy when doing a move+attack.

The idea is to simply use the last highlighted empty hex to decide the attack direction (also considering the hex of the selected unit as empty).

Here is some good points:

- Need 12 times less accuracy (the current system divide the hex in 12 triangles to choose directions)

- This is a hex-game, not a triangle-game, so let's use only hex. ;-)

- The previous simple close range attack will works as before (if you just select your unit and do the simple mouse move on the enemy's hex before clicking on it)

- With a classic direct unit's move (let's say a long north-south), when the mouse just go from the selected unit to the enemy, you often don't even notice that the direction is fixed by the mouse movement.

- If you want to attack from an other direction, just quickly highlight the destination before clicking on the enemy hex. I think it's simple (a small move or detour with less precision needed compare to the old system) and intuitive, the unit will "follow" the mouse: go to the same highlighted hex and then attack/click the enemy. I also have the feeling to just "draw" the end of the path/move when attacking.

- If you want to change an already selected direction, you must do a small leave/enter the hex, but you don't need to really aim the adjacent hex, since when you do a larger move in the general direction, the last highlighted hex will still be the good one. I think it's fast and intuitive (you just leave and come back from an other direction, like you do with many IRL tools).

- It's also propose nearest alternative direction when you highlighted a blocked one (and when 2 possibilities, pick the one nearer of the selected unit, which generally is shorter)

- It often happens that you want to choose the location more that choose which enemy attack. In this case, move your mouse to the good spot to highlight it, and only then choose the enemy to click. You are sure to end on the good terrain and don't update unwanted fog/shroud. With the previous system, a small error when clicking in the enemy's hex can move your unit on the opposite side of the enemy which is probably a bad place.

Some little bad points:
- If you use "next unit", your mouse don't start on the selected unit, so some of the previous good points are less effective. Same if you go mouse-check infos on other units after having selected one.

- Old users can maybe be surprised/annoyed that moving *inside* the hex don't change the direction.

- One can say that it's not very UI-standard to select something by using the mouse trajectory. True, but think about menu and sub-menu (consider selecting the unit as opening a menu, choosing a location as an item for simple move or as a sub-menu if attacks are possible, and in this case, choose in this sub-menu/location the item/enemy to attack. And it's a game, not a desktop, it's more common here to use mouse trajectory.

A neutral point:
- From the few games that I played, it seems to quickly introduce a new reflex: when you want to attack from behind, you naturally do a circular mouse move to circumvent the enemy unit.

The code is ready, if some people want to test it. It's just very few simple lines, but will allow to remove much more and also do some easy optimization, since cpu will only works when changing hex, compare to the current system which do a lot of things when you just leave a small triangle.

PS: It works fine with the new attack direction indicator, it's even better since the red arrow will simply show where you entered the hex and don't use the mouse position in the triangle. So if you want, you can use an other shape/image.

And maybe later also keep highlighted this last highlighted empty hex, to better show it since it's your future new position. But I am not sure about that.
quick patch to activate this [updated]
(1.3 KiB) Downloaded 618 times
Last edited by Alink on June 15th, 2007, 4:41 pm, edited 1 time in total.

User avatar
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia

Post by Viliam » June 15th, 2007, 1:35 pm

Seems like a very good idea! :D

Inactive Developer
Posts: 2119
Joined: March 31st, 2004, 1:04 pm

Post by Boucman » June 15th, 2007, 6:05 pm

alink : apply in trunk, wait for next release, ask for feedback

(that's a good candidate for release notes)
Fight key loggers: write some perl using vim

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

Post by Darth Fool » June 15th, 2007, 7:35 pm

I've tested it. I like it. I say commit. I think it addresses the hex-clickers concerns, but we will have to wait and see... Even if it doesn't completely, it certainly should be an improvement.

And maybe later also keep highlighted this last highlighted empty hex, to better show it since it's your future new position. But I am not sure about that.
Maybe have a ghosted image of the unit in the hex that it would attack from?

Inactive Developer
Posts: 181
Joined: March 5th, 2007, 6:45 am
Location: Belgium

Post by Alink » June 17th, 2007, 12:55 pm

Remember that it's mainly a try to solve the accuracy problem. One can say that there is no problem, but recently when i added the possibility to attack from an other adjacent hex when you are already at close range (which I think was a perfectly valid idea generalizing the direction choice to all the cases), it exposed more the bad triangles design and caused mis-clicks. Training and ADI reduced the mis-click frequency but added a new precision stress for some users who didn't used directional click attack before.

Note also that this new proposal use a big "flower" of 7 hexes with clear indication of each zone (since it use hexes: various terrains, grid or highlighting do this). And you can even do larger gestures because only the angle of approach is used. The old one use only one hex, where if you draw a 6 branches cross in it and blur it a little, you will have all the "ambiguous" area (where few pixels distance with no real clear visual indication will cause various result).

Of course because it's an important change of this part of the interface, it needs a big approval to be used. And if not, I suggest that someone propose a better solution than this and the old one.

Seeing comments here and on IRC, it seems a "not so bad" idea, so I will commit it today to have some more general feed-back.
Darth Fool wrote: Maybe have a ghosted image of the unit in the hex that it would attack from?
Yes it can maybe be good. IIRC Eleazar already suggested something like this for the drag&drop, which with this proposal, will be a great mix, since you will see your unit "block" against the enemy hex and clearly indicate the direction. But my concern with this was the text of the movement hint. If you display the unit above the text, you loose readability, and if you display the transparent unit below, it will be maybe a bit ugly. Probably need a mock up or a code prototype to decide. But if it's look good and we use it, i suggest to maybe generalize the ghost for every move, since i don't see why use it only for attack.

Post Reply