TheSuperHackers / GeneralsGamePatch

Community Patch to fix and improve original Generals Zero Hour 1.04
Other
63 stars 20 forks source link

Add ground decal to Nuke Cannon when deployed that indicates Min and Max Firing range #957

Closed xezon closed 1 year ago

xezon commented 2 years ago

Add ground decal to Nuke Cannon when deployed that indicates Min and Max Firing range. Reason being, using Nuke Cannon to force fire target can be a frustrating if Nuke Cannon has to undeploy, move a metter, and redeploy, just because the manual Attack Target was a few meters outside the min or max firing range. Adding ground decal would help assist making a better decision.

xezon commented 2 years ago

Maybe this goes too much into modding territory. Large decals on moving vehicles look quite silly. Decal on stationary vehicles could be ok. Decal can be designed very subtle with minimal line markings.

commy2 commented 2 years ago

Maybe this goes too much into modding territory.

This. And these things are hideous to look at. Just no.

xezon commented 2 years ago

I do believe it is possible to make this look proper if we can show marker on deploy only. Is it technically possible?

MTKing4 commented 2 years ago

I like that, very helpful

alanblack166 commented 2 years ago

It's possible to make it work only whilst deployed, but unless it can be toggled on/off, it's better not to bother at all.

xezon commented 2 years ago

I would like to create a mockup to see how this looks in practice. Could you please show what INI code to add where to make this work? Regarding toggle, we can add blank dummy texture to Core Textures, and proper texture to Optional Textures, this way purists will not be annoyed by this.

alanblack166 commented 2 years ago

No. This must be possible to toggle on a per-unit basis; this must not be permanent and on by default.

xezon commented 2 years ago

Hmm, why that?

alanblack166 commented 2 years ago

Because default decal spam is obnoxious and not always necessary. Let people turn it on whenever they need it, and turn it off whenever it's no longer necessary.

xezon commented 2 years ago

That would require new CommandButton, no?

For starters the only thing I need is adding the decal on deploy.

MTKing4 commented 2 years ago

Because default decal spam is obnoxious and not always necessary. Let people turn it on whenever they need it, and turn it off whenever it's no longer necessary.

That is also reasonable, so it will be a togglable ability,

Also, can't it be made only visible to the owning player only?

alanblack166 commented 2 years ago

Normally such things are only made visible to the owner player.

xezon commented 2 years ago

Actually the only thing I needed was some pointers on how to implement it.

Jundiyy commented 2 years ago

I don't really like permanent decals tbh. For this one cause, I understand why, but usually I don't prefer them. Even here, I'd still be lenient to a no but slightly less.

xezon commented 2 years ago

As I said, we can make it optional art, then you don't have to see it.

MTKing4 commented 2 years ago

I think shockwave already have this implemented, and it looks neat, not messy at all

https://user-images.githubusercontent.com/83613147/133074364-1c87891e-fee1-462f-a651-4a7bea51a82b.mp4

Just make the size a bit bigger i think

xezon commented 2 years ago

In Shockwave it only shows when deployed?

MTKing4 commented 2 years ago

I think so yeah, but not 100% sure

Jundiyy commented 2 years ago

I don't know about the deployed one but decals can be found in the code for each object/unit.

As I said, we can make it optional art, then you don't have to see it.

That's good. But just thought about something. It would give an advantage to anyone using it. So would end up 'forcing' the rest to use it.

xezon commented 2 years ago

If the usefulness of the decal becomes greater than the perceived negative visual impact, then maybe that indicates it is a much needed feature.

Jundiyy commented 2 years ago

Not really, otherwise we should start adding decals for everything, since it will makes many units a lot easier to use. Visually doesn't look nice.

As I said, in this case though, I am not totally against it, since it does disturb the Nuke Cannon and delays time.

ImTimK commented 2 years ago

Isn't it possible to change the mouse cursor to indicate whether you can engage directly or whether it's out of range (would to have to move)?

ImTimK commented 2 years ago

Or incase of the big decal, make it show up when pressing ctrl, instead of having a new command button?

alanblack166 commented 2 years ago

No to both

ReLaX82 commented 2 years ago

I like the ideas to make the min max somehow visible for the nuke cannon.

Yes from my side.

ZekeDlyoung commented 2 years ago

I can't believe I'm the one saying this, but doesn't this fall under the category of "difference in skill"? A skilled player would be familiar with the Nuke Cannon's ranges and will be able to use the Nuke Cannon effectively without such a decal.

Even a bad player like me can manage to tap the s key to stop the Nuke Cannon from moving then force fire at closer, or farther in the case of min range, to have it go back to deployed state and fire.

I don't see this as being so annoying that it requires intervention.

If something "has" to do done about this, a more elegant solution would be to reduce the Nuke Cannon's entire deploy time (perhaps from 3 secs to 2 secs), or reduce/remove just the Nuke Cannon's un-deploy time to make the unit more responsive/easier to handle

MTKing4 commented 2 years ago

I can't believe I'm the one saying this, but doesn't this fall under the category of "difference in skill"? A skilled player would be familiar with the Nuke Cannon's ranges and will be able to use the Nuke Cannon effectively without such a decal.

Even a bad player like me can manage to tap the s key to stop the Nuke Cannon from moving then force fire at closer, or farther in the case of min range, to have it go back to deployed state and fire.

I don't see this as being so annoying that it requires intervention.

If something "has" to do done about this, a more elegant solution would be to reduce the Nuke Cannon's entire deploy time (perhaps from 3 secs to 2 secs), or reduce/remove just the Nuke Cannon's un-deploy time to make the unit more responsive/easier to handle

I consider myself a skilled nuke cannon user, it sucks a lot of times to miss by an inch

xezon commented 2 years ago

Do we have evidence that pro player can very accurately anticipate the min and max firing range? It is the first time I hear this. The unit is not used much in pro games, so it is likely rare to observe perfect use to begin with. Even if we reduce deployment time, it will not prevent death against rocket buggy or other units if the attack target causes redeployment. Other long range units do not suffer from such a critical handling penalty.

ZekeDlyoung commented 2 years ago

Do we have evidence that pro player can very accurately anticipate the min and max firing range?

It would be safe to assume that if a person plays the same game for years, especially if that game has not received any significant updates in that period, that they can get pretty good at estimating ranges. Is it not?

Tbh I am neutral with the decal, but as others have mentioned, having such a large decal constantly shown while deployed would be a highly visible and obnoxious change. Also, it could inadvertently lead to people pushing for similar changes in the future (ex. Giving ECM tanks and Speaker Towers a decal/editing their particle effects to show their exact area of effect).

Yes these changes could be added as optional art for people who don't want it, but seeing as it would give players a significant advantage over others who don't have it enabled, it would almost be like a legal cheat.

EDIT: In my opnion, it would be better to look into deploy times, and/or giving the Nuke Cannon reverse move.

EDIT2: Ex. if you remove the Nuke Cannon's undeploy time and give it reverse move, then it'd be able to instantly move out of the way to dodge enemy fire, while still having its delay before firing.

It's also worth noting that the Nuke Cannon is not China's only artillery option, and that perhaps it is a bit unfair to compare its use/survivability with other artillery especially against buggies, and other fast moving units, which it is clearly meant to be bad against

xezon commented 2 years ago

It would be safe to assume that if a person plays the same game for years, especially if that game has not received any significant updates in that period, that they can get pretty good at estimating ranges. Is it not?

Possibly yes. In pro games the Nuke Cannon is seldom used however, so it is difficult to estimate how accurately the ranges are anticipated in practice.

Tbh I am neutral with the decal, but as others have mentioned, having such a large decal constantly shown while deployed would be a highly visible and obnoxious change.

I would have to see it in game to assess this better. As mentioned, it should be possible to make subtle graphics.

Also, it could inadvertently lead to people pushing for similar changes in the future (ex. Giving ECM tanks and Speaker Towers a decal/editing their particle effects to show their exact area of effect).

Other units do not really suffer from imperfect targeting so they need no guidance. As for Speaker Tower and ECM, if I am not mistaken they do emit particle effects that indicate their reach, so these already natively give effect feedback.

Yes these changes could be added as optional art for people who don't want it, but seeing as it would give players a significant advantage over others who don't have it enabled, it would almost be like a legal cheat.

It is fair point. I do not see it as harsh. It is users choice whether or not he wants it.

EDIT: In my opnion, it would be better to look into deploy times, and/or giving the Nuke Cannon reverse move.

It is fair point. If Nuke Cannon handling can be improved from different angle that makes decal obsolete, then that is also good.

EDIT2: Ex. if you remove the Nuke Cannon's undeploy time and give it reverse move, then it'd be able to instantly move out of the way to dodge enemy fire, while still having its delay before firing.

We can test.

It's also worth noting that the Nuke Cannon is not China's only artillery option, and that perhaps it is a bit unfair to compare its use/survivability with other artillery especially against buggies, and other fast moving units, which it is clearly meant to be bad against

In pro matches players typically prefer packs of Inferno Cannons over Nuke Cannons. Nuke Cannon becomes very interesting with Neutron Shell vs GLA Tunnels, but that mainly happens in bunker matches.

xezon commented 2 years ago

xezon:

It is fair to assume that someone practicing enough with Nuke Cannon will be able to estimate min/max range more accurately. However this is not the main point. Our target audience ideally is not just pros, but also casual players. The Nuke Cannon has a distinct disadvantage over SCUD Launcher et all, where any mistake in range estimation is punished with redeployment and potential death. An enhancement to mitigate this disadvantage is therefore a reasonable consideration.

Stubbjax:

I would not touch this. I tend to agree with others that it is rather obnoxious and simply unnecessary. It breaks consistency with every other decal in the game. It reduces the value of the respective knowledge / experience / skill. The same thing happens with other units such as Scud Launchers but by the time the player reacts it's often too late. Having it optional makes absolutely no sense because it gives a distinct advantage to those who enable it. And, as particularly demonstrated by the discussion, it would be a highly controversial and visible change - for seemingly little benefit.

hanfield:

It should be possible to turn on or off on a per unit basis in the game itself, which isn't always possible to implement. Either a on off toggle or a "temporarily show" ability.

Zeke:

I think we should focus more on actually changing the behavior of the unit itself. Atm the Nuke Cannon does have a lot of things going against it, perhaps too many things:

  • Requires GP
  • Expensive
  • Slow/Clunky
  • Fragile
ImTimK commented 2 years ago

It actually seems a bit unnecessary to implement. Few more reasons for this:

xezon commented 2 years ago

A player who has trouble estimating the range can use the guard mode cursor (Yes I know this isn't the most intuitive way and requires a brain).

True

No other unit has range assist indicators.

No other unit has deployment like this either. It is unique and can be judged as such.

Making it always show when deployed might be aesthetically unpleasing for people.

We have not seen a mockup yet so this is premature judgement.

Having an extra command button feels mod'ish.

It certainly sounds overcomplicated.

commy2 commented 2 years ago

I'm fine with this unit having indicators, as long as:

The Nuke Cannon is the only deploy logic unit in the game (aside from Sentry Drone) and since undeployment cannot be aborted, it sort of makes sense to give the player visual aid. It would not be required on units like the Tomahawk, Scud Launcher, Buggy or Inferno, because those don't have to pack up at all.

MTKing4 commented 2 years ago

Speaking of pros usage, most pros/experts just use guard mode, only the most awesome ones use Forcefiring, like marakar for example ^^

ImTimK commented 2 years ago

Think most ppl use force fire, how else you're gonna hit moving vehicles?

MTKing4 commented 2 years ago

Just saying from my observation, most players just be too busy Macroing to micro the nuke cannon so they just put it on Guard mode, but only the most detail oriented players actually put an effort into microing it.

Jundiyy commented 2 years ago

I don't think just the experts use it, I'm a semi and use force fire. I'm sure many others would as well.

xezon commented 1 year ago

Experiments

Decal works. Range markers can be dialed in perfectly.

shot_20221120_200559_1

Overlapping decals make it look confusing to look at.

shot_20221120_200936_2

Decal aligns on uneven terrain. Is visible on snow.

shot_20221120_210146_1

ImTimK commented 1 year ago

Possible to only show it when selected?

Also would look better if it's more transparent.

xezon commented 1 year ago

First 2 images are 255 alpha. The 3rd image uses similar transparency level as the regular markers. It likely is not possible to make it show on select with INI.

ImTimK commented 1 year ago

Ahh I thought the snow made it look less bright, then it's good if it looks like that on all maps.

Still though, there should atleast be a button/hotkey to make show/hide, permanently wouldn't be nice.

xezon commented 1 year ago

Marker shows when cannon is deployed only. Marker does disappear when the host unit is off screen. That is a bit inconvenient given the large size of that thing. But not a deal breaker. Showing marker on select only would be ideal.

The marker certainly makes the unit much easier to target with.

xezon commented 1 year ago

I will close this one. The experiment has been rather conclusive and it is unlikely that we can have nice ground indicators.