Minimap rotation

Minimap rotation

Requests for features in the spring code.

Moderator: Moderators

Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Minimap rotation

Post by Regret »

Image
Not necessarily 3D rotation, 2D would be more than fine.
Last edited by Regret on 17 Nov 2009, 12:53, edited 2 times in total.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Minimap rotation

Post by Argh »

2D / 3D rotation has about the same CPU cost (and dev time). Neither's trivial.

Other than looking cool, what advantages would there be?

The OpenGL for a basic version of a 3D POV isn't too hard (it gets tricky when you need to start worrying about custom icons and weapons). Maybe write a Lua Widget that does this, as a proof-of-concept?

I haven't ever seen a 3D minimap that didn't make manipulating the UI less intuitive, so you'll have to forgive me for being a bit dubious.
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: Minimap rotation

Post by Regret »

Argh wrote:Other than looking cool, what advantages would there be?
Rotating camera could automatically adjust a 2D minimap too. Easier/more intuitive orientation.
User avatar
CarRepairer
Cursed Zero-K Developer
Posts: 3359
Joined: 07 Nov 2007, 21:48

Re: Minimap rotation

Post by CarRepairer »

Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: Minimap rotation

Post by Regret »

k
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

Well, try writing that Widget. Should be fairly easy:

1. Quad, with minimap texture on it.

2. Point objects in a display list. Update display list based on X,Z positions of all visible Units (another good use for that speedup I described, btw).

3. Perform gl.Rotate to the required vector, which would be the same as the camera's vector (IIRC).

Again, this only starts to get complicated when you factor in unit icons, explosions, etc. Probably the current Minimap could use rotate, but it would require a fairly major change to the stock UI, unless it just follows the camera angle (in which case, I predict howling from OTA players who never use the different POVs, because the minimap would change).

But I'm still not sold on why this is supposedly an improvement of the UI. To be perfectly clear, I can see advantages to rotating it in 2D, so that the y of the minimap and the Y of the camera are the same, but the x-angled POV just seems like it would make specific unit selection, etc. really annoying.
User avatar
manolo_
Posts: 1370
Joined: 01 Jul 2008, 00:08

Re: M(TR)inimap rotation

Post by manolo_ »

i woudl vote for it, coz i like it more to play from bottom to top than reverse
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: M(TR)inimap rotation

Post by Regret »

Argh wrote:Well, try writing that Widget. Should be fairly easy:

1. Quad, with minimap texture on it.

2. Point objects in a display list. Update display list based on X,Z positions of all visible Units (another good use for that speedup I described, btw).

3. Perform gl.Rotate to the required vector, which would be the same as the camera's vector (IIRC).

Again, this only starts to get complicated when you factor in unit icons, explosions, etc. Probably the current Minimap could use rotate, but it would require a fairly major change to the stock UI, unless it just follows the camera angle (in which case, I predict howling from OTA players who never use the different POVs, because the minimap would change).

But I'm still not sold on why this is supposedly an improvement of the UI. To be perfectly clear, I can see advantages to rotating it in 2D, so that the y of the minimap and the Y of the camera are the same, but the x-angled POV just seems like it would make specific unit selection, etc. really annoying.
Thank you for your valuable insights and experience. I appreciate your contribution. Your unique perspective and ideas gave me a whole new look at the issue. Again, thanks!!!

You can stop now.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: M(TR)inimap rotation

Post by aegis »

...and your contribution was less appreciated, and kinda mean.

you can stop now.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

<shrugs> I don't mind getting flamed, but it's clear that we have a misunderstanding here.

Basically, this is a non-trivial request, unless people do it the sloppy way (i.e., just capture the current Minimap to a texture and render it on a rotated quad, which would look pretty bad).

On the other hand, doing a simple dots-only version in Lua is not hard, and would allow us to evaluate it and think about the final feature set.

For example, if the POV is 3D, then do we start showing 3D paths for weapons, or do we keep it linear? If we keep it linear, then how are we supposed to prevent the motion of all the dots for projectiles from confusing end-users about what they're seeing? Seems like we could end up spending a huge amount of CPU time on this, if we make it really fancy, for very little benefit for end-users, unless it's planned well, yet the addition of a 3D rotation means that some thought needs to be put into how to avoid user confusion.

Which is why I'd like to see a tech demo, or at least some more detailed discussion, before supporting this. It's not that I think this is an awful idea, it just requires some thought.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: M(TR)inimap rotation

Post by aegis »

it could be pretty simple to just allow 2d rotation of the minimap
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

Yeah, that would be easy- just do the whole render-to-a-quad thing.
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: M(TR)inimap rotation

Post by Regret »

Argh wrote:<shrugs> I don't mind getting flamed, but it's clear that we have a misunderstanding here.

Basically, this is a non-trivial request, unless people do it the sloppy way (i.e., just capture the current Minimap to a texture and render it on a rotated quad, which would look pretty bad).

On the other hand, doing a simple dots-only version in Lua is not hard, and would allow us to evaluate it and think about the final feature set.

For example, if the POV is 3D, then do we start showing 3D paths for weapons, or do we keep it linear? If we keep it linear, then how are we supposed to prevent the motion of all the dots for projectiles from confusing end-users about what they're seeing? Seems like we could end up spending a huge amount of CPU time on this, if we make it really fancy, for very little benefit for end-users, unless it's planned well, yet the addition of a 3D rotation means that some thought needs to be put into how to avoid user confusion.

Which is why I'd like to see a tech demo, or at least some more detailed discussion, before supporting this. It's not that I think this is an awful idea, it just requires some thought.
2D, for the third time.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

ImageThat is not 2D.
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: M(TR)inimap rotation

Post by Regret »

Argh wrote:That is not 2D.
Regret wrote:Not necessarily 3D rotation, 2D would be more than fine.
It was the first pretty rotated minimap I found on google images. Try reading.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: M(TR)inimap rotation

Post by Pxtl »

The reason for this is that it would allow players to use the non-TA cameras without getting disoriented. This way, the camera is always facing "north", which makes dragging the window around on the mini-map much easier.

However, it would be non-trivial, since it wouldn't be enough to just transform the minimap - you'd have to transform the projected view-rectangle and all the mouse-actions on the mini-map.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

I think so long as you kept it ... "2D", you could just orient it so that the top of the minimap was always the top of the screen. Then there'd be some minor trig to convert the positions of a dragged box to positions X,Y on the map.

However, that brings up another issue, which is that, IIRC, there are no ways to search an arbitrary rectangle for UnitIDs.

That might be non-trivial to add. Doing stuff like setting up waypoints wouldn't really change much.
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: M(TR)inimap rotation

Post by Regret »

Argh wrote:However, that brings up another issue, which is that, IIRC, there are no ways to search an arbitrary rectangle for UnitIDs.
What are you talking about? What on earth would you need that for?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: M(TR)inimap rotation

Post by Argh »

The first one is the way it works now. Yellow is a selection box caused by click 'n drag. Black is the map, and white is outside the map.

Second one is the way you want it to work. Get it now?
Attachments
selection_one.jpg
selection_one.jpg (3.22 KiB) Viewed 1171 times
selection_two.jpg
selection_two.jpg (6.14 KiB) Viewed 1171 times
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: M(TR)inimap rotation

Post by Regret »

No I don't, there is no need for searching for unitIDs like you said.
Post Reply

Return to “Feature Requests”