1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Bukkake hairs/ bodies

Discussion in 'SDT Requests' started by 8bitwarrior32, Oct 4, 2016.

  1. 8bitwarrior32

    8bitwarrior32 Potential Patron

    Joined:
    Sep 18, 2016
    Messages:
    1
    Likes Received:
    0
    Hey can someone pls make some more bukkake hair imports and/or mods? Thank You <3
    [​IMG]
    Something along the lines of this except as an import.
     
  2. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,522
    Likes Received:
    354
    Hi @8bitwarrior32. Welcome to the Undertow forum.

    There's a full-body mod by @Faceless, and three face mods by @cmurder. As mentioned in the Request Rules, you're supposed to identify any pre-existing content (such as the mods that I've just listed) when making a new request. Rationale:
    • it gives you the opportunity to explain why those mods are insufficient, incompatible, outdated, unacceptable, etc
    • new users who find your request will benefit from a quick glimpse of the existing material -- your thread will help them to discover some existing content
    • modders generally like to see people talking about their work; it encourages them to make more mods
    You don't need to copy-paste the links again, but please explain what's wrong with the existing mods, or describe what the new mod(s) should do differently.

    That specific appearance probably isn't feasible. SDT draws imports (such as clothing and hair) using a small set of sprites for each item. Strands (of saliva or semen) are more complex and costly to draw; they tend to reduce the game's framerate very quickly.

    For performance reasons, bukkake mods usually draw semen on the body using static sprites. We could write a bukkake mod which actually adds a bunch of strands to the scene (e.g. spanning between the chin and collarbone, as shown in your screenshot), but then we'd suffer the usual FPS penalties. Therefore, the typical goal of a bukkake mod is to present a set of static sprites which mimic the appearance of semen strands -- but without any of the complex shading or physics. Bukkake mods also usually refrain from covering the mouth or eyes, because those elements are important in establishing a character's identity and communicating emotions.

    You can disagree with these points. You might want a full-face bukkake coverage which makes a girl unrecognizable. You might not care about the FPS penalty. That's okay; just say so explicitly, so that modders can understand what you expect.
     
  3. DKOC

    DKOC Potential Patron

    Joined:
    Dec 18, 2015
    Messages:
    13
    Likes Received:
    1
    Question stuntcock; couldn't you set a physic built strand to turn into a static sprite, no longer affected by physics? I ask (and know this is quite different) because in the game Dark Souls, when the enemy died, the body would ragdoll for about 1 second, and then go completely still and unreactive to any actions and would act like a static object.

    So in theory, you could cause any strands present to turn into a static object when you say hit a hotkey.
     
  4. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,522
    Likes Received:
    354
    In theory, yes. The physics isn't very important, though. The cost of computing the shape of a strand is <1% of its performance impact.

    The actual problem is visual composition. Each strand occupies a separate layer in the scene. Flash is very inefficient at merging all of those layers into a final image, because it cannot employ the GPU effectively. If you add a enough shapes to the scene (especially if they're semi-translucent or use fancy blending rules) - then the game will become unplayable.

    For a more practical example: setup a modest bukkake scene (approx 20 strands). Notice that your FPS has degraded. Disable "Strand Shaders" in the Options menu. Notice that your FPS recovers slightly. The physics cost is unchanged; we've reduced only the graphical workload. Yet we achieve a noticeable improvement -- because the physics cost was not a significant factor.


    When creating a "Bukkake.swf" file, we treat strands as "brushstrokes". We can draw them in clever positions and shade them carefully. But before we publish the file, we're forced to merge them all into a single static element which will sit upon one part of the girl's body (chest, thigh, head, etc). Even if the strands have been drawn in a way which suggests that they're hanging off the girl's body, they cannot dangle, stretch, or bounce at runtime -- because the modder has made them solid.

    @cmurder's Bukkake Face Mod is a minor exception, because he uses the built-in Earring behavior in order to draw a dangling strand (on the earlobe). Still, this "strand" possesses none of the usual physics behavior. It cannot stretch, it cannot attach to things, it cannot be curved or deformed by movement. It behaves like a solid pendulum.
     
  5. DKOC

    DKOC Potential Patron

    Joined:
    Dec 18, 2015
    Messages:
    13
    Likes Received:
    1
    So, the number of layers created by 20 strands is the massive computational cost or 20 layers, is the costly part of having those strands?
    Could SDT be modified to create only 1 layer with 20 strands, instead of 20 layers? Or alternatively 2 layers, to support the illusion of depth without the performance hit, where the strands alternate between being on layer 1 or layer 2 with each strand produced?

    What causes the massive bottleneck on framerate with the visual elements? I have a Six-Core 3.3ghz/core machine with 16 GB of DDR4 RAM with a Titan X 12GB card (ignoring the card as you stated it doesn't work with the GPU well). Most older games runs much faster, but SDT runs about as fast on my old laptop with Quad-Core 2.0ghz/core with 8 GB of DDR3 with an integrated Optimus Graphics Card. Based on having at least double performance of my older computer I'd assume bare minimum at least double performance on this current rig but that isn't the case. But yet I don't get a massive performance boost. If I'd have to wager, it almost appears that flash is capped to 1GB of RAM and a single core for a computer, so the only boost I'd get is from the CPU.

    How is the physics cost insignificant? If the physics is what causes the shape change, and shape change is the costly part, then if you completely disabled the physics, then in theory you should get a massive performance boost. I ask because it "appears" that you contradict yourself in the last paragraph with stating that the computational cost of the ear strand is minimal because it lacks physics attached to it. So, when you state the physics cost is insignificant, are you referring to the mathematics used to calculate the deformation of the shape, or that the shape is deformed because of physics and thus each deformation is costly as each deformation causes a visual performance hit. Could you clarify this for me please?
     
  6. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,522
    Likes Received:
    354
    Not really. If two elements are capable of independent movement, then Flash draws them on separate layers.

    Imagine a spiderweb. It consists of many individual threads. It's possible to twist or stretch one section of the web while the rest of the web scarcely moves. Some threads could be broken, and the spider could then repair them. If an insect lands on the web, its struggles will send vibrations rippling across the web.

    Now imagine a photograph of a spiderweb. You can rescale the whole picture or stretch it on a particular axis, but you can't make any internal edits. All of the details and relationships are fixed. If an insect lands on the photograph then nothing will happen.

    Flash has trouble with spiderwebs. A Bukakke.swf file is not a spiderweb; it's a photograph. It therefore has very good runtime performance, but it won't do any cool physics stuff at runtime. We have achieved performance by eliminating interactivity.

    Not really. Reducing the thing to two layers means that you have two photographs instead of one. You can achieve slightly more impressive visuals with two layers (e.g. parallax scrolling), but it's woefully inadequate for a full-body bukkake scene.

    Short answer: Flash sucks. Long answer: stop derailing this thread with your perfectly reasonable questions! Go here instead :)

    Yes, but then we quickly come back to the "photograph" idea.

    We could press a button and tell SDT to collapse all of the existing strand elements into a single static sprite. The performance would immediately improve.

    But then 100ms later ... this static sprite would no longer be appropriate. The girl's body will have moved. We'd need to restore the strands, draw each of them in the new position, and then collapse them back into a static sprite. The complexity of this task is so high (and the expected FPS improvement is so modest) that nobody has bothered to try -- as far as I know. I considered implementing something like this (in order to improve the FPS for complex hairstyles) but quickly gave up.

    @cmurder's ear-strand is an exception to the principle that "Bukkake.swf mods are totally static and never show any physics whatsoever." That mod uses rudimentary physics. Since it's capable of independent motion, it occupies a separate layer and incurs a graphics cost. The physics cost is trivial. The graphics cost is small, because it's only one element.

    If you injected 30 of those "earring" semen-strand things into your game, then your FPS would plummet.

    Neither. The cost is incurred during each frame-draw operation. Physics isn't directly relevant.

    Ask Flash to draw a chain consisting of fifty links with physics-based animation. Swing or bounce the chain around and watch the disturbance ripple across its length. Your FPS will be shitty.

    Dangle one end of the chain from the ceiling of the scene, so that it forms a vertical line. Cancel out any residual momentum. We'll perform physics calculations on each frame, but they will not change the position of any link. The chain is perfectly at rest. Your FPS will still be shitty.

    Tell Flash to stop doing physics calculations. The chain will no longer respond to any disturbances. It will remain in whichever shape it occupied when you send the "stop" command. Flash will no longer spend CPU cycles on physics math. Your FPS will improve by less than 1%.

    If you want to significantly improve FPS then you must either remove elements from the scene, or merge them together. So long as elements within the scene are visible, and are capable of independent movement (regardless of whether or not they're actually moving right now), those elements will incur a significant cost.

    ---------------​

    Any further discussion of Flash performance should be moved to the other thread (note: you'll probably want to read through some of the posts in that thread before replying, because they'll help you to understand the limitations of Flash). If you want a new Bukkake.swf mod then please look to the second post and answer those questions - what's wrong with the existing mods, what should the new mod do differently, what should the new mod look like, etc...