Page 1 of 2
Minimap rotation
Posted: 25 Aug 2009, 19:28
by Regret

Not necessarily 3D rotation, 2D would be more than fine.
Re: Minimap rotation
Posted: 25 Aug 2009, 19:54
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.
Re: Minimap rotation
Posted: 25 Aug 2009, 20:02
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.
Re: Minimap rotation
Posted: 25 Aug 2009, 20:10
by CarRepairer
Re: Minimap rotation
Posted: 25 Aug 2009, 20:25
by Regret
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 20:37
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 20:38
by manolo_
i woudl vote for it, coz i like it more to play from bottom to top than reverse
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 20:56
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 21:26
by aegis
...and your contribution was less appreciated, and kinda mean.
you can stop now.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 21:29
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 21:47
by aegis
it could be pretty simple to just allow 2d rotation of the minimap
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:04
by Argh
Yeah, that would be easy- just do the whole render-to-a-quad thing.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:37
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:47
by Argh

That is not 2D.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:49
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:50
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 22:56
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.
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 23:12
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?
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 23:31
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?
Re: M(TR)inimap rotation
Posted: 25 Aug 2009, 23:58
by Regret
No I don't, there is no need for searching for unitIDs like you said.