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

Tweaked turrets' day vision range and firing range #34426

Merged
merged 5 commits into from Oct 8, 2019

Conversation

@Night-Pryanik
Copy link
Member

commented Oct 3, 2019

Summary

SUMMARY: Balance "Tweaked turrets' day vision range and firing range."

Purpose of change

Closes #34167.
Make turrets less defenseless than they are now.
Previously, you could easily and safely gun down M249 CROWS turret with your own M249 as turret's rifle has 6 less tiles firing range than your rifle.

Describe the solution

  • Increased day vision range of all military turrets from 40 to 50. I see no reason why a military-grade high-tech hardware should be far less perceptive than an average survivor.
  • Increased firing range of M249 turret from 30 to 36 (= max range of M249 with 5.56x45mm NATO).
  • Increased firing range of M240 turret from 30 to 60 (= max range of M240 with 7.62x51mm NATO).
  • Increased max range of .50 BMG ammo and weapons to 110, though max range for guns with this ammo is still capped at 60 tiles.

Describe alternatives you've considered

None.

Additional context

Turrets should be much, much more dangerous now, especially a M240 and M2HB variants, as they will start firing from an overwhelming 50 tiles distance.

@@ -651,7 +651,7 @@ void mdeath::broken( monster &z )
const bool uses_mags = !gun.magazine_compatible().empty();
if( same_ammo && uses_mags ) {
std::vector<item> mags;
int ammo_count = z.ammo[ammo_entry.first];
int ammo_count = rng( 0, z.ammo[ammo_entry.first] );

This comment has been minimized.

Copy link
@anothersimulacrum

anothersimulacrum Oct 3, 2019

Contributor

I'm not sure how difficult it is, but I'd much rather this was done in JSON than hardcoded.
e.g. Making them spawn with a random amount of ammo.

This comment has been minimized.

Copy link
@ymber

ymber Oct 3, 2019

Member

This is not a correct way to solve your problem. The turret should drop exactly as much ammo as it currently has in its inventory. If you want randomized ammo the turret should spawn with a randomized amount of ammo and none of it should magically evaporate.

This comment has been minimized.

Copy link
@tenmillimaster

tenmillimaster Oct 3, 2019

Member

Or the reverse: it had none when it died but all of a sudden it drops 1600 more.

@chaisawlajatang

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

  1. How do you suppose to deal with them now?
  2. How would this affect a gameplay?
@@ -203,7 +207,7 @@
"ammo_type": "762_51",
"fake_skills": [ [ "gun", 8 ], [ "rifle", 8 ] ],
"fake_dex": 12,
"ranges": [ [ 0, 30, "DEFAULT" ] ],
"ranges": [ [ 0, 60, "DEFAULT" ] ],

This comment has been minimized.

Copy link
@anothersimulacrum

anothersimulacrum Oct 3, 2019

Contributor

Also, I'm not sure about extending the range to the full limit of the reality bubble, it's very punishing.

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Oct 3, 2019

Author Member

Although max firing range is 60, their vision range is 50 at best, so they will start firing only at 50 or less.

This comment has been minimized.

Copy link
@anothersimulacrum

anothersimulacrum Oct 3, 2019

Contributor

Oh, missed that.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

Instead of randomizing their ammo drop, why not randomize their starting ammo?

@ymber

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

Does this work as you expect in game? This is what I was working on when I found #34167.

Allowing ranges to be set for the monster's starting ammo and randomizing in that range would be a better solution than randomizing drops.

The range of the M2HB turret should be updated too.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

How do you suppose to deal with them now?

Avoid them at all costs.

How would this affect a gameplay?

I hope people will start considering turrets a real threat at last.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

I'd much rather this was done in JSON than hardcoded. e.g. Making them spawn with a random amount of ammo.

Instead of randomizing their ammo drop, why not randomize their starting ammo?

Allowing ranges to be set for the monster's starting ammo and randomizing in that range would be a better solution than randomizing drops.

Go ahead and implement that if you wish.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

Does this work as you expect in game? This is what I was working on when I found #34167.

Tested it - M240 turret started firing at 50 tiles.

The range of the M2HB turret should be updated too.

M2HB turret fires .50 BMG, and .50 BMG has max firing range of 40 tiles, so I didn't touched M2HB turret's firing range.

@chaisawlajatang

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

Avoid them at all costs.

You mean "avoid military outpost"? So you considered to make an outpost prohibitive, right?

I hope people will start considering turrets a real threat at last.

They ARE a real threat. Giving them an ability to oneshot anyone sees them is a bad game design.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

@Night-Pryanik well I think randomizing their death drop ammo is the wrong approach here, that's all.

Also, the limiting factor on range shouldn't be weapon range, but rather target identification range; all turrets of the same firmware/detection hardware should have the same range unless there's a good reason for them to not engage at that range.

There's not really one; ~40, 50 meters is well within range for most weaponry, unless there are arming distance/fragmentation concerns.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

You mean "avoid military outpost"? So you considered to make an outpost prohibitive, right?

I mean "Avoid unless don't have means to deal with them". Military outposts ain't meant to be easily accessible for low-level characters as they are now.
Try night raid, when turrets have much lower vision range; try vehicle w/o windows but with camera so turrets won't see you; try firing from 50+ range so turrets won't fire at you first. These are only few methods to cope with new turrets, I'm sure there are others. So I wouldn't call military outposts "prohibitive".

They ARE a real threat. Giving them an ability to oneshot anyone sees them is a bad game design.

They won't oneshot character if said character won't get too close to them. Let them stay where they are, you'd better find the other way.
My ultimate intention is to make everyone afraid of turrets and, as I said earlier, try to avoid them unless absolutely necessary. For now turrets are too pitiful and mostly considered as a ammo storage ready for taking.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

Also, the limiting factor on range shouldn't be weapon range, but rather target identification range; all turrets of the same firmware/detection hardware should have the same range

It is now. Every turret has target identification range of 50. They will start fire at maximum fire range of their weapon, different for every turret type.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

@Night-Pryanik These weapons can fire far beyond their CDDA ranges.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 3, 2019

These weapons can fire far beyond their CDDA ranges.

I'm not sure I understand what do you mean.

Copy link
Member

left a comment

The range of an M2HB turret should not be shorter than that of an M240B turret. The .50 BMG ammo items need updating if they're the reason for this. Randomized ammo quantities need to be implemented in a way where the amount of ammo a turret has and the amount it drops are consistent.

@Zireael07

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

@Night-Pryanik: He means the guns' IRL ranges are bigger than in Cata. This, however, is a result of how reality bubble works.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

What ymber said. It'd be weird if you got a turret to shoot all its ammo, then killed it and it suddenly spawned a bunch more ammo. Changing how much the turret starts with is a better solution.

And yes, Zireal has it right. Ymber changed all the turrets to have slower aim times (200 moves?). Presumably, the software is taking time to identify its target (in this case contrasting heat humanoid shape/moving organism) with its optics suite.

https://youtu.be/smWjwLiyf7g watch at 28 seconds. Look at the optics that the CROWS has, that whole suite is huge. It's not a mark 1 eyeball looking down iron sights or a 4x acog or 10x scope or whatever. It's a mounted system with a mechanical zero and huge optics.

My point is, it can make much better use of the ranges the guns it has mounted are capable of than a survivor.

Since these ranges are essentially all the way out to the reality bubble, the turrets should be able to fire at anything is software will let it; whatever the longest range on one CROWS gun is, in game, all CROWS guns should be that.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 4, 2019

Ok, now, when you clearly indicate why it's wrong, I agree this is the wrong approach. I'll remove randomized drops and update .50 range tomorrow.

@ThomasLinkin

This comment has been minimized.

Copy link

commented Oct 4, 2019

Even with that, it should be proved as a hard approach if i tended to pass one in the city. Sometime,the road i was about to drive towards has a couple of turrets,and hell,i have to stop to shoot them down before advancing. Now with this post, i can imagine myself stacking a few hundreds 50 cal rounds every now and then. Shit,that's suck

This reverts commit 10a9cbe.
@Night-Pryanik Night-Pryanik changed the title Tweaked turrets' day vision range and firing range, and randomized numbers of bullets they drop on death Tweaked turrets' day vision range and firing range Oct 5, 2019
@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 5, 2019

Assuming .308's 65 range is ~800 meters, I set .50 BMG range to 110, which is approx. 1800 meters. Also I set Unfortunately, max range is capped at 60 tiles, so max range of .308 and .50 BMG weapons game-wise will be equal.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 5, 2019

I thought a tile was roughly, flexibly, a square meter

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 5, 2019

I thought a tile was roughly, flexibly, a square meter

No. Tile doesn't have any fixed dimensions. Tile as long as it is needed to be in each particular case.

@tenmillimaster

This comment has been minimized.

Copy link
Member

commented Oct 5, 2019

@Night-Pryanik hence the 'rough, flexible' clarifiers.

800 meters = 65 squares is an insane assumption.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 5, 2019

800 meters = 65 squares is an insane assumption.

I based my assumption on the fact that individual who originally set 65 tiles as max range for .308 ammo (which is probably wrong in the first place, as max range mostly depends on gun - more precisely, on barrel length) used IRL values. If it's not, and 65 tiles were chosen based on what feels more fit for this ammo, on a "gamey" feeling, then it's just an arbitrary number and doesn't have any relations to IRL range.

But our dispute is futile, because, as I said earlier, max gun firing range is capped at 60 tiles, so both .308 and .50 BMG have equal max range.

@ymber

This comment has been minimized.

Copy link
Member

commented Oct 5, 2019

Approximating values like that is what our ballistic model currently runs on. Overhauling that is on the drawing board but its beyond the scope of the turret changes here. See project 10.

@ymber
ymber approved these changes Oct 5, 2019
Copy link
Member

left a comment

Looks good. In the future we should look at randomizing starting ammo or another appropriate way to model prior ammo consumption.

Should this close #34167?

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 5, 2019

Should this close #34167?

I guess so. My testing show that M249 started firing right at the 36 tiles distance, and M240 - at the 50 tiles distance.

@Ezsk

This comment has been minimized.

Copy link

commented Oct 6, 2019

First of all, it is unclear why the turrets need to be danger than now.
The important thing is to clarify the what we/you need.

My ultimate intention is to make everyone afraid of turrets and, as I said earlier, try to avoid them unless absolutely necessary.

That is possible with the current range.
Even if you increase the range, you can easily break the turret if you attack at night, as you say.
Changing the range will only increase the irrational death during the day, which will be stressful for the player. Just increases the chance to press Alt + F4.

If you say "The turrets need to make more dangerous because you get much of ammo when destroy them," just you should reduce ammo.

If you don't want to destroy the turret early in the game, you should increase the dulability of the turret, like a kevlar zombie. In this case, players need to seek for high-penetration weapons. This is common process of game desining.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

First of all, it's just silly. Player's M249 have 36 range, while turret's M249 have range 30. What could be the ratonale for this? I can't think of any. That's just unfair, after all.
The same for M240 and M2HB turrets.

You can't easily break the turret at night, as you say. It's possible, sure, but it's not easy. You need some sort of night vision, or some illumination (and not to be illuminated yourself), to see it at night. As I said, you need to have some means to deal with it, and until that your most rational decision would be to just avoid them.

Ammo abundance of turrets is a problem, but it has little to do with now-hilarious range of turrets. Neither increasing nor decreasing amount of ammo in turrets wouldn't change turrets' dangerousness. It will just increase/decrease time required for players to wait until their ammo is depleted.

Increasing turrets' durability won't help either. Player still can absolutely safely shoot it down with the same weapon turret equiped with, because turret's range is just smaller. So player will have to shot the more durable turret just a few times more, and - I repeat it once again - from a safe distance.
An example with Kevlar hulk you provided isn't fully correct - hulk is constantly moving while turret is standing in one place. Because of hulk's armor you have to constantly maneuver and use environment to defeat it. In turrets' case you don't have to do anything special - just stay out of it's (small) range.

So in my opinion only increasing turrets' range would significantly influence their difficulty. Of course, we could later additionally reduce their ammo and increase their durability if they don't prove to be difficult enough.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Oct 6, 2019

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/is-the-bionics-nerf-intentional/21601/11

@foulman

This comment has been minimized.

Copy link
Contributor

commented Oct 6, 2019

I can't really argue with turrets being more dangerous and having longer ranges to fire, however, I do find it a little difficult to justify that a turret was set up to just shoot at any living being it saw. This doesn't seem like a rational thing to do. I could see it beeping and giving off a warning that you are getting too close, that would be a great method of cordoning off an area or setting up a roadblock, but there is no notification, no warning, and no way to NOT be a target. Any soldier setting that thing up would get instantly shredded as soon as they hit enter.

@anothersimulacrum

This comment has been minimized.

Copy link
Contributor

commented Oct 6, 2019

there is no notification, no warning, and no way to NOT be a target. Any soldier setting that thing up would get instantly shredded as soon as they hit enter

That's not true, they already give a warning before they shoot.

@foulman

This comment has been minimized.

Copy link
Contributor

commented Oct 6, 2019

there is no notification, no warning, and no way to NOT be a target. Any soldier setting that thing up would get instantly shredded as soon as they hit enter

That's not true, they already give a warning before they shoot.

Oh, well I've only encountered two of these, in my current playthrough, and they couldn't see me because it was nighttime. I feel sorry for anybody riding on a motorcycle.

@foulman

This comment has been minimized.

Copy link
Contributor

commented Oct 6, 2019

I still feel like there should be a way to trick them or pass for friendly.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

I do find it a little difficult to justify that a turret was set up to just shoot at any living being it saw. This doesn't seem like a rational thing to do.

Albeit this piece of lore might seem like outdated, it nicely illustrates why turrets are firing on sight:

In an effort to combat the new threats of both large amounts of undead humans and various otherworldly horrors, the automated security forces are quickly reprogrammed to behave much more aggressively, killing threats instead of just trying to arrest them if they were supposed to, and adopting a much wider view of what constitutes a threat.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

I still feel like there should be a way to trick them or pass for friendly.

There's already a control laptop exactly for that.

@foulman

This comment has been minimized.

Copy link
Contributor

commented Oct 6, 2019

I still feel like there should be a way to trick them or pass for friendly.

There's already a control laptop exactly for that.

I was thinking more along the lines of, say, the sheriff's badge. A military ID card perhaps? actually having one of the soldier professions and having a valid ID it can scan at range.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

I was thinking more along the lines of, say, the sheriff's badge. A military ID card perhaps? actually having one of the soldier professions and having a valid ID it can scan at range.

I guess that's possible, but definitely not in this PR.

@Ezsk

This comment has been minimized.

Copy link

commented Oct 6, 2019

I basically suggest from Gaming side.

That's just unfair, after all.

Yes, player and mobs is always unfair. player can use .308 rifle for .223 turrets when player's .223 could not deal with them. Using EMP is worst unfair. it is totally unfair but usual games so I don't think it is a major essence of the problem.

Neither increasing nor decreasing amount of ammo in turrets wouldn't change turrets' dangerousness.

Amount of mmo wouldn't change danger but will change worth of danger because ammo is reward now. I think risk is relative to reward and not sepaletable thing. We need to consider both when creating new dangers.

in otherside, amount of ammo makes much bigger problem. because infinity ammo will reducing difficulty in the all around of games. problem is not only turrets. so I cann't agree to 1600 bullets for the reward no matter how is the risk. (I think we can agree on this point.)

But, but I think player cann't enjoying with "high risk & low reward". So I suggested to keep "low risk & low reward" for the turrets. (We may have a disagreement on this point.)

maybe we need standards for risk and reward.

by the way I am not good at english so I say apologies if my words was rude.

@Destragon

This comment has been minimized.

Copy link

commented Oct 7, 2019

I agree with Ezsk in that I don't know why turrets really need to be this dangerous.

First of all, it's just silly. Player's M249 have 36 range, while turret's M249 have range 30. What could be the ratonale for this? I can't think of any. That's just unfair, after all.

Even if they are theoretically capable of it, it doesn't mean that they were necessarily programmed to target everything that is moving within absolute max range of their weapon. That lore snippet leaves a ton of room for interpretation. You could easily just have turrets only target moving objects within 15 tiles of distance and just give warnings to things outside of that area and it would still be lore friendly. If someone shoots the turret from outside that area, the turret should probably be returning fire though.

@Night-Pryanik

This comment has been minimized.

Copy link
Member Author

commented Oct 7, 2019

I think return fire mechanics in general is a great idea, it could be used in various situations and will greatly increase turrets' dangerousness. But unfortunately this mechanics isn't implemented yet, so until that I see only one way of making turrets more dangerous - increasing their firing range.
If return fire will be implemented some day, we certainly could lower "default, basic" range of turrets and let them fire on their max range if needed.

@ZhilkinSerg ZhilkinSerg merged commit 572ffb2 into CleverRaven:master Oct 8, 2019
6 of 8 checks passed
6 of 8 checks passed
build
Details
JSON style check
Details
Validate PR
Details
Validate PR
Details
Validate PR
Details
Validate PR
Details
continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
@Night-Pryanik Night-Pryanik deleted the Night-Pryanik:turrets-rebalance branch Oct 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.