Let's measure. Here's a layman's approach in four simple steps:
1. Find ballistic data for the 5.56x45mm cartridge (aka .223 Remington) used with the M16.Let's use the numbers for the M193 ammunition [1]. Here is the table after fully converting it to the metric system [2]:
Range (m) Speed (m/s) Time (s) [3]
0 975 0
100 846 0,110
200 724 0,236
300 613 0,380
400 512 0,545
2. Set up a test range to measure the in-game bullet travel time.See the attached picture for the layout of the range. The bullet travel time was measured using the "Fired" and "Hit" event handlers.
Player's init code:
this addEventHandler ["Fired", { t0 = time }]Target's init code:
this addEventHandler ["Hit", { _t = time; hint ("100m: " + str(_t - t0)) }]3. Fire some rounds and write down the results.In this case each target was hit ten times:
Range (m) Average Time (s) Min. Time (s) Max. Time (s)
100 0,104 0,096 0,112
200 0,234 0,225 0,240
300 0,385 0,309 0,399
400 0,563 0,553 0,576
4. Look at the results and come to a conclusions:- The results look pretty impressive. I didn't expect them to be
that accurate. Hats off to the coders.
- Hitting a man-sized target at 400m with an M16 is damn hard... ;)
- Measuring provides clarity.
- Clueless bitching make one look like an idiot.
[1]
http://www.ak-47.net/ammo/ss109.txt[2] If you still use stinking body parts to measure distances, you can use Google for unit conversion (like
"613 m/s in feet/s")
[3] Assuming a linear speed decrease.