Quick comparison with Forged Alliance UI

Quick comparison with Forged Alliance UI

Requests for features in the spring code.

Moderator: Moderators

User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Quick comparison with Forged Alliance UI

Post by Gabba »

This thread has two purposes:

- I'm also proposing some generic engine improvements that will benefit all games that want to use these new or improved functionalities. Such as: better zoom, displaying and dragging waypoints, and so on. Games should be able to disable or customize those functionalities from the Lua side.

- I'm proposing to improve the default UI (including non-visual stuff such as default keybindings) so it works better with games that have TA-style gameplay. Thus benefitting most of the players, and improving Spring's image. Other games can do whatever changes they want, it won't affect them.
I know that most games with TA gameplay currently lack IP-free media, and I endorse the effort to correct the situation.


I've greyed out paragraphs refering to *A-style games, to draw more attention to the remaining engine-side changes.

---------------------------------------
I just came back to Spring after playing a lot of Forged Alliance, and I think we could learn some things from their UI. This will probably overlap a lot of other topics, but I'd rather write the whole thing while it's fresh in my head:

1. Zoom that works so well you don't need the minimap or scrolling.
This means at least:
- you're able to get to from orbital to ground level in one flick of the mouse wheel (forget tab, your other hand needs to be free to press shift to queue commands, or something else), and vice versa. This means the zoom speed differs depending on your zoom level.
- max zoom out takes into account the interface, so when you're zoomed out you can really see the whole map.
- CLEAR strategic icons that instantly show you the unit type and tech level, and avoid as much as possible overlapping other icons. Also, you can draw them at all times if you want, to help identify buildings when zoomed in and in a hurry.
- your mouse position is taken into account when zooming in and out:
Gota wrote: The difference between the TA and SupCom cameras is that in SupCom,when you zoom out the camera zooms out from your cursor until it meets one of the map borders,than,it will keep zooming out but only towards the other borders,slowly centering and eventually revealing the entire map form a top down view.

The point you were zooming out of always stays in your sight,you dont see much of the area outside the map and you can smoothly zoom out completely until you see the entire map from above.

ATM you only zoom to a certain height,you can't smoothly zoom out to see the entire map from every place on the map,in some cases you see a lot of the area outside the map and you need to press a special button,Tab,to zoom out completely.
2. Shift doesn't have a double-function: it shouldn't both be used to queue units and to accelerate the camera, that's irritating.
(Same goes for alt and ctrl, they can be put to better use in gameplay that for the camera.)

3. Shift shows the queued orders of all units. Deleting orders (build, move or others) is easily done with ctrl-right-click. In Spring to cancel 5 different queued buildings from 5 different construction units you have a. to find those units b. to select the exact same building on the right page of the build menu, and click on the exact same spot.

4. Dragging waypoints and blueprints. There's a lua widget for this, but it's really bad. It conflicts with the use of the ctrl key to place a ring of buildings around another [built-in Spring function], and sometimes trying to place two blueprints next to each other (i.e. a solar next to a mex) moves the first one instead of placing the second. It should probably coded in c++ for performance and integration reasons. Most mods/games will want to use this.

5. Default selection skips buildings, transports, engineers and the commander. Again this is the most sensible default I've ever seen - great for reacting quickly to an attack with all available troops without sending your constructors to their death (and accidentally stopping constructions).

6. Range circles displayed by default, and that can be combined to show overall coverage. I think it should be a C++ coded functionality that can be disabled by the rare mods that don't want it.

7. Metal and Geo spots always visible when zoomed out [meaning there's always a glowing icon, and it's always very visible no matter the zoom level], and snapping to those for mex and geo plant placement. Hey, I know that for metal this depends a lot on the map, since Spring can have a complex metal map. But it would work for geos at least - and some algorithm to detect "metal spots" that most maps use nowadays could do the equivalent for mex placement.

8. Transport: select a bunch of air transports and units, give a transport order somewhere, and the transport will airlift all units to the destination. I can't really imagine a faster method of getting units somewhere.

9. Attack move: unless I forgot about it, Spring lacks the alt-right-click attack move FA has, which makes units move until they encounter a target, and makes engineers reclaim stuff on the way.
Edit: OK, it's currently the Fight move, assigned to F. Still think it should be moved to alt-right click, it's more intuitive for new players and easier to use in conjunction to shift and/or ctrl.


10. Is any of this the sole responsability of games/mods, not of the engine? Well then BA should receive major pressure to integrate the most essential of these features, since for better or for worse it's the world's window on Spring, for now. They should only include bug-free, compatible stuff, though... I tried a very clean install of the CA stable version showcased on the games page, and the widgets (even if nifty) were rather intrusive, and most of them crashed in the course of the game...

I should say here that Spring does have some nifty tricks of its own, area commands being the best one that I wished FA had implemented. (also insanely cool, being able to see people's cursors moving when spectating). In any case, I'm pretty sure that some Supcom/FA UI features were inspired by Spring, such as auto-shooting at radar dots, repeating queues, pausing factories, and so on. It's time to steal back!!!

Finally, and as a disclaimer: I know that if I spend 3 hours remapping my keys and testing various (crash-prone) Lua widgets I could improve my interface a lot, but for <insert your deity here>'s sake! We really need better defaults.
Last edited by Gabba on 14 Nov 2009, 00:08, edited 6 times in total.
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Re: Quick comparison with Forged Alliance UI

Post by ILMTitan »

Just a couple of things.

3. You should be able to cancel an order in the queue by using the shift key and giving the order again.

9. I believe the "Fight" command does what you want.
User avatar
CarRepairer
Cursed Zero-K Developer
Posts: 3359
Joined: 07 Nov 2007, 21:48

Re: Quick comparison with Forged Alliance UI

Post by CarRepairer »

Gabba wrote:7. Metal and Geo spots

8. Transport:
http://www.caspring.org
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: Quick comparison with Forged Alliance UI

Post by Regret »

CarRepairer wrote:http://www.caspring.org
Gabba wrote:I tried a very clean install of the CA stable version showcased on the games page, and the widgets (even if nifty) were rather intrusive, and most of them crashed in the course of the game...
User avatar
Petah
Posts: 426
Joined: 13 Jan 2008, 19:40

Re: Quick comparison with Forged Alliance UI

Post by Petah »

1: Press Tab
2: I like it like that
3: Re-queue an order to remove it
4: Would be nice
5: Use grouping and ctrl+z
6: I thought it was (in BA at least)
7: Metal is always visible, snapping isn't nesserely a good thing if you want precise placement. Perhaps use the mex-range gadget for mass expansion.
8: Set transports to repeat, set load zone, unload zone, bingo
9: The fight command
Gabba wrote:I just came back to Spring after playing a lot of Forged Alliance, and I think we could learn some things from their UI. This will probably overlap a lot of other topics, but I'd rather write the whole thing while it's fresh in my head:

1. Zoom that works so well you don't need the minimap or scrolling (yeah this was addressed in another thread - but is someone working on it?)

2. Shift doesn't have a double-function: it shouldn't both be used to queue units and to accelerate the camera, that's irritating.
(Same goes for alt and ctrl, they can be put to better use in gameplay that for the camera.)

3. Deleting orders (build, move or others) is easily done with ctrl-right-click. If Spring has something similar, it's not easy to find.

4. Dragging orders. Apparently there's a lua widget for that, but this should be included by default - and probably coded in c++ for performance reasons. I don't see why a mod/game wouldn't want this.

5. Default selection skips buildings, transports, engineers and the commander. Again this is the most sensible default I've ever seen - great for reacting quickly to an attack with all available troops without sending your constructors to their death (and accidentally stopping constructions).

6. Range circles displayed by default, and that can be combined to show overall coverage. I think it should be a C++ coded functionality that can be disabled by the rare mods that don't want it.

7. Metal and Geo spots always visible when zoomed out, and snapping to those for mex and geo plant placement. Hey, I know that for metal this depends a lot on the map, since Spring can have a complex metal map. But it would work for geos at least - and some algorithm to detect "metal spots" that most maps use nowadays could do the equivalent for mex placement.

8. Transport: select a bunch of air transports and units, give a transport order somewhere, and the transport will airlift all units to the destination. I can't really imagine a faster method of getting units somewhere, so this should be in Spring (unless it's already a mysterious undocumented feature...)

9. Attack move: unless I forgot about it, Spring lacks the alt-right-click attack move FA has, which makes units move until they encounter a target, and makes engineers reclaim stuff on the way.

10. Is any of this the sole responsability of games/mods, not of the engine? Well then BA should receive major pressure to integrate the most essential of these features, since for better or for worse it's the world's windows on Spring, for now. They should only include bug-free, compatible stuff, though... I tried a very clean install of the CA stable version showcased on the games page, and the widgets (even if nifty) were rather intrusive, and most of them crashed in the course of the game...

I should say here that Spring does have some nifty tricks of its own, area commands being the best one that I wished FA had implemented. [Edit: also insanely cool, being able to see people's cursorts moving]. In any case, I'm pretty sure that some Supcom/FA UI features were inspired by Spring, such as auto-shooting at radar dots, repeating queues, pausing factories, and so on. It's time to steal back!!!

Finally, and as a disclaimer: I know that if I spend 3 hours remapping my keys and testing various (crash-prone) Lua widgets I could improve my interface a lot, but for <insert your deity here>'s sake! We really need better defaults.
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: Quick comparison with Forged Alliance UI

Post by Satirik »

Gabba wrote:5. Default selection skips buildings, transports, engineers and the commander. Again this is the most sensible default I've ever seen - great for reacting quickly to an attack with all available troops without sending your constructors to their death (and accidentally stopping constructions).

using the selectioneditor you can make a shortcut to do this, you select units then press anything you want to filter out the selection, you can even just selection a number of units or a % etc its really powerful
User avatar
manolo_
Posts: 1370
Joined: 01 Jul 2008, 00:08

Re: Quick comparison with Forged Alliance UI

Post by manolo_ »

some good points
Gabba wrote: 6. Range circles displayed by default, and that can be combined to show overall coverage. I think it should be a C++ coded functionality that can be disabled by the rare mods that don't want it.
the widget unit range (look at the spring downloader) does that
User avatar
CarRepairer
Cursed Zero-K Developer
Posts: 3359
Joined: 07 Nov 2007, 21:48

Re: Quick comparison with Forged Alliance UI

Post by CarRepairer »

Regret wrote:
CarRepairer wrote:http://www.caspring.org
Gabba wrote:I tried a very clean install of the CA stable version showcased on the games page, and the widgets (even if nifty) were rather intrusive, and most of them crashed in the course of the game...
Good for you, that is fixed in the latest version.
Petah wrote:7: Metal is always visible, snapping isn't nesserely a good thing if you want precise placement.
I disagree and so does the OP. For those who would rather have a snap-to placement of mexes, it's available in CA.
luckywaldo7
Posts: 1398
Joined: 17 Sep 2008, 04:36

Re: Quick comparison with Forged Alliance UI

Post by luckywaldo7 »

Gabba wrote:3. Deleting orders (build, move or others) is easily done with ctrl-right-click. If Spring has something similar, it's not easy to find.
This would be awesome. You can re-queue stuff to cancel but that is not nearly as elegant.
Gabba wrote:4. Dragging orders. Apparently there's a lua widget for that, but this should be included by default - and probably coded in c++ for performance reasons. I don't see why a mod/game wouldn't want this.
Yes there is a lua widget for it, but when I tried it out it was pretty obtrusive, trying to queue one object next to another just resulted in the first one being moved. Something better for that would be nice too.
User avatar
Gota
Posts: 7151
Joined: 11 Jan 2008, 16:55

Re: Quick comparison with Forged Alliance UI

Post by Gota »

This is gonna be hilarious.
I know I mentioned these things several times on different occasions.
Nobody cares?
now people are gonna post crap saying how you can "sort of" get some of the behavior you want by doing all sorts of things that are less comfortable...
Don't be surprised by the stupidity of such suggestions,this is the nature of retards.

As for BA i think TFC is too busy making new game mods like coop?
Surely none of the things you mentioned would be more useful than something like coop.
Regret
Posts: 2086
Joined: 18 Aug 2007, 19:04

Re: Quick comparison with Forged Alliance UI

Post by Regret »

Gota wrote:This is gonna be hilarious.
I know I mentioned these things several times on different occasions.
Nobody cares?
now people are gonna post crap saying how you can "sort of" get some of the behavior you want by doing all sorts of things that are less comfortable...
Don't be surprised by the stupidity of such suggestions,this is the nature of retards.

As for BA i think TFC is too busy making new game mods like coop?
Surely none of the things you mentioned would be more useful than something like coop.
Can you please highlight who you're insulting next time, thanks.
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Quick comparison with Forged Alliance UI

Post by Google_Frog »

10. Is any of this the sole responsability of games/mods, not of the engine? Well then BA should receive major pressure to integrate the most essential of these features, since for better or for worse it's the world's windows on Spring, for now. They should only include bug-free, compatible stuff, though... I tried a very clean install of the CA stable version showcased on the games page, and the widgets (even if nifty) were rather intrusive, and most of them crashed in the course of the game...
Yes, you should be telling game devs how much their default UI sucks. Everything is fixable with modside widgets as well as custom settings/uikeys/selectkeys edited for a game's installer. In the case of CA many things have been fixed in test.
3. Deleting orders (build, move or others) is easily done with ctrl-right-click. If Spring has something similar, it's not easy to find.
What do you mean here? Orders can be deleted by repeating an order on the same spot as a previous order. Even though I don't understand the request any order handling is possible in lua.
6. Range circles displayed by default, and that can be combined to show overall coverage. I think it should be a C++ coded functionality that can be disabled by the rare mods that don't want it.
Some games disable player widgets partially to stop widgets like this. The games seem to be based around remembering trivial things so it can't be engine side.
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Re: Quick comparison with Forged Alliance UI

Post by Gabba »

I won't take the time to quote everybody, so please telepathically detect if the answer is meant for you:

[Edit: by the way I updated my description of FA's zoom in the OP, for those who haven't tried it.]

a. Didn't know about the "Fight" command - does it make constructors reclaim? Anyways there seem to be auto-reclaim lua widgets that are more effective than anything FA uses, so +1 to Spring there. It just needs to become a default (the usual problem...)

b. You can't seriously live with Spring's way of deleting an order once you have tried Supcom's. Right now, if you want to remove 2 llts, 1 mex and 1 anti-air, as well as one move order, from the queue, you need to click those in the menu, and shift-click exactly at the right spot [I'm suffering just thinking about it]. In FA you hold shift (to show the order queue) and ctrl-right-click each order, it's amazingly intuitive and efficient.

c. Grouping isn't really an alternative for a good default selection mode. The default has to be what you'll use most often; and how often will you need to select all units and buildings (turrets AND factories) in an area, including your commander if he's there? I'd say almost never. But curiously that's how Spring works.
Assigning factories to groups has other bad side effects which you know about.
Custom shortcut keys to filter out units you don't want are nice, but that's another shortcut to remember, and it's annoying compared to a good default.
In short: we should really copy FA there and skip engineers, the commander and turrets in the default selection, and then add special keys when you want something else.

d. The lua widget to move queued orders doesn't work so well:
- no highlighting of the order under the cursor to tell you which one you're moving (sometimes you can have overlapping ones, FA deals with that in the best way possible [well, it could somehow separate them as you hover the cursor over them, which would be even better])
- it conflicts with the Spring feature to surround a building with another one (hold alt when hovering over the building or blueprint, I think)

e. Some things can be hardcoded in C++ while still giving an on/off switch to games that want to disable them.
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: Quick comparison with Forged Alliance UI

Post by JohannesH »

Just remove the retarded feature of grouping everything a grouped factory makes into the facs group and im fine. I dont think anybody uses it as is, everyones just unable to group their facs.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Quick comparison with Forged Alliance UI

Post by zwzsg »

I use it. :(
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Quick comparison with Forged Alliance UI

Post by Google_Frog »

Zoom
The ability to zoom past the map size would be very nice. I agree there. Strategic icons all depend on the game. Some games have an icon per unit in a well thought out system and others use the default everything-the-same icon scheme. Isn't mouse position already taken into account by zoom?

How does the 'flick of a mouse wheel work'? Does it just detect when the wheel is moved faster than normal? That could be a bit of an annoying feature when you want to zoom out partially and it's easily(I think) luable.
c.
Ask the SWIW people nicely and they'll probably give you their selection groups widget.
But curiously that's how Spring works
Because working with hardcoded selection that only selects combat mobiles would be very annoying when trying to dev anything that is a bit different from TA. Default engine behaviour should be simple with lua giving devs to ability to add things. What if someone made a game where a few of the combat units can make light defence. Removing the selection behaviour would be a pain.
b.
Actually you can remove a build order with any building selected and you only need to overlap to remove. I can see how this could be useful but I find myself stopping or giving a non-shift order to remove orders. Again, luable.
Just remove the retarded feature of grouping everything a grouped factory makes into the facs group and im fine. I dont think anybody uses it as is, everyones just unable to group their facs.
+1. Engine side behaviour should be simple.
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Re: Quick comparison with Forged Alliance UI

Post by Gabba »

Google_Frog wrote:Isn't mouse position already taken into account by zoom?

How does the 'flick of a mouse wheel work'? Does it just detect when the wheel is moved faster than normal? That could be a bit of an annoying feature when you want to zoom out partially and it's easily(I think) luable.
Seriously, try it, it's only 32$ on impulse (the game+expansion), and it's a great lesson in interface design (if nothing else). I haven't even mentioned building templates.

I believe that zooming in is faster when you're more zoomed out, so that's how they achieve the "flick" effect. AFAIK nothing changes if you move the wheel slower or faster.

And as far as the mouse position you do it (more or less) when zooming in, but not so much when zooming out. Someone described it rather well in a past thread that I have a hard time finding. But it was in the Feature Requests forum.
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: Quick comparison with Forged Alliance UI

Post by JohannesH »

zwzsg wrote:I use it. :(
In KP? Yeah with those factories it might make sense. So make a gadget or widget for it when its changed :D
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Quick comparison with Forged Alliance UI

Post by lurker »

Is it that difficult to describe? "zoom out from the mouse"
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Re: Quick comparison with Forged Alliance UI

Post by Gabba »

*sigh*

Isn't the following still true?
Gota wrote: The difference between the TA and SupCom cameras is that in SupCom,when you zoom out the camera zooms out from your cursor until it meets one of the map borders,than,it will keep zooming out but only towards the other borders,slowly centering and eventually revealing the entire map form a top down view.

The point you were zooming out of always stays in your sight,you dont see much of the area outside the map and you can smoothly zoom out completely until you see the entire map from above.

ATM you only zoom to a certain height,you can't smoothly zoom out to see the entire map from every place on the map,in some cases you see a lot of the area outside the map and you need to press a special button,Tab,to zoom out completely.
See this thread:
http://springrts.com/phpbb/viewtopic.php?f=21&t=19839
Post Reply

Return to “Feature Requests”