• 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/

INF style projectile penetration mutator available!

Status
Not open for further replies.
Wow Phoenix-D, very nice argumentation indeed. I wasn't defending... I only explained how it is coded. So, I can only tell you what I have scripted and if you want to look at the codes... they are free and easy to access.
All we do is setting a projectile to a different location. Maybe check the map in UED and take a closer look at the location this shooting at the sky test was performed on.

The 'stepping' occurs in 16UU steps. So, the thicker a wall, the more SetLocation calls will occur. The SetLocation function itself shouldn't cause much trouble in terms of performance due to it being one of the base functions that each and every actor has to use at the time the actor is spawned into the world. Even if the Spawn and the SetLocation function aren't the same, they act the same way in terms of setting the actor to a specific location. So, its internal native function calls should perform exactly the same codes for actually setting the location, cause both return if an actor was able to be placed at the given location or not, using the same test criterias. So the collision and whatnot checks these two functions perform should be the same.
So, if SetLocation would have a huge impact performance wise, then spawning of a dozen projectiles in itself would cause performance issues. And this spawning happens with and without the mutator being active in our 'shoot into the sky' example.

If you check out the RO maps a bit, then you will notice that the 'skyboxes' are huge if not to say giant or whatever you want to prefer to use for "really really... really huge". Some maps use blocking volumes that surround the actual accessable map parts and some use nothing at all around these areas. And each projectile has a life span of 5 seconds. Well due to the penetration it can happen that a projectile will travel very very far now if it was able to get outside of the playing area and the map has then nothing more around to let it hit something. This 'area' goes up and down, so even with the ballistics these projectiles will have a lot of free area to cross before something like a fakebackdrop surface actually shows up or the 'zero space' starts to exist...
Same is true for non-penetrating projectiles that you ie fire over buildings that then are able to reach these areas too.
Whoever came up with subtracting a tripple giant box out of the Unreal universe to place only very tiny maps within (tiny if you compare the huge outside cube with the actual area the map is placed in) should maybe rethink what they actually did.
 
Last edited:
Upvote 0
;)
As said, maybe it is the non existing 'zero space'. If you fire at the ground and/or terrain a projectile is now able to penetrate, it then shows up in empty space that is not 'zero space'. Means a projectile is able to exist within this empty space below the actual terrain. So, with the empty space being pretty huge actually, the projectiles will most likely exist for a much longer time period than without the penetration.

I guess one way of 'fixing' this a bit would be to actually edit the RO maps and place some blocking volumes below the maps playing areas so that projectiles that were able to penetrate the "ground" - be it terrain, BSP or a Static mesh - will not have a long flight anymore till they actually reach the giant box surrounding the whole map - which is something pretty weird in itself actually, the giant box it is. ;)
 
Upvote 0
Destroying a projectile after it had penetrated something is actually against the whole purpose of this mutator. If a projectile would be able to ie. hit a wall, fly down a whole corridor to then hit a window again and to then kill the guy standing behind it - call it a good aimed sniper shot fe. - then this wouldn't be possible anymore. Same for two thin wooden doors or a wooden fence of some sort.
The whole purpose of this mutator actually is to penetrate more or less realistically so that you cannot hide behind every little wall or whatever you use for cover that wouldn't stop a projectile in real life too.
So, destroying it after a specific amount of time is no option. In addition the standard lifetime of a projectile in RO is 5 seconds max by default.

And as Jaesperson already said, terrain has to stay penetrateable for numerous reasons.
 
Upvote 0
How about to increase the step for SetLocation from 16uu to 32uu. It should reduce somehow the CPU load (less steps). The avatars hit cilinders are anyway bigger (i think) than 32uu and the chance to get a "miss" hit is very small. (SelLocation at 63uu from the wall)

If it is working good I would parametrized the steps (16, 32, 64) tht the mut can be run also on the weaker servers.

Another ideea (i don't know if it is implemented or if it is good) is to kill the bullet after n (2 - 10) not penetrated steps. If the bullet could not penetrate in 10 steps (16 * 10 = 160uu ~3m(?) it should be killed).

Just some toughts. I would really like to see the penetration sys working perfectlly :D.
 
Upvote 0
@radix ... each projectile has a maximum distance it is able to penetrate thru ie. a wall. So the SetLocation stuff stops after 1 to 4 steps normally.

@Murphy ... try out Stalingrad. The snowy terrain lets you fire thru the snow caps now too. And if someone prone crawls backward from a 'hill top' you will still be able to hit him for a second or two by shooting at the top terrain 'incline'.
In addition you can setup one terrain per zone within UED. This way you can ie. use terrain on different heights, as 'decos' on flat rooftops too and a lot more. So terrain could cover spots your projectiles should be able to penetrate.

Well, without ballistics and a possible multi-penetration of several walls in a row you would be able to make a quick check if something is actually behind the wall in a reasonable distance by using a trace check and if nothing is there you could simply say that the projectile wouldn't matter anymore. But who knows if a split second later a player would step into the flight path and how much the ballistics will change the flight path too to let the projectile actually hit something after penetrating. So, without actually knowing that the projectile is within a map area that noone can ever reach you have no clue about it being deleteable without any consequences.
If the maps would have proper zoning, blocking volumes or stuff alike, then we wouldn't need to think about this at all. The blocking volumes or whatever would be used, would be easy to check via script normally.
 
Upvote 0
No dev response yet? Well i'm hoping there will be one once the map and vehicles are released. I really want this mutator out there, adding to our game. As it is now. it seems there are no servers running this anymore, which is a damn shame.

Dev's, please copy/paste that info necessary for Beppo/Geo their way.
 
Upvote 0
Status
Not open for further replies.