How do video game bullets and projectiles work?

General discussion of the Project Reality: BF2 modification.
geogob
Posts: 294
Joined: 2007-03-07 16:36

Post by geogob »

requiem wrote:Tupla got it right with B. Too complex bullet physics could create some serious lag.
It would? wow. What a crappy engine.

As a coder for some other mod, ballistic was my little thing. There are many ways to implement even basic ballistics models. But that one... the 'nilla BF2 one... just wow.
Image

Image
El_Vikingo
Posts: 4877
Joined: 2006-11-27 01:50

Post by El_Vikingo »

[R-DEV]KingofCamelot wrote:
Not really a big deal, you never even knew. ;)
I knew something was up! :lol: :lol:

As long as it looks right it should be good.
Image

If you are reading this dont stop, cause if you do, I'll kick you in the balls.
Mekstizzle
Posts: 882
Joined: 2006-10-30 17:15

Post by Mekstizzle »

I can tell you this BF2 does ballistics better than Source. You know the insurgency mod, I remember them talking about how you can't have bullet drop as source doesn't really do it properly. Nor does it do big maps well or anything. It's not the engine everyone cracks it out to be.

However. Can you just imagine a BF2/PR style mod on the CryEngine2? I literally daydream of a game like that, mmm......PR on CryEngine2.....*drool*
Guerra norte
Posts: 1666
Joined: 2006-07-19 17:37

Post by Guerra norte »

You want realistic ballistics? Check THIS out.
Fullforce
Retired PR Developer
Posts: 3751
Joined: 2005-10-17 17:03

Post by Fullforce »

Max Payne was the first to accurately model bullet times (go into slowmo, and you can see them flying through the air). Although it doesn't model ballistics (the fights are too close for them to even want to bother to do that) the time it takes for a bullet to get from A to B is realistic.

Before, and still today in many games, when you fire the bullet just hits them and the bullet you see flying through the air is just an effect. It works better like this in Multiplayer games, as it requires less server load to determine individual bullets - but in a game like Max Payne, which is SP only, its vital.
vibes
Posts: 43
Joined: 2007-07-17 23:13

Post by vibes »

great answers, i've been wondering about this for ages. if you want to try a game with gravity drop and windage, check out the sniper elite demo. it's an old game, but i liked the demo so much i got the full version (which costs about $10). i've yet to try multiplayer. great stuff, it needs a whole different mindset.

on a different note, it was mentioned the m/s of a bullet are calculated, so is it possible to get a list of different bullet speeds from different weapons? or all they all the same? so, say i have a sniper rifle and i'm sniping people around a flag 500m away, i know i need to lead by x m/s over distance.
Dunstwolke
Posts: 45
Joined: 2007-07-18 12:54

Post by Dunstwolke »

Okay, just so I understand this right:

Rifle M16 A is ranged in at 600m
The muzzle velocity is something like 975m/s if I remember correclty, so let's round it to 1000 m/s so it's easier math-wise.

The bullet needs 0.6 seconds (in game, as I doubt the velocity gets recalculated in flight) until it reached 600m. That means it droped somewhere around 2,6m using the 14.8m/s² gravity value.

The same Rifle at 300m -> Bullet droped 0,67m


To hit someone at 300m with a rifle zeroed in at 600 I'd have to aim almost 2 meters below the point I want to hit (i.e. below the feet for a headshot) - I am 100% sure that is not the case in Project Reality.


I used d=0.5*g*t² as formula for calculations, but I am not 100% sure I did it right (tired :P ) (g=gravity t=time)


-----

So, to re-iterate

Are you 100% comepletly and utterly sure the bullet drop starts as the bullet leaves the rifle for small arms and not only as soon as the projectiled reached the "zeroed at" mark?
Last edited by Dunstwolke on 2007-08-13 13:30, edited 1 time in total.
Jaymz
Retired PR Developer
Posts: 9138
Joined: 2006-04-29 10:03

Post by Jaymz »

Did you read the thread? The BF2 engine can't have simulation level bullet travel paths so zeroing in the BF2 engine is completely different from zeroing in real life. The zero mark we introduced is just the distance up to which the projectile is hitting dead on, the bullet travel path is still linear.
Last edited by Jaymz on 2007-08-13 13:56, edited 1 time in total.
"Clear the battlefield and let me see, All the profit from our victory." - Greg Lake
El_Vikingo
Posts: 4877
Joined: 2006-11-27 01:50

Post by El_Vikingo »

So we should aim straight at the enemy even if they are higher up¿?
Image

If you are reading this dont stop, cause if you do, I'll kick you in the balls.
Jaymz
Retired PR Developer
Posts: 9138
Joined: 2006-04-29 10:03

Post by Jaymz »

higher up?
"Clear the battlefield and let me see, All the profit from our victory." - Greg Lake
Dunstwolke
Posts: 45
Joined: 2007-07-18 12:54

Post by Dunstwolke »

Actually, yes, I read the thread

[quote=""'[R-DEV"]Katarn;456386']Actually vikingo, bf2's would be a perfectly straight line because it's linear. As soon as the projectile leaves the weapon, it goes in a perfectly straight linear drop.[/quote]
[R-DEV]Jaymz wrote:B
[quote="requiem""]Tupla got it right with B. Too complex bullet physics could create some serious lag.[/quote]


And now you come saying it's "A" in that graph posted earlier and complain about me being confused?

Edit:

I guess you could "model" a "zeroed to 600" scope by setting the "zeroed in" to "0" (so the bullet starts droping as soon as it's fired) and then manually move the scope model off center down until the crosshair is exactly at the impact-location. That would requite the marksman using that rifle to adjust his shots depending on range starting from 0.

This would also give rifles ranged in to 300m an advantage in close combat, as the crosshair would be less off mark on ranges below 300m, if using the same method.

It was said earlier each bullet gets calculated 30 times a second anyway, so I am not sure how much having them drop right off would actually impact server performance, if at all.

Theorycraft all the way, but hey, might as well speculate in a thread like this.
Last edited by Dunstwolke on 2007-08-13 15:00, edited 1 time in total.
Bob_Marley
Retired PR Developer
Posts: 7745
Joined: 2006-05-22 21:39

Post by Bob_Marley »

On an elevated position. For example on top of a building.

Well thats what I think he ment...
The key to modernising any weapon is covering them in glue and tossing them in a barrel of M1913 rails until they look "Modern" enough.
Image
Many thanks to [R-DEV]Adriaan for the sig!
Red Halibut
Posts: 543
Joined: 2006-08-10 16:45

Post by Red Halibut »

[R-DEV]Jaymz wrote:Did you read the thread? The BF2 engine can't have simulation level bullet travel paths so zeroing in the BF2 engine is completely different from zeroing in real life. The zero mark we introduced is just the distance up to which the projectile is hitting dead on, the bullet travel path is still linear.
Jaymz,

Excuse me for being stupid and not getting this. When you say the bullet travel path is linear, do you mean horizontal?

If it is not horizontal, but a straight line at a downward gradient then it should be impossible to hit anything at close quarters, as the bullet would appear to come from a point about 2m above the barrel.

I'm having real problems getting my head around this one.
Image
"It is not the responsibility of a defender to leave the objective unguarded just so his opponent sucks less."
Dunstwolke
Posts: 45
Joined: 2007-07-18 12:54

Post by Dunstwolke »

The way it was presented and I understood it is like this:

You aim your rifle horizontally, so paralell to the ground (ground is flat). You fire your rifle while standing.

The bullet goes straigt at the height of the barrel above ground (i.e. 1.5m) until it reaches the "zeroed in" point, i.e. 300m (from 0-300 it's 1,5m above the ground, no drop). From then on it changes it's path and goes towards the ground at an angle, linear (means in a straight line, not curved). The angle is unknown as we don't have the formular at hand.

If it's realy the way I understood it, it works as seen in Graph A posted by Tulpa_s earlier.
tupla_s wrote:You mean like in a or b?
Image
Jaymz
Retired PR Developer
Posts: 9138
Joined: 2006-04-29 10:03

Post by Jaymz »

@Dunstwolke: Chillout, I wasn't calling you stupid and I never said it was A. Also, we already thought about moving the scope/ironsights down to give the impression a more realistic travel path but it would require a substantial amount of work and its effect on gameplay is questionable.

@Red Halibut: Linear means it goes in a straight line with no curves or bends. (B on the graph)
Last edited by Jaymz on 2007-08-13 17:40, edited 1 time in total.
"Clear the battlefield and let me see, All the profit from our victory." - Greg Lake
Eyre
Posts: 47
Joined: 2007-02-27 21:02

Post by Eyre »

Red Halibut wrote:Jaymz,

Excuse me for being stupid and not getting this. When you say the bullet travel path is linear, do you mean horizontal?

If it is not horizontal, but a straight line at a downward gradient then it should be impossible to hit anything at close quarters, as the bullet would appear to come from a point about 2m above the barrel.

I'm having real problems getting my head around this one.
I'm in the same boat here. If the bullet trajectory is 100% linear, and the rifle is zeroed for 300m, AND you can hit anything accurately between 0m and 300m without adjusting for bullet drop (or firing at the feet for a headshot, as someone said), it means that the bullet trajectory would have to 1) be completely laserbeam straight out past 300m, or 2) have such a gradual linear drop that it is not noticeable at distances less than 300m (that is, the bullet is indeed dropping, but the slope of the line is so close to 0 that at 300m, it is still effectively 0). 2 makes the most sense, but it seems to me that after 300 meters the bullet drops substantially, not by the small increments it would if it were modeling a very very slight linear drop. Thus I was always under the impression that the trajectory worked like A from the graph, but then you learn something new every day :)
"Good. Bad. I'm the guy with the gun."
Red Halibut
Posts: 543
Joined: 2006-08-10 16:45

Post by Red Halibut »

Thank you! I appreciate your response. I now have one final question if I may.
Let's first set up some initial conditions within the BF2 engine.

1 You point your rifle so that your scope is aimed at a point the same height above the ground (ie the line of sight from your scope is horizontal)

2 Your rifle is zeroed at 600m

3 The target you are aiming at is 600m away.

Now, given those initial conditions,it would be reasonable to assume that your bullet will land within a circle centred on the target (cone of fire or deviation notwithstanding). Given your assertion that the line the bullet takes is "B" on that graph, the only possible paths that the bullet could have taken, therefore, are

1) a straight, horizontal line from 0 to 600m or
2) a straight, descending line from 0 to 600m such that the bullet passes through the target dead centre at 600m.

If it's option 1) Then how and when does bullet drop come into effect? and if it's 2) then how far above the barrel does the bullet start its journey?

Please don't take this as sarcasm, it is most certainly not meant to be. I am genuinely trying to understand the physics employed by the BF2 engine, and what the PR mod does to that.

Thanks in advance.
Image
"It is not the responsibility of a defender to leave the objective unguarded just so his opponent sucks less."
Dunstwolke
Posts: 45
Joined: 2007-07-18 12:54

Post by Dunstwolke »

Excuse this very very very simple graphic, even if it took 10 scientists half a week to make it up:
Image

A Person is holding a rifle that is zeroed in to 600m and has a target in front of him at 600m.


I.
This is how I think it currentl works. You aim straight at the target 600m away and shoot. The bullet travles straight to the target and starts it's descent once past the 600m mark.

II.
This guy is holding a rifle that is zeroed in to 0 meters. He is aiming at the same spot the person in I did and firing. Bullet starts it's decent right away and by chance hits the ground just as it reaches the 600m mark.

III.
The guy in III is using the "off center sight-models". With the data gained in test II he is now aiming the crosshair at the same spot as in I and II again, but as the center of the crosshair is actually "below" the real center of the sight, he has to raise the gun a bit to aquire his target. This leads to the bullet first going upwards , as the barrel is pointing up, then moves into a descent until it finally hits the target at 600m - exactly where our guy aimed at.

My question is - does BF2 calculate the trajectory in a way that would allow doing sights like in III ?

Here some visual help:

Image

The black square is your in game screen. The circle is the visible area through the scrope. The black lines form the crosshair you see in game - a bullet will hit in it's center at 600m. The red lines for the "invisible" REAL center of the screen (a bullets starts it's travel there at 0m).


Edit:
That's it, I'm installing GIMP and getting a tablet. Sucky mouse + Paint ftl (and black+red as color-choices)!
Jaymz
Retired PR Developer
Posts: 9138
Joined: 2006-04-29 10:03

Post by Jaymz »

Dunstwolke wrote:My question is - does BF2 calculate the trajectory in a way that would allow doing sights like in III ?
Sure could. This is initially what I wanted to do but it's questionable as to whether or not the effects on gameplay would justify the huge amount of work involved, calculating exactly how much to lower the sights would be incredibly hard and we would have to edit every single weapon in the game to move its sights down like that....
"Clear the battlefield and let me see, All the profit from our victory." - Greg Lake
Farks
Posts: 2069
Joined: 2007-01-20 00:08

Post by Farks »

[R-DEV]Katarn wrote:Doesn't in ArmA and flashpoint requiem. And flashpoint is oldschool, processing power was definitely not up to where it is today :) .
The bullets in ArmA are actully physical in-game objects. ;)
Post Reply

Return to “PR:BF2 General Discussion”