Realistic ballistics & zeroing rifles
-
OkitaMakoto
- Retired PR Developer
- Posts: 9368
- Joined: 2006-05-25 20:57
Soldiers in Iraq arent being downed in one shot, are they? Its stronger than 5.56 but still... body armor is pretty amazing stuff.
Anyway, the damage system as it is now is there because its pretty much headshot or "anywhere else shot". So when you're hitting someone in the hand it does the same damage as a body shot, and a legshot. So, the non-headshot is sort of an average in between amount to take that into consideration.
Anyway, the damage system as it is now is there because its pretty much headshot or "anywhere else shot". So when you're hitting someone in the hand it does the same damage as a body shot, and a legshot. So, the non-headshot is sort of an average in between amount to take that into consideration.
-
nedlands1
- Posts: 1467
- Joined: 2006-05-28 09:50
You sure? I'm sure the "Human_limbs" material with a damage modifier, which by the way is lower that the "Human_body" damage modifier, is there for a reason...[R-CON]OkitaMakoto wrote:Anyway, the damage system as it is now is there because its pretty much headshot or "anywhere else shot". So when you're hitting someone in the hand it does the same damage as a body shot, and a legshot. So, the non-headshot is sort of an average in between amount to take that into consideration.

-
OkitaMakoto
- Retired PR Developer
- Posts: 9368
- Joined: 2006-05-25 20:57
*edit*[R-CON]nedlands1 wrote:You sure? I'm sure the "Human_limbs" material with a damage modifier, which by the way is lower that the "Human_body" damage modifier, is there for a reason...
AHHHHHHHHHHH

If thats correct[which Id highly imagine it is], then I'm mistaken
Make/keep it better I say, then!
Last edited by OkitaMakoto on 2008-02-23 04:52, edited 1 time in total.
-
zangoo
- Posts: 978
- Joined: 2007-09-01 03:42
well what would be realistic, i think that this would be very very hard to calculate, i remember reading something where a bullet would do some amount of damage it was like 1-15 or something like that, i think that if we used taht for the damage then it should work better then just the amount of energy the bullet has
-
nedlands1
- Posts: 1467
- Joined: 2006-05-28 09:50
Okay here is the code for, "US_HEAVY_SOLDIER":
If you scroll down you will find these lines of code:
Notice the numbers, "24, 77, 25 and 23"? These refer to the materials that are used in determining the damage done amongst other things. They are, "Human_body, Human_limbs, Human_head and Human_bodyarmor" respectively. Also notice that the soldier has, "100 hitpoints".
The projectiles also have their own material. 5.56mm rounds along with the 5.8mm rounds use the "3556" material, 7.62mm rounds use the "3762" material, 50cal rounds use the "3050" material and 9mm rounds use the "3900" material for example.
For each hit there is a particular damage modifier for the two materials in question. In the case of 7.62mm rounds(material 3762) impacting on one's head(material 25), the modifier is 15. Therefore a 7.62mm projectile that does equal to or greater that 6 2/3 of damage(at the point of impact) will result in instantaneous death if it hits you in the head.
EDIT: saw that you solved the problem yourself.
Code: Select all
GeometryTemplate.setSubGeometryLodDistance 1 0 10
GeometryTemplate.setSubGeometryLodDistance 1 1 20
ObjectTemplate.active us_heavy_soldier
ObjectTemplate.networkableInfo BasicInfo
ObjectTemplate.hasMobilePhysics 1
rem ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.collisionGroups 16
ObjectTemplate.CullRadiusScale 12.5
ObjectTemplate.castsDynamicShadow 1
ObjectTemplate.aiTemplate Soldier
rem For adding lightflare at item index 7 --jkj
ObjectTemplate.inventorySize 10
ObjectTemplate.manDownCameraOffsetInDof 0.11
ObjectTemplate.manDownCameraOffsetInUp 0.5
ObjectTemplate.ragdollLandedDelay 4
ObjectTemplate.drag 1.0
ObjectTemplate.mass 200
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.hasResponsePhysics 1
ObjectTemplate.SprintRecoverTime 45
ObjectTemplate.SprintDissipationTime 60
ObjectTemplate.SprintLimit 0.25
ObjectTemplate.SprintLossAtJump 0.4
rem ObjectTemplate.Grip 20
rem ---BeginComp:Armor ---
ObjectTemplate.createComponent Armor
ObjectTemplate.armor.maxHitPoints 100
ObjectTemplate.armor.hitPoints 100
ObjectTemplate.armor.wreckhitpoints 320
ObjectTemplate.armor.defaultMaterial 24
ObjectTemplate.armor.explosionForceMod 25
ObjectTemplate.armor.explosionForceMax 1000
ObjectTemplate.armor.TimeToStayAsWreck 6
ObjectTemplate.armor.timeToStayafterDestroyed 180
ObjectTemplate.armor.angleMod 1
ObjectTemplate.armor.wreckExplosionForceMod 0
ObjectTemplate.armor.wreckExplosionForceMax 0
ObjectTemplate.armor.hpLostWhileCriticalDamage 0.20
ObjectTemplate.armor.criticalDamage 50
ObjectTemplate.armor.addArmorEffect 50 e_dstate_soldier40 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 40 e_dstate_soldier40 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 30 e_dstate_soldier30 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 20 e_dstate_soldier20 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 10 e_dstate_soldier10 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 5 e_dstate_soldier05 0/0/0 0/0/0
ObjectTemplate.armor.addArmorEffect 0 e_dstate_soldier00 0/0/0 0/0/0
rem ---EndComp ---
ObjectTemplate.collisionMesh Soldier_CollisionMesh
rem *** Animation ****
ObjectTemplate.skeleton1P Objects/Soldiers/Common/Animations/1p_setup.ske
ObjectTemplate.skeleton3P Objects/Soldiers/Common/Animations/3p_setup.ske
ObjectTemplate.animationSystem1P Objects/Soldiers/Common/Animations/AnimationSystem1p.inc
ObjectTemplate.animationSystem3P Objects/Soldiers/Common/Animations/AnimationSystem3p.inc
rem Stand
ObjectTemplate.poseCameraPosition 0 0/0.47/0.1
rem Crouch
ObjectTemplate.poseCameraPosition 1 0/-0.05/0.1
rem Prone
ObjectTemplate.poseCameraPosition 2 0/-0.63/0.1
rem boneName, material, offset, radius, length
ObjectTemplate.setSkeletonCollisionBone left_upperleg 24 0/0.03/0 0.09 -0.35
ObjectTemplate.setSkeletonCollisionBone right_upperleg 24 0/0.03/0 0.09 0.35
ObjectTemplate.setSkeletonCollisionBone left_lowerleg 77 0/0.03/0.02 0.08 -0.32
ObjectTemplate.setSkeletonCollisionBone right_lowerleg 77 0/0.03/0.02 0.08 0.32
ObjectTemplate.setSkeletonCollisionBone head 25 0/-0.02/0.02 0.07 -0.08
ObjectTemplate.setSkeletonCollisionBone spine2 23 0/-0.05/-0.03 0.15 -0.16
ObjectTemplate.setSkeletonCollisionBone spine3 23 0/-0.03/0.02 0.16 -0.05
ObjectTemplate.setSkeletonCollisionBone right_shoulder 77 0.01/0.03/0 0.06 0.2
ObjectTemplate.setSkeletonCollisionBone right_low_arm 77 -0.01/0.03/0 0.045 0.18
ObjectTemplate.setSkeletonCollisionBone left_shoulder 77 0.01/0.03/0 0.06 -0.2
ObjectTemplate.setSkeletonCollisionBone left_low_arm 77 -0.01/0.03/0 0.045 -0.18
ObjectTemplate.addTemplate SoldierCamera
ObjectTemplate.setPosition 0/4.1/0
ObjectTemplate.addTemplate e_sold_swim
ObjectTemplate.active S_US_heavy_soldier_Death
ObjectTemplate.createdInEditor 1
ObjectTemplate.soundFilename common/sound/Die/Die_01.wav,common/sound/Die/Die_02.wav,common/sound/Die/Die_03.wav,common/sound/Die/Die_04.wav,common/sound/Die/Die_05.wav,common/sound/Die/Die_06.wav,common/sound/Die/Die_07.wav,common/sound/Die/Die_08.wav,common/sound/Die/Die_09.wav,common/sound/Die/Die_10.wav,common/sound/Die/Die_11.wav,common/sound/Die/Die_12.wav,common/sound/Die/Die_13.wav,common/sound/Die/Die_14.wav,common/sound/Die/Die_15.wav
ObjectTemplate.loopCount 1
ObjectTemplate.is3dSound 1
ObjectTemplate.volume 0.7
ObjectTemplate.reverbLevel 0.8
ObjectTemplate.position 0/0.8/0
ObjectTemplate.pitch 0.94
ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.98/1.03/
ObjectTemplate.volumeEnvelope 0/1/0/1/0/0/
ObjectTemplate.minDistance 2
ObjectTemplate.halfVolumeDistance 6
ObjectTemplate.active S_US_heavy_soldier_Revive
ObjectTemplate.createdInEditor 1
ObjectTemplate.soundFilename Objects/Soldiers/Common/Sound/Cough/cough_01.wav,Objects/Soldiers/Common/Sound/Cough/cough_02.wav,Objects/Soldiers/Common/Sound/Cough/cough_03.wav,Objects/Soldiers/Common/Sound/Cough/cough_04.wav
ObjectTemplate.loopCount 1
ObjectTemplate.is3dSound 1
ObjectTemplate.volume 0.53
ObjectTemplate.reverbLevel 0.8
ObjectTemplate.position 0/0/0
ObjectTemplate.pitch 0.88
ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.85/0.88/
ObjectTemplate.volumeEnvelope 0/1/0/1/0/0/
ObjectTemplate.minDistance 1.5
ObjectTemplate.active S_US_heavy_soldier_Swim
ObjectTemplate.createdInEditor 1
ObjectTemplate.soundFilename Objects/Soldiers/Common/Sound/Swim/swim_stroke_01.wav,Objects/Soldiers/Common/Sound/Swim/swim_stroke_02.wav,Objects/Soldiers/Common/Sound/Swim/swim_stroke_03.wav
ObjectTemplate.loopCount 1
ObjectTemplate.is3dSound 1
ObjectTemplate.volume 0.60
ObjectTemplate.reverbLevel 0.8
ObjectTemplate.position 0/0/0
ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.99/1.01/
ObjectTemplate.minDistance 2
ObjectTemplate.active S_US_heavy_soldier_Swim_Sprint
ObjectTemplate.createdInEditor 1
ObjectTemplate.soundFilename Objects/Soldiers/Common/Sound/Swim/swim_sprint_01.wav,Objects/Soldiers/Common/Sound/Swim/swim_sprint_02.wav,Objects/Soldiers/Common/Sound/Swim/swim_sprint_03.wav
ObjectTemplate.loopCount 1
ObjectTemplate.is3dSound 1
ObjectTemplate.volume 0.67
ObjectTemplate.reverbLevel 0.8
ObjectTemplate.position 0/0/0
ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.99/1.01/
ObjectTemplate.minDistance 2
ObjectTemplate.active S_US_heavy_soldier_Swim_Still
ObjectTemplate.createdInEditor 1
ObjectTemplate.soundFilename Objects/Soldiers/Common/Sound/Swim/swim_still_01.wav,Objects/Soldiers/Common/Sound/Swim/swim_still_02.wav,Objects/Soldiers/Common/Sound/Swim/swim_still_03.wav
ObjectTemplate.loopCount 1
ObjectTemplate.is3dSound 1
ObjectTemplate.volume 0.51
ObjectTemplate.reverbLevel 0.8
ObjectTemplate.position 0/0/0
ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.99/1.01/
ObjectTemplate.minDistance 1.5Code: Select all
ObjectTemplate.armor.hitPoints 100
...
ObjectTemplate.armor.defaultMaterial 24
...
rem boneName, material, offset, radius, length
ObjectTemplate.setSkeletonCollisionBone left_upperleg 24 0/0.03/0 0.09 -0.35
ObjectTemplate.setSkeletonCollisionBone right_upperleg 24 0/0.03/0 0.09 0.35
ObjectTemplate.setSkeletonCollisionBone left_lowerleg 77 0/0.03/0.02 0.08 -0.32
ObjectTemplate.setSkeletonCollisionBone right_lowerleg 77 0/0.03/0.02 0.08 0.32
ObjectTemplate.setSkeletonCollisionBone head 25 0/-0.02/0.02 0.07 -0.08
ObjectTemplate.setSkeletonCollisionBone spine2 23 0/-0.05/-0.03 0.15 -0.16
ObjectTemplate.setSkeletonCollisionBone spine3 23 0/-0.03/0.02 0.16 -0.05
ObjectTemplate.setSkeletonCollisionBone right_shoulder 77 0.01/0.03/0 0.06 0.2
ObjectTemplate.setSkeletonCollisionBone right_low_arm 77 -0.01/0.03/0 0.045 0.18
ObjectTemplate.setSkeletonCollisionBone left_shoulder 77 0.01/0.03/0 0.06 -0.2
ObjectTemplate.setSkeletonCollisionBone left_low_arm 77 -0.01/0.03/0 0.045 -0.18The projectiles also have their own material. 5.56mm rounds along with the 5.8mm rounds use the "3556" material, 7.62mm rounds use the "3762" material, 50cal rounds use the "3050" material and 9mm rounds use the "3900" material for example.
For each hit there is a particular damage modifier for the two materials in question. In the case of 7.62mm rounds(material 3762) impacting on one's head(material 25), the modifier is 15. Therefore a 7.62mm projectile that does equal to or greater that 6 2/3 of damage(at the point of impact) will result in instantaneous death if it hits you in the head.
EDIT: saw that you solved the problem yourself.

-
OkitaMakoto
- Retired PR Developer
- Posts: 9368
- Joined: 2006-05-25 20:57
-
Mosquill
- Retired PR Developer
- Posts: 857
- Joined: 2007-08-12 10:13
You would have to redo all the animations during wich the player can shoot, that's a lot. That's like 90% of all player and weapon realated animations.zangoo wrote:well i think the only animations that would need to be changed are any animation that the player is shooting, so walking, crouch, prone, ect. it is alot of work but if it is as simple as copy and paste then that is great, but i dont think anything on this engine would be that easy.
I think remodelling all the DICE's weapons with iron-sights (and then zeroing them of course) would be easier then that. Most weapons with optics can be zeroed simply by editing their texture.
BTW, the m40a3's crosshair is lower in double-zoom compared to single-zoom. So it has some zeroing. I was unable to figure out how it's made, so maybe someone should check it out?
-
Bringerof_D
- Posts: 2142
- Joined: 2007-11-16 04:43
true bodies dont get knocked around in real life if a bullet penetrates but troops now adays all wear armour, there for they would fly back. granted the armour would either stop it or the bullet would penetrate and be stopped by the back plateJonny wrote:
The new masses given are almost all less than 1 kg, which is the default mass for projectiles I think, so will only help stop bodies flying around.
I still need some data for UGLs and all tank rounds used in the game.
The tables also contain data for recoil and damage (kinetic and explosive) which dbzao has already asked for.
-
zangoo
- Posts: 978
- Joined: 2007-09-01 03:42
but a bullet taht weighs 1kg is crazy a 30x173mm round that a apche fires is only 1/4 of that. also there is not enough energy in a bullet to knock someone over cus if there was the shooter would have the same effect and would have to be knocked over.
also jonny how are you going to calculate drag for the bullets, you will need to find a way to measure the speed at set distances and find a drag value that would create that, now that seems very very hard so i was thinking, if we were to give the bullet a rocket engine but instead of making the bullet go faster it would slow it down. now i just have a question do bullets slow down at a constant speed and if we were to make it slow down at a constant speed how unrealistic would that be?
edit:i was looking around the net and i found this, it will calculate how fast a bullet will be going at any distance up to 1500 yards so about 1370m.
also jonny how are you going to calculate drag for the bullets, you will need to find a way to measure the speed at set distances and find a drag value that would create that, now that seems very very hard so i was thinking, if we were to give the bullet a rocket engine but instead of making the bullet go faster it would slow it down. now i just have a question do bullets slow down at a constant speed and if we were to make it slow down at a constant speed how unrealistic would that be?
edit:i was looking around the net and i found this, it will calculate how fast a bullet will be going at any distance up to 1500 yards so about 1370m.
Last edited by zangoo on 2008-02-26 04:00, edited 1 time in total.
-
nedlands1
- Posts: 1467
- Joined: 2006-05-28 09:50
How's that going Jonny? Approximating the drop effects of drag with a high gravity modifier isn't isn't turning out to be ideal.Jonny wrote:constants for drag can be found by using:
x = mvcosθ/k(1 - e^(-kt/m))
and letting t tend to infinity, ie a very very long wait before you measure the distance.
As that is the only constant that the engine will let you use in this it then just needs to approximate the velocity at the zero point (what I have currently coded into the balistic tables).

-
Rico11b
- Posts: 900
- Joined: 2006-05-23 20:36
I'm proud of you guys... You guys have been working on this ballistic issue for a long time now. I hope it makes it into the next patch release. Hopefully I'll get a chance to test it out when the next test build comes out. I've been shouting from the rooftops (many others have too) about realistic weapon ballistics. Great work fellas. Thanks for sticking with it, and not giving up.
I hope I speak for all the fans of PR when I say, "appreciate what you're doing".
R
I hope I speak for all the fans of PR when I say, "appreciate what you're doing".
R
-
Smegburt_funkledink
- Posts: 4080
- Joined: 2007-11-29 00:29
Yeah man, I've been reading everything you guys have to say on this issue and I'm excited to see all the hard work being done.
PR already has the best gameplay out there, improved ballistics will push toward realism more than I ever thought this mod could.
If you chaps need more testers, I'd be happy to help.
"appreciate what you're doing!"
PR already has the best gameplay out there, improved ballistics will push toward realism more than I ever thought this mod could.
If you chaps need more testers, I'd be happy to help.
"appreciate what you're doing!"
-
nedlands1
- Posts: 1467
- Joined: 2006-05-28 09:50
Thanks for your support. What I envisage is weapon zeroing, a to scale ACOG with a working BDC, the possibility of selecting multiple apertures on adjustable rear sights (eg setting "1" for 100m zero, "2" for 200m zero, "3" for 300m zero and "4" for 400m zero in the case of the G3A3 w/ iron sights) and more noticeable drop and lead times at range.Rico11b wrote:I'm proud of you guys... You guys have been working on this ballistic issue for a long time now. I hope it makes it into the next patch release. Hopefully I'll get a chance to test it out when the next test build comes out. I've been shouting from the rooftops (many others have too) about realistic weapon ballistics. Great work fellas. Thanks for sticking with it, and not giving up.
I hope I speak for all the fans of PR when I say, "appreciate what you're doing".
R
Selectable apertures could be done by "maglinking" each individual setting. It will need free weapon slots at the very least and animations for twiddling the knobs. New textures for each setting would be cool too (eg "1", "2", "3" etc).

