Generic unit pausing ala Supcom

Generic unit pausing ala Supcom

Requests for features in the spring code.

Moderator: Moderators

Warlord Zsinj
Imperial Winter Developer
Posts: 3742
Joined: 24 Aug 2004, 08:59

Generic unit pausing ala Supcom

Post by Warlord Zsinj »

I'd really like it if there was a pause function in Spring similar to the way the pause function works in SupCom. I realise there is a wait function, but it doesn't quite work the way I'm after.

The pause function in supcom:
- Works on everything from factories, to troops to construction units, in the same way that 'repeat' does. (ideally it, too would be a default button in the UI)
- Will stop whatever the action is that is currently being undertaken - but the unit will not forget what it was doing, nor what it was going to do. It will simply wait until you unpause it before continuing with it's job
- Does not need be placed as part of an orders que. I can give my unit 20 different qued tasks, then at any point during that process, give it a pause command, and have it stop whatever it is doing, and then continue whatever it was doing as soon as the pause command is revoked
- Should work with factories, so that you can pause a factory in the middle of construction, but not have it forget your qued units. It should pause the unit in construction, and that construction shouldn't decay (the factory should no longer draw resources)
- Should work with construction units so that pausing a con unit freezes it in the middle of a construction, so that it draws no resources, the construction stops - but also does not decay.
If you have multiple construction units working on one project, pausing one should simply remove their build power from the construction process, the construction itself should not pause (as long as there are still other units working on the project)

This sort of function was incredibly useful when I was playing SupCom, and I do miss it a lot when I'm playing Spring.

Again, apologies if a function like this exists already and I'm just not aware of it. I suspect though that anything with this much impact would really need UI integration - either a button on the UI, or a little pause symbol above the unit (or both).
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Generic unit pausing ala Supcom

Post by aegis »

lua?
Warlord Zsinj
Imperial Winter Developer
Posts: 3742
Joined: 24 Aug 2004, 08:59

Re: Generic unit pausing ala Supcom

Post by Warlord Zsinj »

Doesn't really bother me how it's implemented, but it strikes me as something that would be better off hardcoded, like the repeat function.

I have no ability to code with lua whatsoever, so I'm totally at the mercy of whoever thinks this is a functionality worth having.
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Re: Generic unit pausing ala Supcom

Post by ILMTitan »

With the exceptions that decay does occur (and in factories, the decay can cause you to lose a unit from the queue), that is has not default UI button (simple to add with LUA?), and that it may be queued, wait (w) works exactly as you describe.

I guess the question should really be "should objects under construction decay when a builder targeting it but waiting?"
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Generic unit pausing ala Supcom

Post by aegis »

A builder could technically balance the nano flow to keep the partially created unit in its current state without decay.
Warlord Zsinj
Imperial Winter Developer
Posts: 3742
Joined: 24 Aug 2004, 08:59

Re: Generic unit pausing ala Supcom

Post by Warlord Zsinj »

Hmm, I was under the impression that wait was an order that was given at the end of the que, like the wait order in Rainbow Six (as in, when you reach this point, wait here for my command, don't continue to the next order until I give the 'go' command). If I'm wrong, that's great. But yeah, as you say, it is quite important that things don't decay. You've got a builder there, so you haven't stopped the project, you have just momentarily diverted the resources elsewhere. I don't think a player should be punished for the pause command.

Also, something like this really needs to have some sort of UI visibility, just because you could quite easily hit W by accident and have no idea why your unit has suddenly stopped moving. Further, there is no way to tell if a unit has been given the wait order by just looking at it. It could be just standing around, or it could have a series of orders just waiting it to be unpaused. A UI button is necessary, imo, but a visual que on the screen (a 'pause' symbol next to the healthbar or something) would be great too.
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Re: Generic unit pausing ala Supcom

Post by ILMTitan »

@Zsinj it can be used both ways, queued or instant.

@aegis: Decay occurs when when nothing is sending build power. Decay can be prevented by sending zero build power. This is what happens while a con unit is running its opening animation (which fixed a bug where the frame would decay during that time).

It appears that placing wait on the default build menu is trivial. I'm not worrying about adding a non-shift wait indicator for now.

It also appears preventing decay from a waiting factory is also trivial.

Preventing decay from a construction unit will be slightly more complicated, but shouldn't be overly so.

If anyone doesn't think that this is the correct behavior, or thinks it should have a mod specific tag, speak now or forever ... get less sympathy when you complain later.

Going to bed. Will look at it again tomorrow.
User avatar
det
Moderator
Posts: 737
Joined: 26 Nov 2005, 11:22

Re: Generic unit pausing ala Supcom

Post by det »

IMO, decay is a stupid holdover from OTA. Did you know that, in Spring, decaying resources go back into your storage? In most cases, it is something that can be worked around with cycling nano power to prevent decay. This is stupid micro. Sometimes it even provides you with free build power when you decided to spend the resources from that half-built bertha on something else. This is a violation of build power logistics. CA just turned off decay and it is better because of it.
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Generic unit pausing ala Supcom

Post by Google_Frog »

A unit which is waiting has a W floating on it. This can be seen by pressing shift while it's selected or if you have the see all commands widget(which everyone should have). So it's the same function as supcomm except for decay which can be fixed by playing CA.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Re: Generic unit pausing ala Supcom

Post by LordMatt »

det wrote:IMO, decay is a stupid holdover from OTA. Did you know that, in Spring, decaying resources go back into your storage? In most cases, it is something that can be worked around with cycling nano power to prevent decay. This is stupid micro. Sometimes it even provides you with free build power when you decided to spend the resources from that half-built bertha on something else. This is a violation of build power logistics. CA just turned off decay and it is better because of it.
Only metal goes back into storage, and I disagree that it is 'stupid,' but ofc I don't care what you do in CA. :P
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Generic unit pausing ala Supcom

Post by lurker »

The metal went back into your storage in OTA...
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Re: Generic unit pausing ala Supcom

Post by ILMTitan »

The issue is not whether decay should exist. There are already mod options to change that. The issue is, where it does exist, should it occur while the builder is waiting.

The other question is is there any reason putting a wait order button on the default gui would be a bad idea.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Re: Generic unit pausing ala Supcom

Post by LordMatt »

It might be nice if it did not occur during a specific wait order. And I don't think there is any reason not to put a wait button.
User avatar
Tribulexrenamed
Posts: 775
Joined: 22 Apr 2008, 19:06

Re: Generic unit pausing ala Supcom

Post by Tribulexrenamed »

aegis wrote:A builder could technically balance the nano flow to keep the partially created unit in its current state without decay.
Lol, I have been thinking about that.
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Re: Generic unit pausing ala Supcom

Post by ILMTitan »

I have committed the previously stated changes.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Re: Generic unit pausing ala Supcom

Post by LordMatt »

Thanks.
Warlord Zsinj
Imperial Winter Developer
Posts: 3742
Joined: 24 Aug 2004, 08:59

Re: Generic unit pausing ala Supcom

Post by Warlord Zsinj »

Nice, thanks Titan, you're a champ
User avatar
Gota
Posts: 7151
Joined: 11 Jan 2008, 16:55

Re: Generic unit pausing ala Supcom

Post by Gota »

What we really fucking need is a lua that will create small buttons that operate like the really needed key shortcuts!!like cntrl z cntrl b cntrl w...that way it will be much more noob friendly!!why hasnt anyone done it yet...
would be also very cool if the lua could communicate with all keyshortcuts and u could choose to which keyshortcut to assign buttons and to which not (there should be a few that will be represented wiht a button by default but cal be manually removed as well of course).
ZellSF
Posts: 1187
Joined: 08 Jul 2006, 19:07

Re: Generic unit pausing ala Supcom

Post by ZellSF »

ctrl-z? Just doubleclick your units. ctrl-b? there's tons of idlecons widgets. ctrl-w just seems useless.
would be also very cool if the lua could communicate with all keyshortcuts and u could choose to which keyshortcut to assign buttons and to which not
Ingame binding of ctrlpanel keys is already possible.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Re: Generic unit pausing ala Supcom

Post by KDR_11k »

ctrl-Z is map-wide, doubleclick only selects visible units.
Post Reply

Return to “Feature Requests”