Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added a group speed command #13885

Closed
wants to merge 1 commit into from

Conversation

@Mailaender
Copy link
Member

commented Aug 21, 2017

Closes #3880.

It works with just hotkeys and also the command bar. However I need help with the artwork.

@Mailaender Mailaender force-pushed the Mailaender:group-speedlimit branch 2 times, most recently from 16e97ef to 3aeb070 Aug 21, 2017

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 21, 2017

Thanks to @x-a-n-a-x for the update of the RA chrome.

@Mailaender Mailaender force-pushed the Mailaender:group-speedlimit branch from 3aeb070 to c737239 Aug 21, 2017

@ltem

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

Would it be possible to ignore certain units in a group so that they won't be slowed down (e.g. MiGs)?

@xan2622

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

If we start adding exceptions, it's going to complicate the feature.
I would say, if you don't want a certain unit to slow down, then don't select it. Just make two groups.

PS: @Mailaender : I have sent you a link for the new chrome.png files on IRC.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

Would it be possible to ignore certain units in a group so that they won't be slowed down (e.g. MiGs)?

Not yet. Do we want to ignore specific units (just MiGs) or rather all aircraft? Is it needed at all?

@Mailaender Mailaender force-pushed the Mailaender:group-speedlimit branch from c737239 to 4cc9986 Aug 22, 2017

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

I have sent you a link for the new chrome.png files on IRC.

Updated. Thanks to you, all mods now have a proper command bar icon.

@xan2622

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

I guess you noticed that I had to do many modifications to the D2K chrome.png file (the command bar is larger). I am affraid I will have no other choice than enlarging the chrome.png file to 1024x512 if, in the future, we plan to add more icons to the command bar.

Btw, I guess you also noticed that I had to move the command bar buttons 35px to the right.

PS: I'll update the TS and RA2 chrome.png files in a near future.

@Mailaender Mailaender force-pushed the Mailaender:group-speedlimit branch from 4cc9986 to 054ea19 Aug 22, 2017

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

Why does this need a command bar button? Do we have a precedent or strong gameplay motivation for making this an explicit manual order? The games i'm thinking of all handled this implicitly as part of their group movement commands.

@xan2622

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

@pchote : the command bar button is really handy, it makes sense to have a button like that. If you hide this feature from the playerbase view, most of players will never use it.
Have you tested his branch? It rocks. A major addition for an upcoming playtest, imo.

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

@x-a-n-a-x the point is that most other games do the right thing automatically so that player's don't need a button (aside from possibly a UI gesture like double-click moving to make units move at their natural speed).

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

I guess you also noticed that I had to move the command bar buttons 35px to the right.

Yes, that is already noted and fixed.

Do we have a precedent or strong gameplay motivation for making this an explicit manual order?

I haven't even considered it not to. It was a hotkey in the original http://ra.afraid.org/html/ra/hotkeys.html and this is the vanilla implementation without legacy bugs and command bar integration as a bonus. I don't want to deviate from the original ticket #3880 especially since this is finished after quite an amount of work and already polished.

For automation I wouldn't even know how to start. Except for the AI where this should replace the back and forth micro of squads, but that would be another pull request. For players, this behavior enabled by default, would probably be too annoying.

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

this is the vanilla implementation without legacy bugs and command bar integration as a bonus. I don't want to deviate from the original ticket

This PR is quite different to the vanilla implementation. In the original game the formation mode had the primary function of putting units into the same relative positions that they started, and the speed boost (thanks to a bug it actually set all units to the fastest speed) only applied when the group was moving together. If you micromanage an individual unit from the formation it will move at its normal speed. In this PR the command sets a global speed limit to the selected units that affects all movement until it is manually cancelled.

@MunWolf

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

A quick question about the implementation,
say you do the order on 3 units, 2 are fast, 1 is slow.
if you select the slow one and order it to go somewhere else after the group order do the other 2 speed up?

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

In the original game the formation mode had the primary function of putting units into the same relative positions that they started.

I would consider that as group pathing #3241 which is a whole different beast and probably out of my league. Didn't know that this was part of RA95. I thought this came with the TS era or even upwards. The C&C Generals "formation" command seemed rather simple as well.

A quick question about the implementation,

I suggest you and everyone involved in the conversation to simply try this pull request otherwise conversations about a topic become rather philosophical. What this does now is: if you select units and press Ctrl + S they get grouped together and move at the same speed. If you press Ctrl + S again, they will ungroup and the speed limit is turned off. The command bar also contains this description of mine and presents it in-game.

For debugging purposes you can also set DisplayValue = true in WithTextGroupSpeedDecoration to see the speed the units agreed upon instead of just the indicator (again, inspired by the original). At the moment it is just the forward speed which is regulated. Not the turn speed, but I assume that might cause more trouble and annoyance and not stabilize the formation too much.

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

Didn't know that this was part of RA95. I thought this came with the TS era or even upwards. The C&C Generals "formation" command seemed rather simple as well.

I'm a bit confused. You linked specifically to a page describing the RA95 behavior above when you said you were aiming for the vanilla implementation.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

Oh I see. You don't know for sure as well. The description linked indeed promises more

Units in formation will try to maintain their order as you had them when you made the formation, and will move at the speed of the slowest unit.

I believe the original feature was just use the same speed and "keep the formation" is just a side effect of that. At least that is what @iRan revealed in http://www.sleipnirstuff.com/forum/viewtopic.php?f=82&p=284770&sid=f53aa31c527caf3c5cb06cc39260d34b#284770 to us many years ago.

If you look at the RA95 path finding, it doesn't seem to consider groups at all while for TS the preview of the units positions (dots) on the future location and the lines indicate to me that the engine considers them as one, but probably just for performance reasons. It won't regulate speed.

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

I tested and confirmed both the RA95 and this PR's implementation before commenting.

My main objection can be summarized as this introducing a new and completely different type of grouping. In the original RA1 the formation speed was based on control group, and in most other games it is based on the transient "current selection / order" grouping. In both cases, the speed modifier only applies when units are moving with that group, and move at their normal speed otherwise.

This PR makes a third type of group for "units that were currently selected when the hotkey was activated", and the modifier stays active on that grouping until it is manually removed. I feel that this is counter intuitive.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

In the original RA1 the formation speed was based on control group

You mean Ctrl + 1 for the group and then F to activate same speed?

@pchote

This comment has been minimized.

Copy link
Member

commented Aug 22, 2017

Yes, but you don't need to have the whole group selected. If you have any unit of group 1 selected then pressing f would apply the formation and speed modifier to the whole group. If you had units from groups 1 and 2 selected then the modifier would only act on group 1, but IMO that is a bug. If we want to follow the original implementation, then IMO all of group 1 get the group 1 modifier, all of group 2 get the group 2 modifier, and so on for however many groups have units in the current selection.

I suggest trying this out for yourself in the original game.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

Interesting, but I don't feel like copying that behavior. I don't see a benefit of mixing control groups in.

@xan2622

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2017

@Mailaender Mailaender force-pushed the Mailaender:group-speedlimit branch from 054ea19 to 04599f6 Aug 22, 2017

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2017

Fixed the Dune 2000 command bar width. Thanks @x-a-n-a-x.

@SoScared

This comment has been minimized.

Copy link
Member

commented Aug 27, 2017

It's never a pleasure to put down ideas with the amount of work put into it such as this so I'll try to be brief.

I don't feel like this feature, at least as presented above, should be integrated with the RA mod. There's no way of accounting for all the ways such a feature will permeate throughout RA's gameplay but there are certain points that suggest this could quickly zombify the way the game is played as this feature would make itself more prominent the more diverse and large a unit composition is. Beyond economy, the first obstacle for players growing their army is its management. With no risk of combining scout vehicles, tanks, artillery and utility vehicles to an army composition the game quickly becomes more of a numbers game where you just upgrade your blob by adding stuff to it.

OpenRA's RA mod is worlds apart from the original when it comes to gameplay. There's no comparison really. One one hand you have the original that severely limits the use of diverse set of units and then you have OpenRA's RA mod which explicitly intends to make practical use of every single unit in the game and make them complement each other. This is where OpenRA abandons the original in a big way and with any broad feature brought on top of the mod at this point will have a total different meaning to now essentially two different games.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 27, 2017

I doubt this feature will end all micro management as we know it. This sounds like the argument to not add production queuing, because that button mashing in the original also took some amount of skill.

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Aug 27, 2017

As I implemented it in a modular manner, you can simply turn it off for everyone with

Player:
	-GroupSpeed:

in a competitive map ruleset.

@SoScared

This comment has been minimized.

Copy link
Member

commented Aug 27, 2017

Odd comparison imo as the speed-equalizer would amount to less button mashing.

@xan2622

This comment has been minimized.

Copy link
Contributor

commented Aug 27, 2017

@SoScared :

What do you dislike the most ?

1. the possibility to place tanks in front of your other infantry units (making these tanks act as "shields", protecting your other units, behind).

or

2. that all your units can move at the speed of the slowest unit/vehicle ?


Because currently, the current state of this PR only makes 2. possible (which is, imo, an already great feature).

If you're afraid that these RA95 formations will make all players play the same way (sending their units with tanks as shields) then you can relax because it's not going to happen (yet) because this feature is not implemented in this PR.

If this PR is merged as it is now, what will happen is that players will send their groups at slowest unit speed but their groups won't have perfect layouts (unlike what I suggested with the image in this comment). Weak units and strong tanks will still be mixed in the group.

Btw, if players don't want to activate this "SlowGroupSpeed" option, they can just disable it in the command bar. That's why I like this PR (it adds this option on the command bar).

I think that the current state of this PR is a good compromise. With this "SlowGroupSpeed" and with waypoints, it makes possible to smartly organize attacks.

And if you fear that groups could become OP (too strong, because of tanks on the front), then it's not going to happen with this PR.

@SoScared

This comment has been minimized.

Copy link
Member

commented Aug 27, 2017

@x-a-n-a-x: Your comment has me confused - why would I dislike option nr 1?

That "dilemma" setting up the rest of your comment makes it a bit tedious to follow up on your point. My point, if you read it, was about allowing the game-play to become lazy to the point of inflating armies with limited consequence.

@pchote

This comment has been minimized.

Copy link
Member

commented Oct 14, 2017

I think its pretty clear from the discussion above that we can't take this in its current form, so i'm going to close this to help clear up the PR queue. Sorry @Mailaender 😿

@pchote pchote closed this Oct 14, 2017

@Mailaender

This comment has been minimized.

Copy link
Member Author

commented Oct 14, 2017

:(

@Mailaender Mailaender added this to the Future milestone Oct 14, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.