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

chains

Discussion in 'Loader Requests' started by srotu, Jan 19, 2013.

  1. srotu

    srotu Avid Affiliate

    Joined:
    Dec 13, 2011
    Messages:
    122
    Likes Received:
    0
    i was wondering if there was any way to get some chains added going from her wrist to her ankles and from her neck to the floor in front of her. thanks in advance
     
  2. Fenris

    Fenris Avid Affiliate

    Joined:
    Jan 11, 2013
    Messages:
    134
    Likes Received:
    0
    I like this idea.
     
  3. evilmoers

    evilmoers Avid Affiliate

    Joined:
    Jul 27, 2011
    Messages:
    102
    Likes Received:
    0
    I second this.
     
  4. CasualObserver

    CasualObserver Potential Patron

    Joined:
    Dec 14, 2012
    Messages:
    11
    Likes Received:
    0
    Oh yes, this would be awesome.
     
  5. dantethedarkprince

    dantethedarkprince Club Regular Content Creator

    Joined:
    Jun 15, 2012
    Messages:
    2,625
    Likes Received:
    58
    I like the cyborg armor ;D. I think I'm gonna have to try to make that as a mod. Hmm.... the chains. Well the problems faced with this request is that they would have to be attached to the floor as well as the cuffs. Then you need to remember, that there are four arm positions, "behind back", "on his legs", "on her legs", & "loose". They would definitely need to be dynamic; a series of somewhere in the area of, maybe 200 interlocking chain links, per chain... for both arms.
     
  6. Idkwhatsgoingon

    Idkwhatsgoingon Potential Patron

    Joined:
    Apr 13, 2013
    Messages:
    2
    Likes Received:
    0
    Bump for chains!

    Would do it myself but I am not in the know how....yet.
     
  7. Fenris

    Fenris Avid Affiliate

    Joined:
    Jan 11, 2013
    Messages:
    134
    Likes Received:
    0
    Not sure if word filter or just really, really enthusiastic. ;D
     
  8. Jazzsession

    Jazzsession Potential Patron

    Joined:
    Oct 21, 2011
    Messages:
    28
    Likes Received:
    0
    Must be a futa fan.
     
  9. Xfactor

    Xfactor Potential Patron

    Joined:
    Mar 15, 2012
    Messages:
    11
    Likes Received:
    0
    Here's some suggestive images:
     
  10. astounded

    astounded Avid Affiliate

    Joined:
    Apr 15, 2012
    Messages:
    148
    Likes Received:
    4
    Yes please ;D
     
  11. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,524
    Likes Received:
    356
    I noticed this thread while running an unrelated search, so I'm necro-bumping it.

    [​IMG] [​IMG] [​IMG]
    Yes there is. Click for animation sample.



    [​IMG] [​IMG] [​IMG]
    Yes there is. Click for animation sample.



    You'll notice that these examples are rudimentary. I've used brown-leather "leash" designs instead of actual chains, because that's currently all I've got.

    Limitations:
    • this solution is dependent on the Loader. It is not a vanilla import, and I cannot provide a vanilla version - so don't bother asking.
    • the mods also depend on sby's template extension, because it allows for straightforward anchoring at the wrists.
      • it's possible to remove this dependency, but doing so would make the modding work slightly more cumbersome.
      • If you believe that there's a good reason to do so (e.g. "the template extension interferes with my dialogue mods!"), then please let me know.
    • these leashes/chains do not constrain motion. If you move the character's limbs too far apart (or lean the character too far away from the restraint point) then the leash/chain will become taut. If you continue the movement, the leash/chain will visibly stretch so that it can span the full distance.
      • there's a conceivable scripting technique which could constrain motion, but it would introduce huge compatibility hazard and is probably not worth the effort of implementation
      • to reduce the likelihood of visible chain-stretching (which would presumably undermine the whole "bondage fantasy" experience - unless your fantasy involves She-Hulk), I'm going to suggest that chains be made longer than necessary (e.g. +50%).
      • This would normally cause the excess length to droop down "through" the floor (which looks stupid), but we can force the excess chain to lie flat against the floor instead. The floor behaviour is shown in the screenshots above.
    • leashes have a moderate impact on the game's performance (framerate). A proper chain would have a larger impact because its segments are smaller and therefore more numerous.
      • As Dante mentioned, a 200-segment chain would be infeasible. Therefore I'm planning to either make the links fairly large (so that the ankle↔wrist distance is ~20 links) or use small links but "weld" 2-3 of them together to form each segment (so that the ankle↔wrist distance is ~50 links but only ~25 segments).
      • Even with the aforementioned segment-conservation stuff, you probably won't be able to have 5+ chains on-screen at the same time without completely destroying your framerate.
    • Chain-related stuff may not respond to RGB sliders.
      • It's technically feasible to recolour them, but we quickly run into UI confusion.
      • Leashes respond to the Collar sliders (because they're associated with the neck) but chains can potentially link many different limbs. If you have an ankle-to-wrist chain, then does it take its colour from the ankle slider or the wrist slider? What if you have two chains attached to the wrists, but the user only wants to recolour one of them? What if the user wants different colours on the chains attached to the left and right ankles?
    • It's possible to re-use this code but shift the chains from "industrial chain" to "jewelry."
      • For example - a thin golden chain attaching pierced nipples to a pierced navel.
      • I'd like to defer this topic for now. Let's focus on the big stuff.
      • Later on, we can quickly add jewelry by scaling down the artwork that we've generated. It will, of course, benefit from any optimization or UI improvement work that's been accomplished in the meantime.
    • chains can be intersected.
      • For example, you chould setup a "Y-shaped" chain which joins both wrists to a single restraint point on the floor.
      • as with the Jewelry idea, I want to defer this until the basics are in-place.
    • I'm a bit squeamish.
      • If you post stuff involving serious injury, asphyxiation, burning, blood, disfigurement, etc... then I'll simply ignore your post.
      • If you persist then I'll leave the thread.
      • I understand that violent stuff can occur in real-life between consenting adults, without actual malice, in a controlled environment with proper safety precautions. I understand that extreme violence can occur in personal fantasies without hurting anyone at all. That's fine; I'm not here to judge. I just don't want to work on stuff which makes me uncomfortable.

    Feedback and Involvement:
    • we need reference images. Remember to follow the Guidelines! High-resolution images with clean backgrounds are prefered.
      • chain links. Ideally they should show a silvery metallic lustre, but without prominent reflection spots (because reflection implies a directional light source, and the fixed spots look bad/wrong whenever the chain's orientation changes). If there are a few reflection spots then we can edit them out later.
        • the reference image must show a repeating pattern (e.g. 2 orthogonal links for transport chain). A single link probably won't suffice.
        • if you'd like to see "alternate skins" (e.g. dark cast-iron, bright gold, mottled brown/red rust, magical chains surrounded by a glowing aura, etc) then go ahead and find references. If someone has already vectorized the chain shapes, then you can open the files in Inkscape, adjust the colours, save, and then upload.
      • attachment devices. Things that appear at one or both ends of a length of chain, when it wouldn't be practical to weld the final link into the attached object. I've used D-rings and bolt snaps for the leashes, but you're welcome to propose other stuff. Padlocks? Karabiners? Swivel mounts? Magnets?
      • costume components. Handcuffs, ankle cuffs, leg irons, collars, etc... Remember that we need side views; face views are useless. If nobody can find any interesting designs, then I'll just slap some D-rings onto the basic SDT leather cuffs.
      • props. Things that might appear at a fixed position on the stage and be connected to one end of a chain. A hitching post? An overhead pulley? A bigass cinder block with a rebar O-ring embedded in it? The old ball-and-chain? A naval anchor? I'm just guessing here; other suggestions (or images) are welcome.
    • once we've found some good reference images, they must be traced. I'm delegating this task to you SDT forum lurkers. If nobody is willing to trace stuff (it's not that hard, folks!) then nobody gets to play with chains.
    • If you know of any existing SDT imports which could potentially be incorporated into this project, then post a link (and/or contact the author and ask them if they're okay with it).
    • In the meantime, I'll tackle some refactoring and extension of the physics and rendering code.
    • I'll also do some exploration of a "modular" system for attaching chains to props and costume elements. The existing leash system is inconvenient for users because it forces people to mess around with separate SWF files (or fiddle with MoreClothing configuration).
      • Ideally I'd like to provide drag-and-drop functionality -- but that's a VERY ambitious goal so don't hold your breath.
    • As vectorized artwork becomes available, I'll import it into Flash and release some SWF files (reminder: these will generally be Loader mods, but I may release vanilla SWFs for costume elements such as collars). Bug reports and feedback will be welcome.
    • If you have any interesting scenarios that you'd like to create, then feel free to describe them (or post a sketch).
      • if your idea is feasible with the existing resources then I'll try to provide a usable SWF
      • if it's currently infeasible, but the idea if valid, then I'll try to extend the code
      • if the necessary artwork does not yet exist then you'll need to find references and do some vector-tracing

    Moderator note: this request is impossible to fulfill without the Loader, so please feel free to move this thread to the Loader Requests board.
     
  12. VincentL

    VincentL Avid Affiliate

    Joined:
    Apr 24, 2014
    Messages:
    223
    Likes Received:
    3
    While I'm not specifically into chains that much, I think it could offer a nice alternative for the bondage there is already in game, and what you've made so far looks very, very nice. A few comments/preferences I would have:
    - I think they could be slightly shorter/tighter, i.e. without that much of a visible slack (so that they look actually sort of restrictive). Now I know you mentioned that things get weird when they are too stretched, so it's probably a question whether it's possible to set it that way and still make it look good. Or possibly two versions could be made, one shorter and looking more restrictive, one looser?
    - I'd say framerate is the priority. Or there's just as well the above route again, with two versions, one more detailed and less FPS-friendly, one simpler and more straightforward. My SDT slows down heavily with mods, unfortunately, especially detailed ones.
    - RGB sliders are always cool, but if impossible, I think the good old black is the best choice for any bondage gear - makes sense for any kind of scenario. Or if chains, then of course a dark grey.
    - I like the "jewelry" idea very much personally, I like elegant-looking bondage a lot, but then I can understand if that's not priority.
    - I'm with you on the "a bit squeamish" idea, I like some bondage a lot, but would be grateful if none of the things you listed appeared here.

    As for pictures, I have few at the moment for chains specifically, but I might dig something up (and may do some looking, you know, in the name of science). Unfortunately I can't promise miracles.

    If there's any specific help you need, please let me know - I can't promise miracles here either, as my mod-designing skills are non-existent so far, but I'll see if there's anything I can do.
     
  13. Faceless

    Faceless Club Regular Content Creator

    Joined:
    Jun 12, 2011
    Messages:
    1,118
    Likes Received:
    22
    I personally am not concerned with compatibility, so if you feel like implementing it I would love constraining. That's one of the reasons I haven't given this a shot; I don't feel that there's a point in making a mod like this if she's not actually chained down.

    Plus, doing that would put a limit on the number of elements in the chain, which would improve performance.

    Although actually, now that I think about it some more, I could probably just use animtools to crudely simulate constraining, since that's basically what I did with my tentacle mod... Ah, but I'd still need to set the anchor points, and I don't feel like figuring out how to do that right now.
     
  14. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,524
    Likes Received:
    356
    "Compatibility" in this context means "compatible with Animtools." I don't really care about dialogues, wings, penis replacement mods, etc... But if the constraint behaviour must be hardcoded for kneeling-fellatio scenes then I'd consider it a failure.

    My basic proposal is:
    • rope tension is calculated during each frame (note: the mod already does this)
    • define a critical tension. There would be a default value (e.g. 110%) but modders would be able to override this with a custom value (in the same way as they specify custom values for gravity, mass, elasticity, etc).
    • establish a relationship between ropes and IKControllers (a hardcoded enum would probably suffice for the initial implementation)
    • proxy the IKController.newTarget method
    • when newTarget is invoked, check back after <n> frames.
      • if the tension value of the attached Rope is stable, allow the change (i.e. do nothing)
      • if Rope tension has become critical: do something.
        • the nature of "do something" is subject to debate and experimentation. "Revert to the most recent stable target position" is a possibility, but so is "set a new target which is closer to the opposite endpoint of the constraining Rope" or "drag the target point back along the vector of the proximate segment of the constraining Rope."
        • The code would probably need to support ALL of these options, and then give modders the ability to choose one or more reconciliation techniques when setting up chains. Or maybe give end-users the ability to decide via Settings files.


    Complications:
    • There's a huge set of special cases.
      • For instance: handcuffs, with leftHand on her legs and rightHand performing a handjob. Do we treat the leftHand as static (so she performs a jerky constrained handjob with rightHand) or allow the "momentum" of the rightHand to drag the leftHand partially away from its resting position on her thigh?
      • If we tackle all of these special cases, then the mod code will become bloated and difficult to maintain. If we don't tackle them, then the in-game behaviour will probably be silly and the mod will go unused.
    • this approach is applicable only to arm movement (and maybe leg movement, with a few hours of additional work). The girl's head can move during gameplay, but it isn't directly influenced by IKControllers. If we wanted a chain-constrained collar then we'd need to delve into the LinearTween class as well.
      • in order for the constraint to be enforced, the mod might need to drag one or both characters into a position which isn't even on their LinearTween path. This would create significant compatibility risks (e.g. for bodyContact tracking).
    • when animtools loads a new scene, it may take several seconds (many dozens of frames) for the ropes to settle into a stable position. The mod code would need to allow these adjustments to occur, and then gradually phase-in the constraint behaviour after the oscillation had dampened down.
      • If the user moves the characters during this settling interval (e.g. because they inadvertently left Auto Mode on while loading a new position) then the necessary stabilization may not occur within the allotted timeframe. The scene may get frozen into an absurd position (e.g. characters folded into pretzels).
    • That basic "leash" stuff was an adaptation of Dynamic Hair code -- involving hair strands anchored at the scalp but tied together with other hair strands (e.g. by a barrette) or linked to limbs for body-conformal hairstyles.
      • The chain-constraint stuff has no such overlap. It would be something done entirely for its own sake.
      • Because there's no potential for code re-use, and there's little apparent interest in the chain-constraint feature itself... it isn't worth spending the 50-100 hours needed to make it work properly.
      • It would be possible to create a 5-hour proof-of-concept implementation and upload a few animation samples, but it would be a "dick move" to do so when I have no intention of actually releasing a finished mod.
     
  15. Faceless

    Faceless Club Regular Content Creator

    Joined:
    Jun 12, 2011
    Messages:
    1,118
    Likes Received:
    22
    Why does it need to handle all cases? I mean, the original request is for a pretty specific case, with a pretty specific reference. "Chains binding wrists and ankles" is inherently different from "handcuffs" since the latter implies a freedom of movement that isn't expected with the former. Certainly, I doubt anyone will complain if you go above and beyond to handle multiple cases, but I feel that some of these possible cases are sufficiently removed from the request that they should be fairly low priority.
     
  16. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,524
    Likes Received:
    356
    The original game included a Rope class. It was hardcoded and heavily fine-tuned so that it would produce reasonable results when applied to hair strands hanging vertically under the influence of gravity. These ropes never really behaved properly when the scene gravity was modified. The body-collision and clipping problem was partially solved, but it used techniques which were CPU-inefficient and it could prevent clipping only in a few special cases. The impulse feature is so unreliable that most hair mods don't even activate it.

    The code had to be extended and re-written to handle non-vertical hair arrangements with reasonable physicality. Bizarre FPS-degrading tricks were needed in order to produce actual "rope" behaviour - viz: a semi-elastic object with multiple internal hinge-points and rigid connections to two or more anchor points within the scene. I have (very belatedly) found a fix for one of the main FPS sinks, which is why I'm trying to revive this project and soliciting new artwork.

    Because the initial Rope implementation was half-assed, the total effort needed to solve the problem was unreasonably large.

    I do not intend to deliver a half-assed solution for a small portion of the Chain constraint feature.

    The reference images suggest that the arms would be in the "Loose" position, but that they'd perhaps be pulled slightly backwards from the midline of the body. Note: please feel free to disagree with me here - especially if you think that I've misunderstood the Request or overlooked a simple approach. Bondage isn't my thing, and it's possible that I've misunderstood the dynamics or kinematics of the scene.

    "Loose" arms can actually swing quite a bit during rapid body movement -- the left hand can rise high enough above the thigh to be fully visible. The mod would need to constrain this rotation into a much smaller arc (to avoid stretching the chain). This can be done easily via IKController - it's a few hours of work at most. The result would be that the arms still swing (they retain some freedom of motion) but that their motion would abruptly halt whenever the chain is pulled taut.

    But... if the girl lifts herself up as far as possible (by extending her thighs and calves), then merely constraining her arm rotation would prove insufficient. Her shoulders are simply too far away from her ankles! Either the chains will visibly stretch/break, or her elbows will become dislocated. So we need to dig into the LinearTween class as well, and set limits on her allowable range of movement (e.g. by performing a one-time rewrite of the LinearTween endpoints, or by intervening in real-time to change the target position).

    Thus - even if we try to tackle this Request in isolation, we still encounter many of the complications mentioned in the previous post. In my opinion, we ought to either deal with the entire problem (in a way that covers Rope, IKController, and LinearTween) or just shelve it (e.g. forget constraints, make the chains extra-long, and focus on integrating them into the scene in interesting ways).

    The fact that nobody has bothed to put in 2 minutes of effort to Google "chain images" and post a few reference pics... kinda confirms my suspicion that there isn't much interest in this feature and that it wouldn't be the best place to invest 100 hours of modding work.