probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 6, 2012 21:31:44 GMT -5
And speaking of that imaginary boundary: it's not (+/-)10 degrees in each direction (like ViewKick), it's (+/-)8 degrees. Why? I have no idea. Because the M4A1 has a gunMaxPitch of 8. Well I just feel silly now for doing all that math. Which variable governs the maximum/minimum pitch/yaw for ViewKick then?
|
|
|
Post by Megaqwerty on Jul 6, 2012 21:37:27 GMT -5
Since I have the game for PS3, it's within the law to download the PC version (in Brazil at least). I'm sincerely glad you added that last bit, haha. But, seriously, that's interesting: it would be very easy to prove in the court of law that the games (PC and PS3 ports) are distinguishable from each other and thus the license to one need not cover the other. Gun kick velocity being conserved across shots certainly explains why the guns with prominent gun kick become so rapidly uncontrollable: the kick is growing stronger with every successive shot until you hit the ceiling or let go of the trigger.
|
|
asasa
True Bro
fuck
Posts: 4,255
|
Post by asasa on Jul 6, 2012 22:02:31 GMT -5
Wow, why havent they passed that model onto regular recoil? Its so much more balanced.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 7, 2012 0:35:49 GMT -5
Wow, why havent they passed that model onto regular recoil? Its so much more balanced. Because the Queen of England is a Yorkshire terrier, that's why. Another result for you folks before I sign off. I've finally got around to fiddling with the adsGunKickAccel variable. Thankfully, it's exactly what I think it is: CenterSpeed's analogue. But there's a catch. Before, the magic formula for figuring out how much ViewKick a gun could recover from in one fireTime was CenterSpeed*fireTime/5; for GunKick, it's CenterSpeed*fireTime/ 2. Why? Because the Prime Minister of Uzbekistan is a German Sheppard. So here's what I did. (Again, my M4 is sway-less and ViewKick-less): fireTime=1adsGunKickReducedKickBullets=0 adsGunKickReducedKickPercent=0 adsGunKickPitchMin=-8 adsGunKickPitchMax=-8adsGunKickYawMin=0 adsGunKickYawMax=0 adsGunKickAccel=16adsGunKickSpeedMax=1000 adsGunKickSpeedDecay=0 adsGunKickStaticDecay=0 What happened is that the gun recovered from it's kick exactly as the next shot was fired every time. There was nothing but a single bullet hole at my original point of aim. (I figure a screenie of that probably wouldn't interest anyone.) So we've pretty much got this all figured out. I'm going to start figuring out the decay values... tomorrow . Good night!
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 7, 2012 1:32:52 GMT -5
That is, considering a 1000 adsGunKickSpeedMax? Is that the regular value for all guns? Anyway, goodnight
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 7, 2012 17:42:18 GMT -5
That is, considering a 1000 adsGunKickSpeedMax? Is that the regular value for all guns? Anyway, goodnight That recovery assumes that the gun never attempts to travel faster than adsGunKickMaxSpeed, but it's not tied to that number of 1000. Truth be told, the values for every gun that I see in the files has it set to ridiculously high amounts (~2000), so it's pretty much a non-factor.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 8, 2012 14:22:06 GMT -5
This is going to be a bit of an aside from the GunKick investigation. After figuring out the formula KV = CS*FT/2 for GunKick recovery, I got kind of hung up on the fact that this is different from the formula for ViewKick (CS*FT/5). Well, there's a very potent reason for it, and it has to do with more than just a scale factor: we were wrong about ViewKick recentering. The formula CS*FT/5 is still correct. What's wrong about our ideas about ViewKick is that it follows a simple velocity/acceleration model, much like is assumed for a projectile being fired under the effects of gravity. Indeed, the actual model is still very similar to this. But there's a significant difference: there's two different accelerations applied during deflection and re-centering. Exhibit A: This M4 is set up to fire at 1 round per second as well as return to center in 1 second (50 ViewKick and 250 CenterSpeed; all the stats are in the description). The gun clearly has a higher acceleration applied to it as it climbs compared to when it descends. If they were the same acceleration, the gun would take the same time to climb as it would to descend. Noticing this, I set out to find out how much time the gun took to climb and then descend. The gun recenters in 1 second, so knowing one time would give me the other. Taking the number 5 in the ratio of the re-centering fomula as a hint, I tried setting the fireTime on my M4 to 0.2 to see what would happen. As it turns out, the gun takes 0.2 seconds to climb and 0.8 seconds to descend. Exhibit B: As you can see, the second shot (0.2 seconds) coincides exactly with the view reaching its peak. With this knowledge, I did some more math to calculate how much acceleration was being applied during both ascent and descent. Assume our velocity/acceleration model for ascent. Let x be the amount of ascent and a the acceleration. We have: t = 0.2, v = 50 (ViewKick velocity) and x=0.5at^2 + vt Take the derivative with respect to t: x' = at+v Now, we are looking for the acceleration, a. But we know that, at the top of the descent (t = 0.2) the gun is stationary; thus, x'=0: 0 = a(0.2) + 50, or a = -250; which equals the CenterSpeed. Now we can calculate the amount of climb, x: x = 0.5(-250)(0.2)^2 + (50)(0.2) = 5 This is the amount the gun must descend in the next 0.8 seconds. Let a now represent the acceleration during the descent. Here, v = 0 because the gun starts moving from rest. Then: -5 = 0.5a(0.8)^2 + (0)(0.8) or a = -15.625Note that 15.625/250 = 1/16 (0.0625) So, the acceleration during deflection is equal to the CenterSpeed and it is one-sixteenth the CenterSpeed during re-centering. Why? Because [insert random head of state] is a [random breed of dog].
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 8, 2012 21:09:36 GMT -5
Is it like this for every gun? Try a SMG or the Barrett. It may differ. Or maybe not. And then, centerspeed all of the sudden got (more) super important.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 8, 2012 22:09:19 GMT -5
Is it like this for every gun? Try a SMG or the Barrett. It may differ. Or maybe not. And then, centerspeed all of the sudden got (more) super important. Here ya go. I modded both the Barrett and the MP5 to have the same ViewKick numbers as my M4 (and to have no sway and GunKick, obviously) Exhibit C (MP5): Exhibit D (Barrett): Same thing happens.
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 8, 2012 22:20:08 GMT -5
So centerspeed is basically a acceleration value, and view kick is the deflection initial velocity.
Could you record something for me, then? Use two different weapons and try the following:
Full auto 2 shots (on the same coordinates) one with
fireTime=0.5 adsViewKickPitchMin=50 adsViewKickPitchMax=50 adsViewKickCenterSpeed=250
and the other
fireTime=0.5 adsViewKickPitchMin=50 adsViewKickPitchMax=50 adsViewKickCenterSpeed=500
Please use Overkill to shoot the two weapons, so you only use 1 video.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 8, 2012 22:53:46 GMT -5
So centerspeed is basically a acceleration value, and view kick is the deflection initial velocity. That's what we always knew. What I discovered is that we overlooked the fact that the are two different accelerations being applied during deflection and re-centering. I will record those examples in a moment. I don't think I can fit both examples in one video. I'm using an unregistered version of Fraps, which limits my recording time to 30 seconds per video.
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 8, 2012 23:03:08 GMT -5
So centerspeed is basically a acceleration value, and view kick is the deflection initial velocity. That's what we always knew. What I discovered is that we overlooked the fact that the are two different accelerations being applied during deflection and re-centering. I will record those examples in a moment. I don't think I can fit both examples in one video. I'm using an unregistered version of Fraps, which limits my recording time to 30 seconds per video. But you can use normal speed, I just wanna see the the recoil pattern and the exact moment of the 2nd shot.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 8, 2012 23:13:16 GMT -5
That's what we always knew. What I discovered is that we overlooked the fact that the are two different accelerations being applied during deflection and re-centering. I will record those examples in a moment. I don't think I can fit both examples in one video. I'm using an unregistered version of Fraps, which limits my recording time to 30 seconds per video. But you can use normal speed, I just wanna see the the recoil pattern and the exact moment of the 2nd shot. Okay. I thought you'd want to see it in slomo is all. I'm working on it now.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 8, 2012 23:26:25 GMT -5
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 8, 2012 23:58:27 GMT -5
One is day, other is night. So yeah, centerspeed is one hell of a big deal.
So, these results seem to be fairly similar to Gunkick ones. However, one gunkick previous velocity will add to the next one, whilst on viewkick, the velocity at which the deflection/re-centering was occurring is erased.
But does this occur with the Gunkick Accel? Is the recentering speed, for example, erased? I believe the shots would be way to much inaccurate if this was the case. Therefore, I can only believe that everything accumulates, and to stop a true madness occurring in your screen, there is a GunKickSpeedMax value, to set a limit to the accumulation. But then... there are the Decay values, which I have no idea how they affect the speed. Anyway... thanks for doing the video ;D
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 8:53:19 GMT -5
One is day, other is night. So yeah, centerspeed is one hell of a big deal. So, these results seem to be fairly similar to Gunkick ones. However, one gunkick previous velocity will add to the next one, whilst on viewkick, the velocity at which the deflection/re-centering was occurring is erased. But does this occur with the Gunkick Accel? Yes, it does: No problem. And don't worry, I'm already on the case [pulls out magnifying class, cue Dragnet theme].
|
|
asasa
True Bro
fuck
Posts: 4,255
|
Post by asasa on Jul 9, 2012 11:46:57 GMT -5
Is it like this for every gun? Try a SMG or the Barrett. It may differ. Or maybe not. And then, centerspeed all of the sudden got (more) super important. Here ya go. I modded both the Barrett and the MP5 to have the same ViewKick numbers as my M4 (and to have no sway and GunKick, obviously) Exhibit C (MP5): Exhibit D (Barrett): Same thing happens. Thats really interesting. Thanks.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 12:21:37 GMT -5
Forget rabbit holes; we're in a gosh darn golly gee whiz wormhole now. But I've emerged from the wormhole to bring you knowledge more sacred than the discovery of the Higgs Boson (not really ): I know what the decay values do. The decay values are quantities (measured in inverse seconds, s^-1) that define the rate at which the gun loses velocity due to a linear drag force on the gun. By linear drag force I mean a force proportional to the speed of the gun, kind of like how air resistance slows down real world objects in the Earth's atmosphere. Contrast with acceleration, which is a constant force applied to bring the gun back to center (like gravity). Decay simply tries to slow down the gun from going where it otherwise wants to go, whether towards center or away from it. How do I know this? Because I can use decay values to predict how far the gun will reach out before coming to a full stop using the solution to a differential equation involving a drag force. (I'll oblige any math nerds with the details on how this differential equation describes the motion of the gun, why the ratio is v/b, etc., but for now I'm going to skip them because they're very technical.) Long story short, this solution implies that, on a single kick, the farthest the gun can reach out before coming to rest is v/b, where v is the kick velocity and b is the decay number (sometimes also called a drag coefficient). So, If I mod a gun has a kick velocity of 8 upwards and a adsGunKickSpeedDecay value of 1, the gun should be able to reach the 8 degree boundary on a single kick, since 8/1 = 8. Or if I mod the gun to have a kick velocity of 8 upwards and a decay value of 2, the gun should reach no higher than 4 degrees on a single kick (since 8/2 = 4) and so on. So here are my tests. All videos are shot with timescale = 5 (to speed up the appearance of the decay process): Kick = 8, Decay = 1: Kick = 8, Decay = 2: That pretty much solves the mystery of GunKick. I'll leave this here, go to work and when I come back I'll sum it all up in one post and we'll call it a day. All in that wasn't a bad as I thought it would be. Edit: The decay values have dimensions s^-1 and are not, in fact, dimensionless.
|
|
banana
True Banana
Zoro > Law
Posts: 1,577
|
Post by banana on Jul 9, 2012 13:40:17 GMT -5
Good job. Now all we need is someone who can give us the gunkick numbers
|
|
banana
True Banana
Zoro > Law
Posts: 1,577
|
Post by banana on Jul 9, 2012 13:42:03 GMT -5
I agree with you. I think doing it with extended mags on would reduce randomness
|
|
|
Post by cashmoves on Jul 9, 2012 15:09:04 GMT -5
Forget rabbit holes; we're in a gosh darn golly gee whiz wormhole now. But I've emerged from the wormhole to bring you knowledge more sacred than the discovery of the Higgs Boson (not really ): I know what the decay values do. The decay values are dimensionless quantities that define the rate at which the gun loses velocity due to a linear drag force on the gun. By linear drag force I mean a force proportional to the speed of the gun, kind of like how air resistance slows down real world objects in the Earth's atmosphere. Contrast with acceleration, which is a constant force applied to bring the gun back to center (like gravity). Decay simply tries to slow down the gun from going where it otherwise wants to go, whether towards center or away from it. How do I know this? Because I can use decay values to predict how far the gun will reach out before coming to a full stop using the solution to a differential equation involving a drag force. (I'll oblige any math nerds with the details on how this differential equation describes the motion of the gun, why the ratio is v/b, etc., but for now I'm going to skip them because they're very technical.) Long story short, this solution implies that, on a single kick, the farthest the gun can reach out before coming to rest is v/b, where v is the kick velocity and b is the decay number (sometimes also called a drag coefficient). So, If I mod a gun has a kick velocity of 8 upwards and a adsGunKickSpeedDecay value of 1, the gun should be able to reach the 8 degree boundary on a single kick, since 8/1 = 8. Or if I mod the gun to have a kick velocity of 8 upwards and a decay value of 2, the gun should reach no higher than 4 degrees on a single kick (since 8/2 = 4) and so on. So here are my tests. All videos are shot with timescale = 5 (to speed up the appearance of the decay process): Kick = 8, Decay = 1: Kick = 8, Decay = 2: That pretty much solves the mystery of GunKick. I'll leave this here, go to work and when I come back I'll sum it all up in one post and we'll call it a day. All in that wasn't a bad as I thought it would be. what is your math/physics background? im impressed.
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 9, 2012 16:19:01 GMT -5
Forget rabbit holes; we're in a gosh darn golly gee whiz wormhole now. But I've emerged from the wormhole to bring you knowledge more sacred than the discovery of the Higgs Boson (not really ): I know what the decay values do. The decay values are dimensionless quantities that define the rate at which the gun loses velocity due to a linear drag force on the gun. By linear drag force I mean a force proportional to the speed of the gun, kind of like how air resistance slows down real world objects in the Earth's atmosphere. Contrast with acceleration, which is a constant force applied to bring the gun back to center (like gravity). Decay simply tries to slow down the gun from going where it otherwise wants to go, whether towards center or away from it. How do I know this? Because I can use decay values to predict how far the gun will reach out before coming to a full stop using the solution to a differential equation involving a drag force. (I'll oblige any math nerds with the details on how this differential equation describes the motion of the gun, why the ratio is v/b, etc., but for now I'm going to skip them because they're very technical.) Long story short, this solution implies that, on a single kick, the farthest the gun can reach out before coming to rest is v/b, where v is the kick velocity and b is the decay number (sometimes also called a drag coefficient). So, If I mod a gun has a kick velocity of 8 upwards and a adsGunKickSpeedDecay value of 1, the gun should be able to reach the 8 degree boundary on a single kick, since 8/1 = 8. Or if I mod the gun to have a kick velocity of 8 upwards and a decay value of 2, the gun should reach no higher than 4 degrees on a single kick (since 8/2 = 4) and so on. So here are my tests. All videos are shot with timescale = 5 (to speed up the appearance of the decay process): Kick = 8, Decay = 1: Kick = 8, Decay = 2: That pretty much solves the mystery of GunKick. I'll leave this here, go to work and when I come back I'll sum it all up in one post and we'll call it a day. All in that wasn't a bad as I thought it would be. What about StaticDecay? Will it make the gun stop on half of the recentering or will it happen faster? (considering a value of 2)
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 20:14:54 GMT -5
what is your math/physics background? im impressed. I have a first-class B.Sc. (major in pure math, minor in physics). I also dabbled a bit with computer science by taking some intro courses (as electives) on procedural programming (C and FORTRAN) and OOP (Java). Basically, Gunkick didn't stand a chance .
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 20:21:32 GMT -5
What about StaticDecay? Will it make the gun stop on half of the recentering or will it happen faster? (considering a value of 2) Nope. If acceleration is non-zero, the gun will eventually return to center no matter how strong the decay. Having acceleration and decay operating at the same time is like throwing a ball in the air: the air resistance will slow it down both going up and coming down, but thanks to gravity it will eventually come down. It might even happen that the gun will reach its terminal velocity whilst re-centering, so that the gun travels downward at a constant pace. Think of a piece of paper softly falling to ground. It is under the constant effect of gravity, but with enough air resistance the force of gravity is balanced out by the force of the air resistance and the object falls at a constant rate. That is theoretically possible with GunKick as well. So this is what we know about GunKick and its variables: - GunKick is applied to both X and Y dimensions independently (as with ViewKick).
- GunKick allows cross-axial movement between kicks. The gun does not need to come to rest on either axis before crossing it on another kick (as with ViewKick).
- The value adsGunKickReducedBullets defines for how many shots the velocity numbers are reduced. Once this number of shots has been exceeded, the GunKick velocities return to their normal values. The count starts again when the trigger is released.
- adsGunKickReducedPercent defines how much the velocity values are reduced until the number of shots fired exceeds adsGunKickReducedBullets
- adsGunKickPitchMax, adsGunKickPitchMin, adsGunKickYawMax and adsGunKickYawMin are the four values that define the range of possible velocities (in deg/s) the gun may recieve during each kick (Pitch values are vertical, Yaw values are horizontal). Velocities are conserved between shots -- cf. ViewKick, where velocity may be replaced or ignored depending on other factors. For these numbers, both the vertical and horizontal axes are reversed such that down is positive and left is positive (only horizontal values are reversed with ViewKick).
- adsGunKickAccel gives the amount of acceleration (in deg/s^2) applied to the gun to re-center it. Acceleration is always directed towards the center.
- adsGunKickSpeedMax is a hard limit on how fast the gun can travel (in deg/s). Regardless of all other factors, the gun's velocity cannot exceed this value. If the gun tries to do this at any point, the gun will simply travel at this speed until either decay or acceleration (or both) reduce its speed.
- adsGunKickSpeedDecay is a linear drag coefficient (measured in s^-1) which defines the strength of decay in speed whilst the gun is deflecting (moving away from center).
-
adsGunKickStaticDecay is a linear drag coefficient (measured in s^-1) which defines the strength of decay in speed whilst the gun is re-centering (moving back towards center).
The grand equation that describes the motion of the gun while under the effect of GunKick's mechanics between each kick (in one dimension) is: x[t] = x_0 (+/-) g*Exp[-bt]/b^2 (-/+) g/b^2 (+/-) gt/b - v*Exp[-bt]/b + v/b where: t -- time elapsed since the start of the kick x_0 -- position of gun at the start of the kick v -- the initial velocity at the start of the kick (determined by the four Pitch/Yaw values and any residual velocity from the previous kick) g -- adsGunKickAccel b -- either adsGunKickSpeedDecay or adsGunKickStaticDecay, depending on whether the gun is moving away from or towards center, respectively Exp[...] -- the exponential function e^(...) Note that the second and fourth signs match up with the acceleration (i.e. if the acceleration is positive (down or left) these signs are positive) and the third one is always opposite of it (negative when acceleration is positive and vice-versa). As mentioned previously, acceleration is always directed towards center. Am I out of line if I ask for this thread to be moved into "List of threads where a conclusion is reached?"
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 9, 2012 21:41:34 GMT -5
Am I out of line if I ask for this thread to be moved into "List of threads where a conclusion is reached?" No, you have earned it
|
|
cmck
True Bro
Hit him again!
Posts: 1,752
|
Post by cmck on Jul 9, 2012 22:11:40 GMT -5
^At least three times over. Great work.
On a side note does anyone think its plausible to be able to find adsGunKickReducedBullets in MW3 guns by recording them in slow motion? It would be interesting and somewhat practical to know how many bullets can be fired in burst for lmgs before the gunkick increases.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 22:17:00 GMT -5
You could, sure. But my money is on that statistic being as meaningless as it was in CoD4. I couldn't find a gun in that game where that value wasn't zero.
|
|
mmacola
True Bro
the brazilian guy
Posts: 1,995
|
Post by mmacola on Jul 9, 2012 22:19:20 GMT -5
^At least three times over. Great work. On a side note does anyone think its plausible to be able to find adsGunKickReducedBullets in MW3 guns by recording them in slow motion? It would be interesting and somewhat practical to know how many bullets can be fired in burst for lmgs before the gunkick increases. And it's pretty hard to tell if a gun has a low max accel, a high decay value or a low gunkick value. It's even harder to tell how much percentage is being shown =P
|
|
cmck
True Bro
Hit him again!
Posts: 1,752
|
Post by cmck on Jul 9, 2012 22:25:48 GMT -5
I don't know. I'm trying to think of a way to at least get some kind of stat out of this that we could actually find in game with testing. Its probably a lost cause and our best hope is still getting the stats from xboxahoy.
|
|
probaddie
True Bro
You're triggering my intelligence
Posts: 11,043
|
Post by probaddie on Jul 9, 2012 22:30:44 GMT -5
I don't know. I'm trying to think of a way to at least get some kind of stat out of this that we could actually find in game with testing. Its probably a lost cause and our best hope is still getting the stats from xboxahoy. Except he either ignores my e-mails completely or they get lost in a sea of fanboyism. I just had a thought: his latest TTK video on Aiming has been mothballed for the longest time. Do you think he can't get it out because no one here has elucidated the mechanics of sway and flinch on this forum? Maybe we could... barter with him for the numbers .
|
|