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

Female Fleshpound project: needs a team

Very inretesting, Gartley. May I ask you to share some of your thoughts about it? How to distribute binary data to clients and place it in \karmadata\ folder?

In short I'd approach TWI, if the mod is of high enough quality I would hope they'd be willing to discuss the possibility of distributing that file for us, as it's only a few kbs it would have very small impact to the game overall. In the past they incorporated a driving animation into their KF_Soldier_Trip package for Braindead's Vehicle mod.

probably workshop can do that...

Workshop can do that and should the above not happen then that would be principle means of distribution. The problem lies in people joining servers, the server will not push that file to the client. Either way an additional set of death animations would have to be made and scripted to use if the kama data is not found.
 
Upvote 0
In the past they incorporated a driving animation into their KF_Soldier_Trip package for Braindead's Vehicle mod.
Oh so thats why thats in?
I though it was a animation they ported and remade since KFMod had vehicles.
Well thats nice of TWI, im sure they would like to include your files, they do want more content from the modding community and this FemPound is "original" (in terms of the model). Doesnt hurt to ask either way.
 
Upvote 0
I tested the latest release. Here's some thoughts and observations:

She doesn't look nearly as threatening as i expected, possibly because walking cycle is a bit crappy and needs work. Might also have something to do with the fact that the animation speed is not properly set up yet. And maybe she needs to be a bit bigger. maybe.

Still, will have to wait until she's fully animated and with proper sounds to pass better judgment on the matter.


> Animations & Ragdoll:
-As mentioned above, walking cycle speed needs to be tweaked. Can't tell about the rest.
-Whenever she's hit, her legs and arms stop moving while she's in 'hit' animation. Seems like it's not blended with the rest
-I can rip her head off, but not the legs and arms.
-Ragdoll does a weird tumble upon death.

>Model and texture:
-Lights don't shine
-Is the model missing some textures or materials? I remember KF's material system using multiple variations of the diffuse texture, for some reason, yet we only use 1.
-Texture needs an update since she has that bra now. At the very least, new shadows and Ambient occlusion is needed in the chest area.

> Mechanics:
-I couldn't get it to rage once




As for the actual gameplay mechanics:

I think we should stick to the original idea; A fast and aggressive anti-kiting zed laying somewhere between Scrake and FP on the threat scale.

The main design aspect is that it cannot be dealt with by ISO Standard Berserker procedures, and needs to be shot down rather than kited.

Possible behaviors and mechanics might be...
-She doesn't dodge grenades while raging (<-Gartley)
-Breaking line of sight and attacking does not reset the rage meter
-Rage meter fills faster than normal FP
-Random chance to rage at any moment (might be a function of current rage meter state, or rage meter increment is a random number, not a fixed one)
-Her raging animation has her squat down, whereas the original FP's rage animation pretty much leaves his head in place. This might make her a bit more difficult to snipe during the raging.
-An idea to possibly make her rage charge more threatening is to not have her charge the enemy directly, but to initiate by sidestepping in a random direction BEFORE charging forward, to throw the sharpshooter off.
- i'd make small arms more effective against her (SCAR and shotties) and keep demo and sharpie's effectiveness pretty much the same as to a normal FP. Combined with a faster movement and easier rage, this shift the responsibility to deal with her from Sharpies, Demos and Zerkers to Commands and Supports.
-Totally gimmicky and unnecessary mechanic - she rages if a nearby male FP rages. Rage buddies ftw!:IS2:
 
Upvote 0
> Animations & Ragdoll:
-As mentioned above, walking cycle speed needs to be tweaked. Can't tell about the rest.
Already done.
-Whenever she's hit, her legs and arms stop moving while she's in 'hit' animation. Seems like it's not blended with the rest
That's been fixed.
-I can rip her head off, but not the legs and arms.
Odd, works fine for me. I spent a hour tweaking the gore variables so they were the right size and not floating from the body.
-Ragdoll does a weird tumble upon death.
Yes, ragdoll is not the best, first one I built. Certainly something that needs improving.

>Model and texture:
-Lights don't shine
They should, and do for me as they have emissive properties.
-Is the model missing some textures or materials? I remember KF's material system using multiple variations of the diffuse texture, for some reason, yet we only use 1.
Elaborate? There are some basic combiners in place for relections and the like, granted they need sorting out.
-Texture needs an update since she has that bra now. At the very least, new shadows and Ambient occlusion is needed in the chest area.

> Mechanics:
-I couldn't get it to rage once
Odd, she works fine, you weren't on beginner were you?

Most of the small things, like ragdoll and mesh, will all be adressed once I have all the animations. I'll be starting from the top with the assets. Conversion and importing to make sure everything is squared up.
 
Last edited:
Upvote 0
nope, HoE...

mmh, considering the amount of stuff that should be working but isn't, if you excuse me i'm going to go ahead and re install KF or something. When in doubt, Format C:\


As for the materials, Yeah i think it has something to do with reflections and what not. I seem to recall the AK47 having 3 different texture files, each with different values on the alpha channel and some other differences. Maybe they are not needed for this project.

About the audio and speech,
How's the speech coming along? how many dialog lines are you guessing we'll need?
and are we going to use the default FP grinder sound or a custom one?
 
Upvote 0
Pretty much the way the AK was done, I did. Even made a custom so the reflections were not uniform. Going to have to check what I sent you.

As for sounds I'm in the process of assembling some effects.
https://soundcloud.com/whisky/ffp-grinders
https://soundcloud.com/whisky/ffp-footstep1
Just two examples. (I record all the sounds myself so there is no concern regarding copywrite material there)

And as for voice, I've had 4 submissions. I'm thinking about <40 voice, that includes various pain, hit, rage, reaction, oneliners etc.

30th is the end date for the auditions, this gives us plenty of time to iron out the rest of the kinks.
 
Upvote 0
Here is optimized version of TakeDamage() function (I din't change any stats, just optimized the code and added a bugfix):

Code:
function TakeDamage( int Damage, Pawn InstigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> damageType, optional int HitIndex)
{
    local int BlockSlip, OldHealth;
    local float BlockChance;//, RageChance;
    local Vector X,Y,Z, Dir;
    local bool bIsHeadShot;
    local float HeadShotCheckScale;
    local class<KFWeaponDamageType> KFDamType;

    // optimizes typecasting and make code comre compact -- PooSH
    KFDamType = class<KFWeaponDamageType>(damageType); 

    GetAxes(Rotation, X,Y,Z);
    
    oldHealth= Health;

    if( LastDamagedTime<Level.TimeSeconds )
        TwoSecondDamageTotal = 0;
    LastDamagedTime = Level.TimeSeconds+2;

    if ( KFDamType != none ) 
    {
        HeadShotCheckScale = 1.0;
        // Do larger headshot checks if it is a melee attach
        if( class<DamTypeMelee>(damageType) != none )
            HeadShotCheckScale *= 1.25;
        bIsHeadShot = IsHeadShot(Hitlocation, normal(Momentum), 1.0);
        
        // He takes less damage to small arms fire (non explosives)
        // Frags and LAW rockets will bring him down way faster than bullets and shells.
        if ( !KFDamType.default.bIsExplosive ) // all explosives: current, future and custom -- PooSH
        {
            // Don't reduce the damage so much if its a high headshot damage weapon
            if( bIsHeadShot && KFDamType.default.HeadShotDamageMult >= 1.5 )
            {
                Damage *= 0.75;
            }
            else if ( Level.Game.GameDifficulty >= 5.0 && bIsHeadshot 
                && (ClassIsChildOf(KFDamType, class'DamTypeCrossbow')
                    || ClassIsChildOf(KFDamType, class'DamTypeM99SniperRifle')) ) 
            {
                Damage *= 0.35; // 65% damage reduction from xbow/m99 headshots
            }
            else
            {
                Damage *= 0.5;
            }
        }
        // double damage from handheld explosives or poison
        // include subclasses = care about modders (c) PooSH
        else if ( KFDamType == class'DamTypeFrag' 
                || ClassIsChildOf(KFDamType, class'DamTypePipeBomb') )
        {
            Damage *= 1.25;
        }
        // A little extra damage from the grenade launchers, they are HE not shrapnel,
        // and its shrapnel that REALLY hurts the FP ;)
        // M32 and SP are subclasses of DamTypeM79Grenade, so no need to additionally check those -- PooSH
        else if( ClassIsChildOf(KFDamType, class'DamTypeM79Grenade') 
                || ClassIsChildOf(KFDamType, class'DamTypeM203Grenade') )
        {
            Damage *= 1.25;
        }
    }

    // Shut off his "Device" when dead
    if (Damage >= Health)
        PostNetReceive();

    // Damage Berserk responses...
    // Start a charge.
    // The Lower his health, the less damage needed to trigger this response.
    //RageChance = (( HealthMax / Health * 300) - TwoSecondDamageTotal );

    // Calculate whether the shot was coming from in front.
    Dir = -Normal(Location - hitlocation);
    BlockSlip = rand(5);

    if (AnimAction == 'PoundBlock')
        Damage *= BlockDamageReduction;

    if (Dir Dot X > 0.7 || Dir == vect(0,0,0))
        BlockChance = (Health / HealthMax * 100 ) - Damage * 0.25;


    // We are healthy enough to block the attack, and we succeeded the blockslip.
    // only 40% damage is done in this circumstance.
    //TODO - bring this back?

    // Log (Damage);

    if (damageType == class 'DamTypeVomit')
        Damage = 0; // nulled

    // fixes none-reference erros when taking enviromental damage -- PooSH
    if (InstigatedBy == none || KFDamType == none)
        Super(Monster).TakeDamage(Damage, instigatedBy, hitLocation, momentum, damageType); // skip NONE-reference error
    else 
        super(KFMonster).TakeDamage(Damage, instigatedBy, hitLocation, momentum, damageType); 
        
        
    TwoSecondDamageTotal += OldHealth - Health; 

    if (!bDecapitated && TwoSecondDamageTotal > RageDamageThreshold && !bChargingPlayer &&
        !bZapped && (!(bCrispified && bBurnified) || bFrustrated) )
        StartCharging();
        
    totalRageAccumulator+= (oldHealth - Health);

    /**
     *  If the fleshpound isn't raging and the accumulator 
     *  has exceeded the threshold, rage and reset the accumulator
     */
    if (!isInState('BeginRaging') && !bDecapitated && totalRageAccumulator >= totalDamageRageThreshold && 
        !bChargingPlayer && (!(bCrispified && bBurnified) || bFrustrated) ) 
    {
        totalRageAccumulator= 0;
        StartCharging();
    }
}
 
Last edited:
Upvote 0
Ok, now the animations are almost done, i'd say its as good as time as any to start refining/tweaking/improving them for a proper release. With this in mind, i'd really appreciate it if i could get a bit more detailed opinions other than a simple "looks good" or "could be better".

For those of you who have tested it,
how do the animations look?
Are they smooth enough?
Are they violent and energetic enough?
Does it look threatening enough?
Does the walking cycle feel right?
Does the attack range and timing match the animation?
are there any animation bugs i should be aware of?

I'm also open to suggestion regarding specific animations and behaviors. Got any ideas for the walking cycle? the idle cycle? some cool new attack animation (currently i'm copying the original FP's) ? pitch'em here
 
Upvote 0
Not sure if I spotted it right but silly question : You are looping them, right? (Beginning and ending in same pose)

Yes

In fact, i may be "over-looping" them, which may or may not cause problems.

By that i actually mean an excess of keyframes including animation frames that are 'missing' in the original FP animation.

Most of my animations are loopeable, and most animations (attack, idle, hit, stun, etc..) start and end with the very first keyframe of the idle cycle, allowing for a seamless integration between them and a smooth transition from the starting default position.

However, the original FP animations don't do that. They seem to start at an arbitrary frame, somewhere down the timeline. Whether this is done because the in-game animation blending renders these additional frames superfluous or for some other reason, i don't really know.

So far i haven't noticed problems with the animation blending, but doesn't mean they don't exist either.
 
Upvote 0
They were 'overlooped' but when I imported them I shaved a frame here or there so the loop was smooth (not having two frames where the pose is the same ie the start and end)

Timing on attacks are down to me, I add the notifies that call on the damage code. So you can go nuts with her, have her hit six times in a row and I'll make it translate to game.

Blending is done by the engine, the reason she hovered before was because I hadn't defined the correct bone at which to start the blend. (Custom skeleton and all that.

Tomorrow, after I've slept (just did a gig) I'll release the first public beta and then we can take it from there ^^
 
Upvote 0
First, I want to say that this specimen is brilliant! Some things to polish and it will be one of the best custom specimens ever made.

We ran some test games yesterday, so here come a feedback of mine:


Spawns

I've already sent enhanced squad handling code to Gartley and I hope it will be used. It allows to make own squad for specimen, no trying to fit it into existing ones. I think Female FP should appear from wave 6, because she is middle-tier specimen between Scrake and FP.
Here is the squad table.


Balance
  • Lowered body health to 1100 (down from 1300)
  • Raised PlayerCountHealthScale to 0.3 (up from 0.25)
  • 65% damage resistance to M99 on Sui/HoE (like xbow)
  • Damage multiplier for hand nades and pipebombs lowered to x1.25 (down from x2)
Body health lower mainly because she should die from 3 xbow headshots on 6p HoE, not running around decapitated and raged. The second reason is to compensate increased spawns.
PlayerCountHealthScale raised to require 1 extra headshot with M14RBR. It was too easy to kill her. Even without any practice.
Nade & pipebomb multiplier lowered to compensate weaker body. Otherwise, Female FP died from 1 pipebomb (L6 demo, 6p HoE).

Behavior
I talked with Gartley about mixing rage requirements between SC and FP, giving her an unique behavior, not just copy-pasted from Super FP.
  • Removed accumulated damage counter.
  • She rages from damage > 300, but only if received from a single hit.
  • She rages from any hit, if her health dropped below 50% (75% on Sui/HoE). Just like Scrake.
  • She calms down only after hitting her enemy (zeds and blocking players excluding).
  • On Hard difficulty and below, her rage stops even if she missed the hit (player managed to evade it).
  • On Suicidal, she calms down only if hit was successful (enemy took a damage). Like Super FP.
  • On HoE she calms down only after killing the enemy.

Besides, I think that her rage animation is too long. Almost every time I managed to make 3 xbow headshots and kill them before they even started to move.
Killing Female FP requires 1 or 2 M32 nades less than killing regular FP (depending from player count and difficulty). Due to long animation players have enough time to aim before each subsequent shot.
Make rage animation faster or make here move when she is raising her head up (or even dodge to the side).
 
Last edited:
Upvote 0
Maybe TRIPWIRE will make download karma in unreal engine, like ukx, utx etc.
It is much easier modderslife

1f408682476f0dfa01f7a78ef0fa083f.gif
 
Upvote 0