Jump to content

Recommended Posts

Would it be possible to configure, say, 1 blood pool per unit hit by an explosive charge - I suspect that would not be too taxing on performance ?

 

Otherwise, when inspecting a ground zero from artillery shelling there would now be no blood splatter (except for BI's) but the aftermath from a simple gunfight would have plenty. I would really like for the artillery to have that kind of impact. Also when gunning against infantry in a Hunter I would expect the carnage to be more visible than from small arms fire.

 

I hope you can come up with some solution in the future. Thanks for a great mod regardless :)

 

OP

Share this post


Link to post
Share on other sites

Really nice mod, i'm enjoying it so far...Thanks for the update :)

 

Currently using it along with Mao's Blood Mist and it's really good. Have you included the mists with this update, or is it for later? Maybe a bit more pronounced, or at least coloured/textured ones compared to Mao's ones? specially for the headshots maybe? Always satisfying  to see long distance shots hitting the flesh  :P

 

Just wanted to report some blood spats conflicting with the stairs, sometimes a part of the splat is "suspended" because it's longer than a stairtread.  

 

 

Thanks again, keep up the good work!

Share this post


Link to post
Share on other sites

Also working on optimizations -- specifically around explosions and the massive drop in framerate they cause with blood splatters.

EDIT: Added a blood splatter ammo whitelist which includes bullets and grenades. Large explosives such as explosive charges will no longer cause blood splatters, due to performance reasons.

 

 Ah man that would be tragic - could you put in an option maybe in a Userconfig for amount of spatters? Some derelicts like me will gladly take the 1 sec fps delay to watch the Myth-like explosions.

 

 unlimited gore I say!!!

 

 

70glQ7x.jpg

  • Like 2

Share this post


Link to post
Share on other sites

 Ah man that would be tragic - could you put in an option maybe in a Userconfig for amount of spatters? Some derelicts like me will gladly take the 1 sec fps delay to watch the Myth-like explosions.

 

 unlimited gore I say!!!

 

 

70glQ7x.jpg

 

I'll look into it further before releasing this update.

Share this post


Link to post
Share on other sites

Dang man, dat's nasty!

 

I like it!

Share this post


Link to post
Share on other sites

Any chance of adding some horrifying dying screams?

Or losing limbs?

Enjoy!

Share this post


Link to post
Share on other sites

As far as adding screams goes and other ideas, the focus of this addon is to add blood splatters. As much as I'd like to add extra features like that, some people may not like certain additions or may have downloaded my addon just for the blood splatter effect.

Those may become separate addons in the future, or another person in the community can create it (or already has).

I believe I've added momentum towards providing better gore for ArmA, and wouldn't mind allowing others to form a gore compilation mod which includes Blood Lust.

-Thanks

  • Like 2

Share this post


Link to post
Share on other sites

---UPDATE---

 

Blood Lust

 

[4-22-2016] v1.3:

Splatters will now be removed if they are no longer at a valid position (such as a building that was just destroyed) -- reduces floating splatters.

Added limit to amount of hits which occur per unit per HitPart event (should improve performance on large explosions or splash damage).

 


Download now available: http://files.bitdungeon.org/arma/@bloodlust_v1.3.zip
Requires CBA!

Share this post


Link to post
Share on other sites

Yahoo! Its the weekend brothers...

 

We gotta try this one tonight for Game-Night.

 

Thanks zooloo75!! :D

  • Like 1

Share this post


Link to post
Share on other sites

 Ah man that would be tragic - could you put in an option maybe in a Userconfig for amount of spatters? Some derelicts like me will gladly take the 1 sec fps delay to watch the Myth-like explosions.

 

 unlimited gore I say!!!

 

 

70glQ7x.jpg

 

good old times. first i thought that screen was from "sacrafice". it had quite excessive blood too.

 

my suggestion for explosives would be to maybe spawn way less but much larger splatters. maybe one per unit. maybe extra versions for explosives with extra nastiness. they could be more spread from the shockwave. just an idea.

  • Like 2

Share this post


Link to post
Share on other sites

---UPDATE---

 

Blood Lust

 

[4-23-2016] v1.31:
Increased blood splatter iterations (more blood emitted).
Added code to allow for configuration (still WIP; will include a mission in the future to configure values -- crafty people can figure out how to change the settings though).

 


Download now available: http://files.bitdungeon.org/arma/@bloodlust_v1.31.zip
Requires CBA!

Share this post


Link to post
Share on other sites

Can this be used clientside only on a server/does everyone need to have it or will it have varying problems?

Also I've noticed a fairly large problem regarding high RoF weaponry such as any minigun. I'm guessing because so many textures are being created. I fired into the crowds on the VA and my frame rate was going down to around 5-10fps when hitting them with the Wildcat guns.

Share this post


Link to post
Share on other sites

Can this be used clientside only on a server/does everyone need to have it or will it have varying problems?

Also I've noticed a fairly large problem regarding high RoF weaponry such as any minigun. I'm guessing because so many textures are being created. I fired into the crowds on the VA and my frame rate was going down to around 5-10fps when hitting them with the Wildcat guns.

 

This does not work correctly in multiplayer (at least for now).

The performance drop is due to how many HitPart selections are passed to BloodLust. Splash damage, such as from miniguns and explosives sends out hundreds, and even thousands of selections depending on the number of units it affects. When a unit is hit by the typical bullet, it only fires off one selection, but when an explosion goes off, that unit can fire off around a hundred or so just on its own due to indirect hits (splash).

 

For now, you can try to tweak the values yourself to find a sweet spot in performance vs quality, or avoid / accept huge splash damage situations.

 

If you want to tweak the values, I have allowed for them to be configurable via profileNamespace. Below is the code which states the limits:

BloodSplatterIterations              = profileNamespace getVariable ["BloodSplatterIterations", 3];
BloodSplatterGroundMaxDistance       = profileNamespace getVariable ["BloodSplatterGroundMaxDistance", 2];
BloodSplatterIntersectionMaxDistance = profileNamespace getVariable ["BloodSplatterIntersectionMaxDistance", 5];
MaxBloodSplatters                    = profileNamespace getVariable ["MaxBloodSplatters", 500];
MaxHitPartsPerEvent                  = profileNamespace getVariable ["MaxHitPartsPerEvent", 10];
MaxIndirectHitsPerEvent              = profileNamespace getVariable ["MaxIndirectHitsPerEvent", 10];

To set new values, just run the following code in a script (you can execute this in the debug console ingame) -- and of course, change the numbers:

profileNamespace setVariable ["BloodSplatterIterations", 3];
profileNamespace setVariable ["BloodSplatterGroundMaxDistance", 2];
profileNamespace setVariable ["BloodSplatterIntersectionMaxDistance", 5];
profileNamespace setVariable ["MaxBloodSplatters", 500];
profileNamespace setVariable ["MaxHitPartsPerEvent", 10];
profileNamespace setVariable ["MaxIndirectHitsPerEvent", 10];

Hopefully this helps. Don't be shy to share your own value tweaks if you do happen to find a good compromise on performance vs quality.

I will have a configuration mission available in the future to make this easier to accomplish, allowing for realtime configuration and testing of the values with a benchmark.

Just for the record, I am still working on optimizing my algorithms.

 

 

urpWTFN.jpg?1

  • Like 3

Share this post


Link to post
Share on other sites

---UPDATE---

 

Blood Lust

 

[4-24-2016] v1.4:

Added jitter to blood splatter placement, causing them to look more messy.

Randomized amount of blood splatters emitted per hit (still limited to BloodSplatterIterations).

Added more configurables.

Updated surface intersection blacklist, allowing objects baked into a map to receive splatters.

Explosives will "vaporize" a unit (such as an explosive charge) -- Will be expanded upon in the future.

Optimized parts of code, resulting in improved performance.

 


Download now available: http://files.bitdungeon.org/arma/@bloodlust_v1.4.zip
Requires CBA!

 

 

 

Current Configurables (See post on how to tweak values: https://forums.bistudio.com/topic/189963-wip-blood-lust-4-24-2016-v14/?p=3013612)

MaxBloodSplatters                    = profileNamespace getVariable ["MaxBloodSplatters", 500];
BloodSplatterIterations              = profileNamespace getVariable ["BloodSplatterIterations", 3];
VaporizedBloodSplatterIterations     = profileNamespace getVariable ["VaporizedBloodSplatterIterations", 6];
VaporizedBloodSplatterJitterAmount   = profileNamespace getVariable ["VaporizedBloodSplatterJitterAmount", 10];
VaporizationDamageThreshold          = profileNamespace getVariable ["VaporizationDamageThreshold", 20000];
MaxHitSelectionsPerEvent             = profileNamespace getVariable ["MaxHitSelectionsPerEvent", 3];
MaxBloodSplattersPerEvent            = profileNamespace getVariable ["MaxBloodSplattersPerEvent", 10];
BloodSplatterGroundMaxDistance       = profileNamespace getVariable ["BloodSplatterGroundMaxDistance", 1.5];
BloodSplatterIntersectionMaxDistance = profileNamespace getVariable ["BloodSplatterIntersectionMaxDistance", 4];
BloodSplatterJitterAmount            = profileNamespace getVariable ["BloodSplatterJitterAmount", 0.25];
BloodLustActivationDistance          = profileNamespace getVariable ["BloodLustActivationDistance", 100];
BloodSplatterIntersectionBlackList = profileNamespace getVariable ["BloodSplatterIntersectionBlackList", 
[
    "UserTexture1m_F",
    "WeaponHolderSimulated",
    "WeaponHolder",
    "Thing",
    "Man",
    "AllVehicles",    
    "Default"
]];
  • Like 2

Share this post


Link to post
Share on other sites

Vaporized as in deleted? I forsee a lot of mission problems. While it's cool bombing a town and having nothing left but blood it presents various problims with stuff like resupplying off of bodies, etc.

Is it possible to see that as a module with settings like: 

- No vaporisation
- Vaporize on direct impact
- Vaporize on direct impact only with large ordnance. (105mm mortars, direct hit RPG's?, GBU/Bombs.)

Share this post


Link to post
Share on other sites

Vaporized as in deleted? I forsee a lot of mission problems. While it's cool bombing a town and having nothing left but blood it presents various problims with stuff like resupplying off of bodies, etc.

Is it possible to see that as a module with settings like:

- No vaporisation

- Vaporize on direct impact

- Vaporize on direct impact only with large ordnance. (105mm mortars, direct hit RPG's?, GBU/Bombs.)

The vaporization is mostly in place for performance reasons. Explosives cause large framerate drops. Deleting the unit prevents further hit part events from firing. I will add a configurable to toggle this in the next update. I do plan on expanding upon vaporization with gibs and other gore elements.

It does delete the unit. Now that you mention it, I could add a bool to the unit to disable further processing, and then just make the unit invisible.

 

EDIT: Just made the above changes. Expect v1.41 in a bit.

Share this post


Link to post
Share on other sites

---UPDATE---

 

Blood Lust

 

[4-24-2016] v1.41:

Changed vaporization implementation to make unit invisible instead of deleting them (to prevent issues with missions and various scripts).

Added configurables to toggle vaporization.

 


Download now available: http://files.bitdungeon.org/arma/@bloodlust_v1.41.zip
Requires CBA!

 

 

Configurables (version number is now appended to configurables):

MaxBloodSplatters                    = profileNamespace getVariable ["MaxBloodSplatters_v1.41", 500];
BloodSplatterIterations              = profileNamespace getVariable ["BloodSplatterIterations_v1.41", 3];
VaporizedBloodSplatterIterations     = profileNamespace getVariable ["VaporizedBloodSplatterIterations_v1.41", 6];
VaporizedBloodSplatterJitterAmount   = profileNamespace getVariable ["VaporizedBloodSplatterJitterAmount_v1.41", 10];
VaporizationDamageThreshold          = profileNamespace getVariable ["VaporizationDamageThreshold_v1.41", 15000];
IsVaporizationEnabled                = profileNamespace getVariable ["IsVaporizationEnabled_v1.41", true];
IsVaporizationEnabledOnPlayer        = profileNamespace getVariable ["IsVaporizationEnabledOnPlayer_v1.41", false];
MaxHitSelectionsPerEvent             = profileNamespace getVariable ["MaxHitSelectionsPerEvent_v1.41", 3];
MaxBloodSplattersPerEvent            = profileNamespace getVariable ["MaxBloodSplattersPerEvent_v1.41", 10];
BloodSplatterGroundMaxDistance       = profileNamespace getVariable ["BloodSplatterGroundMaxDistance_v1.41", 1.5];
BloodSplatterIntersectionMaxDistance = profileNamespace getVariable ["BloodSplatterIntersectionMaxDistance_v1.41", 4];
BloodSplatterJitterAmount            = profileNamespace getVariable ["BloodSplatterJitterAmount_v1.41", 0.25];
BloodLustActivationDistance          = profileNamespace getVariable ["BloodLustActivationDistance_v1.41", 2000];
BloodSplatterIntersectionBlackList   = profileNamespace getVariable ["BloodSplatterIntersectionBlackList_v1.41",
[
    "UserTexture1m_F",
    "WeaponHolderSimulated",
    "WeaponHolder",
    "Thing",
    "Man",
    "AllVehicles",    
    "Default"
]];

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×