• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

This is why realism = penetration!

GuidoTorpedo said:
This is how I see the system working.

Current:
  • User presses the fire button and the fire event is triggered.
  • Based on the user's position and aimpoint, a bullet is instantiated with a starting location, initial velocity (and energy calculated from this), direction vector.
  • Bullet travels to its target with a trajectory based on the weapon ballistics.
  • Bullet meets its target, location of the "hit" is taken, bullet is removed and a hit "puff" replaces with with the same coordinates.
Future:
  • User presses the fire button and the fire event is triggered.
  • Based on the user's position and aimpoint, a bullet is instantiated with a starting location, initial velocity (and energy calculated from this), direction vector.
  • Bullet travels to its target with a trajectory based on the weapon ballistics.
  • Bullet meets its target, location of the "hit" is taken, bullet is removed and a hit "puff" replaces with with the same coordinates.
  • If the hit target is penetratible, a vector is calculated from the hit surface to the next surface that "touches air". (as in, if you hit the front of a wall, a vector is calculated to a point in the backside of the wall there the bullet trajectory will exit.
  • Subtract the energy from the bullet depending on what type of material it hit. If its zero, stop, if not, instantiate a new bullet (and exit puff animation) with a new velocity attribute and trajectory.
  • Rinse and repeat.
I think the main problem why there is no penetration is that it seems very hard to spawn a projectile from a wall. worluk told me that a more feasable and less stressy way would be to NOT remove the projectile when hitting a penetrable surface, but just "tag" it so the system knows it has penetrated and adjusts the velocity accordingly, and simply remove it at the next hit. The projectiles would move in the same vector as before, but that seems a better, and easier way to calculate some basic penetration.
 
Upvote 0
I think the main problem why there is no penetration is that it seems very hard to spawn a projectile from a wall. worluk told me that a more feasable and less stressy way would be to NOT remove the projectile when hitting a penetrable surface, but just "tag" it so the system knows it has penetrated and adjusts the velocity accordingly, and simply remove it at the next hit. The projectiles would move in the same vector as before, but that seems a better, and easier way to calculate some basic penetration.

I agree, that was my idea also (if I got it right)
 
Upvote 0
More grist for the mill...

Projectiles that impact a solid surface and penetrate (or not) are usually deformed to some extent. This deformation can have a dramatic effect on the terminal ballistics of the projectile as it continues downrange. Obviously this deformation is lesser in certain materials and greater in others. In some cases the actual deformation may be nearly imperceptible (in the case of an AP round passing through wood, for example). This means each and every type of projectile in the game would have to have a formula to determine deformation and subsequent ballistic effects for every type of surface it could impact. Those formulae would have to take into account velocity on impact, angle of impact, density of the material being penetrated, density and rigidity of the projectile, and a hundred other things.

Now we get to another facet of penetration - deflection. All projectiles stand the chance of being deflected from their flight path when impacting and penetrating a surface. In some cases deflection is almost guaranteed, while in others it would be extremely rare (rifle bullet vs. brick wall and tank shell vs. wood building). Deformed bullets have a far, far greater chance of being deflected than those that penetrate with little or no deformation. Rifle, MG, SMG and pistol bullets can--and do--tumble after penetrating a solid object. That means the program would also have to calculate penetration and flight characteristics for keyhole impacts.

Now I'm all for seeing all of this--and more--modelled for every bullet/projectile in the game. Then again, I'm not the one doing the coding. Those persons may have different ideas about what's appropriate.
 
Upvote 0
Oh, they do. Players are, as far as I can tell, just marked "non physical" to bullets.

The problem with doing that to objects is you end up being able to shoot through a wall the LONG way, which is silly. Or a tank shell that flies through a wall, through the room, out the OTHER wall and so on without detonating!
 
Upvote 0
malice said:
The reason they say its impossible is if you were to allow bullets to pass through certain materials in this game it would have to pass through them as if there was nothing there. So if I was shooting at someone behide a fence the bullets would pass through the fence without being affected. There would be no physics involved, the bullets would A: Go through or B: Not go through the material, thickness, angle would all have nothing to do with it. You could have fence 1 meter thick and it would goo through just as easily as the 1in fence. So while there can be penitration it wouldnt work in a way that was right for ROOST.


everyone needs to go out and buy a physics chip for there next game.


Well this seems to be how tank penetrations work...and no one complains (well except me lol). It doesn't make any difference if you are penetratred from 100m away, or 1000m, the shot does the same damage to your tank regardless.


If tank shell A can penetrate thickness B, it doesn't matter currently how much it overpenetrates, or partially penetrates, if it works it works and we blow up. So...what is the big deal with bullets that do similar? If rifle bullet A can penetrate thickness of wood B, then anything equal to or less than B makes a penetration which does damage. No big deal.
 
Upvote 0
Jack said:
Well this seems to be how tank penetrations work...and no one complains (well except me lol). It doesn't make any difference if you are penetratred from 100m away, or 1000m, the shot does the same damage to your tank regardless.

If tank shell A can penetrate thickness B, it doesn't matter currently how much it overpenetrates, or partially penetrates, if it works it works and we blow up. So...what is the big deal with bullets that do similar? If rifle bullet A can penetrate thickness of wood B, then anything equal to or less than B makes a penetration which does damage. No big deal.

It may be so easy in the little abstract world you have in your head, but it is not that easy in the real world of engine programming.
 
Upvote 0
Granted, but you have to start with abstraction before you get anywhere else right?





All my point was that I see people obsessing over the physics of rifle bullets post-penetration when we don't have any such physis acting on tank shells. The tank shell calcs all seem pre-penetration, the game doesn't seem to take into account anything post penetrating, so I was wondering why it would not be similarily acceptable for rifle and subgun bullets.
 
Upvote 0
The game doesn't have to do so for the tanks because the tank shell *disppears* after those calculations. That alone has caused problems, BTW.

With a rifle or a tank shell hitting something OTHER than a tank, you have to calculate the effects of penetrating, then have the shell continue on its way, maybe penetrating something else. Its an entirely different situation.
 
Upvote 0
[RO]schneidzekk said:
It may be so easy in the little abstract world you have in your head, but it is not that easy in the real world of engine programming.
To be perfectly fair, and with all due respect, I think Infiltration had penetration back in the days of UT '99, and I myself coded very rudimentary projectile penetration (as opposed to hitscan penetration) for an unreleased weapon mod for Unreal. Now, if you were to say, for instance, that Tripwire had other priorities (or even that the fancy physics of RO ballistics somehow make this impossible, or that static meshes interact differently with actors than brushes do), that would be understandable, but it seems a little dishonest to mislead people by trying to misrepresent the reality of the situation.
And don't be too hasty to throw the term "engine programming" around - just because Tripwire owns a license to the Unreal engine, it does not mean that the Tripwire staff has actually done "engine programming" simply because you got a chance to tweak the source code around. This is not to detract from your very real accomplishments, but let's keep it in perspective.
 
Upvote 0
Yep Strike Force and Infiltration have penetration. In Infiltration we have penetration working with diiferent types of rounds through walls, windows and Kevlar type II and IIIa. I believe it is most certainly possible with the current engine BUT they will probably have to code a lot of "extensions" to the current bullet trajectory system.

Chances are RO:O will never have penetration because all these calculations needed will raise all the clients ping.
 
Upvote 0
I put this question to the TRIPWIRE staff or any others with real knowledge about the engine:

1) Do you think the simplified penetration system could add something to the game?(read at the beginning of the thread)
2) If yes, could the simplified penetration system, be done without much work?

If no to both. I will give up and spend my time on some other idea :D

Hugs TEq! :)
 
Upvote 0
Teq said:
I put this question to the TRIPWIRE staff or any others with real knowledge about the engine:

1) Do you think the simplified penetration system could add something to the game?(read at the beginning of the thread)
2) If yes, could the simplified penetration system, be done without much work?

If no to both. I will give up and spend my time on some other idea :D

Hugs TEq! :)

http://www.redorchestragame.com/forum/member.php?u=1 has already answered you twice. I would think that one of the guys who made the game would know enough about it to understand the engine's limitations, so why do you not believe him?
 
Upvote 0
Deathsai said:
schneidzekk has already answered you twice. I would think that one of the guys who made the game would know enough about it to understand the engine's limitations, so why do you not believe him?

That a simplified penetration system is beyond the engine's capabilities is a pure, laughable absurdity. SOME form of material penetration is easily possible, and would hardly require "a rewrite of large parts of the engine."

The real questions in my eyes are...

1. Whether a simplified penetration system would be beneficial to gameplay?

2. What drawbacks/weaknesses are there to a simplified penetration model?

3. Would a simplified penetration model, for all practical purposes, REALLY be distinguishable by the player from a Havoc 4000 particle simulator whatchamajig sent back in time by the hand of God (manifested as UE3), complete with 1:1 bullet deformation/refraction/wind friction/molecular rigidity/quantum modeling/insert ballistics term here/

Seriously, what is the problem with killing the projectile when it hits something, then running a simple hitscan for a *few inches* beyond, at some slightly randomized angle deviation and maximum scan distance derived from weapon caliber (and/or distance travelled before impact).

You can no longer take cover from 120mm tank shells behind a sheet of saran wrap, but you won't be shooting through sandbags with a 9mm at 400 yards either. Bullets won't turn into lasers when they hit something, but should damn well hit people when they undoubtedly should. It does not require a massive engine re-write and I cannot imaging how it could put strain on the server, (unless there is something REALLY screwy going on under this hood). PLEASE tell me a good reason why something like this would not be workable.
 
Upvote 0
jlamb said:
Seriously, what is the problem with killing the projectile when it hits something, then running a simple hitscan for a *few inches* beyond, at some slightly randomized angle deviation and maximum scan distance derived from weapon caliber (and/or distance travelled before impact).

Well, whats the problem with taking the SDK and try it then?
If you are done you can come back and report of the problems you encountered.

Dont get me wrong, i think it can be done to a certain extent. But realisitic, or even related to realism is different.
Tank shells would hit trought a wall, with the wall still standing undamaged.
A stone wall, 3m thick would have the same penetration value as a brickwall.
Unless you find some magic way to determine the thickness of a BSP wall.
Not even talking about statics here.

I still dont think it impossible.
But then you have to think about the high-rof weapons we have in RO and the calculations that have to happen for every bullet. Not even to think about all the CPU intensive spawn calls you would need when you do it the way that has been suggested several times here.
 
Upvote 0