Previous Post

BFP v1.1(.1) is now available for Supporters. Character memory. Multisurface support for hair, other items.

Next Post
BFP v1.1(.1) is now available for Supporters. Character memory. Multisurface support for hair, other items.
1 / 8
DESCRIPTION

NOTE: Version numbering changes going forward. This and the following versions will be v1.1, 1.2, ..., 1.10, 1.11, ... and so on. Minor hotfix releases will gain an additional count (e.g. v1.14.1)

Another potentially important note: The game no longer allows starting a match with characters having the same name. As such, both the 'Continue' and 'Scenario' buttons on the second character selection screen will be disabled if you have selected the same character, or you have changed the name of the selected character to match the first character selected. A character also always needs a name. This is done to prevent issues under the hood and simplify character metadata collection during matches.

Edit: I have just uploaded an experimental version (v1.1.1) where this limitation (above) is removed for regular VS matches. Note that only the first character will be accumulating experience points. Wins/draws/losses and all various other statistics will be centered around the first character's outcome (e.g. if the second 'version' of the character wins the match, that will be counted as a loss). Scenarios will still be disabled (let me know if that's a problem for you though).

Ok so what's the deal with character memory?

Well, it's one of those things opening up a lot of potential moving forward. I mentioned something about it before, in my Roadmap / Directions post: "memory and context awareness for characters (e.g. a character would remember having fought another character, the outcome(s), the overall difficulty, having been dominated / dominating, having an opportunity for revenge - that sort of thing - which should also be reflected in the dialogue); this can also be used for implementing a sort of fame framework (e.g. when fighting randomly generated opponents, they could acknowledge certain things they might've 'heard' about)".

For now, the implementation collects match metadata and saves it across sessions. It also goes a step further and can draw conclusions based on the data. It can tell if the current match is the first encounter between two characters, who the challenger is, if an actor is the other's nemesis (based on past humiliation and match results) or alternatively the victim (i.e. the opposite of nemesis), or a main rival (they fight often). Frustration can be measured against an opponent (based on past history and humiliation), both overall or lately. The stronger / weaker opponent can be determined based on previous history. Or it's also possible that the opponents are equals. There is also a way to tell if a weaker actor is now turning the tide against a stronger opponent, based on their encounter history, or is losing their edge, or that nothing out of the ordinary is happening. Streaks / grudges can be measured. There is also additional information available concerning the ongoing / last settled match. Who won? Was it a close one? Was it a shameful defeat? Who was mostly in control? Is one of the opponents currently turning the tables on the other, after initially being dominated?

All these statistics are now available per character. At the bottom, under the usual stats, there is a now a Win / Draws / Losses counter, and next to it there is a more... link. Pressing that gets you into statistics land. There is basic stuff, like matches fought, who their main rivals are, who their nemesis and / or victim is. Some things need a few matches for the data to become available.

Then there's a dropdown listing all the opponents the selected character has fought before, Selecting one of them gets you more data - overall, and concerning the last match. Here you can basically see data that is factored in for the queries above.

Ok, so what does it do? How is this interesting for you, if you're not into statistics?

Well, as I mentioned above - it will go towards creating a more authentic dialogue (and possibly other features). I haven't had time to dive deep into dialogue overhaul, but I have updated the intro dialogue for the default and b*tch dialogue files to take advantage of some of these conditions. The updated standalone files are included with the Windows version (under .mods/topics), so you can have a look.

As such, the characters will make use of appropriate dialogue. The fact they have met before or not will be apparent in most cases. What their relation is to one another (stronger, equals, weaker) can also shine through. One might mention how they defeated the other in their previous match. In short, what they say will be appropriate and not contradict their situation.

My plan is to gradually expand this to all dialogue, and add in new topic variations for all sort of situations.

And best of all, these queries / conditions are also available to anyone who wants to mod their dialogue files.

What does it look like? Well, like this:"is_first_encounter && target>is_challenger::You actually dare challenge me{, NX}?! How pathetic!""is_first_encounter || actor>is_opponents_nemesis::Why are you even trying{, NX}? Just surrender now!""is_first_encounter || actor>is_historically_stronger_than_opponent::This will be over quickly{, NX}! You won't last!","actor>won_the_last_settled_match && actor>!is_historically_stronger_than_opponent && actor>!is_historically_weaker_than_opponent && actor>!is_historically_equal_to_opponent::Ready? Time to defeat you again{, NX}!"

Now, for the other pretty big thing... Appearance and wearables stuff

Hair (and another item category) now support multiple surfaces, each with their own material properties. I have updated most of the hairs to make use of this, and allow you to color selected hair strands. The plan is to find hair that works better with this sort of thing than what we currently have. But you can see some of the results in the attached post images.

Gradients are not supported at this point. I will look into this in the future, and potentially add support for this for selected hairs (very likely not the current ones though - because their geometry and UV mapping need to be in a certain way).

Eyebrows, nails and toenails have also gained support for their individual material properties.

These are the two major developments. And then there's other stuff, and fixes. See below for the full changelog and the download links:

Actions:

Small action / animation fixes: missionary_fuck_target_turns_the_tables_to_straddling, straddling_fuck_target_turns_the_tables, straddling_hold_down (smooth out transitions)

Wearables and appearance:

Implemented hairs and strap-on support for multiple surfaces, each with their own material (a few provided as examples)

Implemented material properties support for eyebrows, nails and toenails. They are no longer just color. This is especially useful when it comes to anthro characters, where e.g. hooves are defined as toenails and until today had predefined material properties based on human nails (e.g. very high clearcoat levels and very little roughness). Note that for Alora the hooves / toenails surfaces are not defined, so the toenail material controls will not work (this had been done exactly to avoid the shiny black hooves problem from before)

Updated default characters to use the new capabilities. Use Update existing characters' appearance under Options to get the changes (note that any custom outfits you might have added to the default characters will be overwritten)

It might be a good idea to go through all your characters and resave them. This updates them to the latest save file format

Mechanics:

Characters are now recording metadata concerning the matches they take part in, in order to use it as contextual memory. Metadata can be reset (see below)

Wins/draws/losses are now available in the character stats view

More statistics as well as information concerning the overall / last match performance against a selected character can be accessed by pressing 'more...' next to the 'Win/draws/losses' in the character stats view

Added 'Very hard' difficulty level

missionary_dominant_breed and missionary_power_fuck are now considered humiliating and cause target anger

Dialogue and scripting conditions (internal and dialogue / action modding use):

Added: is_first_encounter, actor/target>is_challenger, actor/target>is_opponents_nemesis, actor/target>is_opponents_victim, actor/target>is_opponents_main_rival, actor/target>is_overall_frustration_high, actor/target>is_overall_frustration_medium, actor/target>is_overall_frustration_low, actor/target>is_recent_frustration_high, actor/target>is_recent_frustration_medium, actor/target>is_recent_frustration_low, actor/target>is_current_frustration_high, actor/target>is_current_frustration_medium, actor/target>is_current_frustration_low, actor/target>is_overall_turning_the_tide_against_opponent, actor/target>is_overall_losing_the_edge_against_opponent, actor/target>is_overall_on_a_domination_streak_against_opponent, actor/target>is_overall_rivalry_trend_stable_against_opponent, actor/target>is_historically_stronger_than_opponent, actor/target>is_historically_weaker_than_opponent, actor/target>is_historically_equal_to_opponent, was_last_settled_match_close, was_last_settled_match_a_draw, actor/target>won_the_last_settled_match, actor/target>is_mostly_in_control, opponents_have_equal_control, actor/target>is_turning_the_tables

Other:

Anger is now correctly reflected in the characters' expressions

Expressions are now more pronounced

Camera performance optimizations (use the cached bone indices, instead of calling find_bone on each frame)

Improvements to the follow cam (C2). Slightly more dynamic, smoother rotation

New conditions available: has_exposed_breasts, has_exposed_chest

The game does no longer allow starting a match with characters that have the same name. As such, both the 'Continue' and 'Scenario' buttons on the second character selection screen will be disabled if you either selected the same character, or you have created a new, unsaved character sharing names with the first character selected. This is done to prevent issues under the hood and simplify character metadata collection during matches

Added 'Reset memory' under 'Edit manually' / 'Tweak / reset...' in the Character editor. This immediately and permanently resets win/draw/loss stats, and removes any memory of their past matches. Other characters' memories re: any interactions with this character will also be removed

Updated Note information under 'Edit manually' / 'Tweak / reset...' and color coded buttons

'Edit manually' has now been renamed to 'Tweak / reset...'

Improve the way animations are loaded / cached

Fixes:

fix not removing all method tracks from timeline animations (potentially leaving behind older events)

fix timeline speeds not being reset when playing a new paired animation

fix tribbing_top_target_to_dominant_low incorrect reverse actions

fixed left/right rotation direction when using keys to rotate view in POV

fix Gallery not applying anger changes per action

fix straddling_escape_reverse_bearhug playing the hand unwrapping animation twice in certain situations

fix orgasm able to carry on in the background after quitting the match (match characters are now properly reset when exiting, instead of just pausing them)

fix characters losing their starred/favorite status on rare occasions when using repair

fix potential issues if player quits in the middle of executing action related logic

fix 'Reset stats' not un-sandboxing the character

fix incorrect willpower and stamina until game restart after increasing the willpower / stamina stats by allocating xp points

skip invalid material keys instead of failing when loading outfits

Downloads:

This version is no longer available. Please download one of the newer versions (check this Post for the latest version).

dna PATREON 265 favs
VIEWS1
FILES8 files
POSTEDMar 20, 2026
ARCHIVEDMar 20, 2026