Hmmm. The main news I have to share right now as far as development goes more or less boils down to “I’m still working on Project Wild One, and things are going a little slow at the moment because I’ve ended up working on a whole bunch of math.” It’s been a long time since I took a math class and I suspect I could be doing some of this a little better/faster, but I’m working out a lot of the formulae I need behind the scenes to make things “work.”
And the more I’ve been working on it, and the harder it’s gotten to get things just right, the more I can’t help but imagine that if I tried to explain what I was working on to anyone else, they’d just ask, “why are you even bothering to go to all that trouble for that?” And… in a way, that’d be a fair question? But it’s also one that I think is pretty important to the whole “point” of this Project, so the more I thought about it, the more I felt like this would actually be a good time to explain some of that.
I’ve touched on this some in the past, but I strongly believe that games are an exceptional medium for sexual content because immersion is one of the greatest strong points of video games, and sexual content cares about immersion more than maybe any other kind of content does. In other words: porn works best when you really feel like it’s “happening,” and games are better than movies or books for making you feel that way. But I’ve seen so little gameplay really embrace that strength and put the sexual content right in the interactive experience! It’s almost all just… trying to attach you to the character through gameplay, then you watch or read about sexy things happening to them.
What I want to do is experiment with putting the action of the sex right in the gameplay that makes it feel much more “alive” and much more like it’s happening right now. Not something where you have to overcome some challenge to read my elaborate, pre-made sex scene, but something where your actions lead to sex, and your actions during sex can influence how things turn out. I’ve played a few games that do play around with this idea at least a little, and when it feels like a character actually acts in an unexpected but believable way to do something during sex that you couldn’t have predicted, that had a really powerful effect on me! I want to enable more moments like that.
The term I’ve seen thrown around occasionally was “emergent gameplay.” The idea being that if you set up all the pieces just right, then gameplay will happen on its own, naturally, without having to be planned out by anyone behind the scenes. So when you run into any character, it’s very open-ended what will actually happen with them, whether they’ll come to like you or despise you, attack your or seduce you, and how things play out from there.
A lot of what I’m describing there comes down to AI, which is still way down the line for me, but right now I’m basically trying to build a sort of very loose “sex physics engine.” I’ve described a lot of sex, and I’ve seen a lot of fantasy sex, and I feel like I have a loose understanding of how things can “happen,” and I want to be able to replicate that reliably in this game. I want it to be able to understand that your dick is too big for this hole, but with either a lot of patience or a lot of brute force you might make it fit– but there will be repercussions for that. This is very basic stuff in a way, but it’s fundamental to a lot of decisions AI will need to make later as far as what’s “practical” and what the repercussions may be for different actions.
But more than that, I love the idea of you choosing to do sexual things and seeing it actually “matter” in the gameplay. If you try to take a large penetration, it’ll wear you out, and you’ll need to rest up or risk being vulnerable in your next encounter– or, it might help “warm you up” for an even larger insertion shortly after. Some of this will sound pretty silly, but in a way, I’m basically trying to lay out some hard and fast rules for how “furry physics” works so that you can actually play it out, in the moment, how you want to.
And of course, that’s going to be tough. I’m even trying to include options for accommodating some pretty niche fetish stuff that tickles my interests at least. I’ll never be able to include everything, of course, nor even a quarter of the stuff people might wish for in the wide world of crazy sex stuff, but I’m hoping that if I can develop a robust foundation, it might be practical to open it up to further improvements/additions from others way down the line.
That is basically my driving passion behind this Project: to take a (very) loose stab at a physical furry sex engine to enable all sorts of lovely shenanigans and let their consequences play out accordingly. I’d love to include some level of AI on top of that to make characters engage with this system in a stimulating way, but this interaction system itself is probably the real star of the show, to me, all on its own. That means a lot of my work is gonna be very much behind the scenes on this one, but I’m hoping that will pay off in the end. The first prototype for this one may be especially abstracted from what the actual game will be like just to try and show off the basics of how this engine works, I think.
It’s been tough work, but I’m excited to see it all come together, and I hope that now, you might be feeling a little of the same! Thanks for reading!
Dont pull your hair out on this one, projects like this arent the best to work on due to the lack of visible progress but if you stay positive it could be quite fun. Always excited to see what you come up with
Might be sensible to cross-reference with existing code. Both Trials in Tainted Space and Lilith’s Throne have GitHub-Repositories and have been tackling similar issues at some level of abstraction.
From memory, Lilith’s Throne might be the one “more serious” about it: For your example of penetration, it already considers girth vs. width and length vs. depth (but not shape vs. shape, which might be your requirement – any shape vs. shape algorithm would of course handle dimensions automatically, so getting one of those might be beneficial; of course for certain body types – you have that Goo scene in MvoL – one might as well consider switching to a simpler implementation, e.g. only considering volume vs. volume.)
Links for convenience:
(other projects with existing code)
https://github.com/Innoxia/liliths-throne-public
https://github.com/OXOIndustries/TiTS-Public
(keywords and techniques if you want to go the shape vs. shape route)
https://en.wikipedia.org/wiki/Image_moment#Rotation_invariant_moments
https://www.researchgate.net/publication/220464848_Model-based_detection_segmentation_and_classification_for_image_analysis_using_on-line_shape_learning
Might be sensible to cross-reference with existing code. Both Trials in Tainted Space and Lilith’s Throne have GitHub-Repositories and have been tackling similar issues at some level of abstraction.
From memory, Lilith’s Throne might be the one “more serious” about it: For your example of penetration, it already considers girth vs. width and length vs. depth (but not shape vs. shape, which might be your requirement – any shape vs. shape algorithm would of course handle dimensions automatically, so getting one of those might be beneficial; of course for certain body types – you have that Goo scene in MvoL – one might as well consider switching to a simpler implementation, e.g. only considering volume vs. volume.)
Links for convenience:
(other projects with existing code)
https://github.com/Innoxia/liliths-throne-public
https://github.com/OXOIndustries/TiTS-Public
(keywords and techniques if you want to go the shape vs. shape route)
https://en.wikipedia.org/wiki/Image_moment#Rotation_invariant_moments
https://www.researchgate.net/publication/220464848_Model-based_detection_segmentation_and_classification_for_image_analysis_using_on-line_shape_learning
Sorry, looks like you’re right! The blog ate up this comment automatically and I had to go dig it up. I guess it automatically blocks just about any comment with a link? Not sure, but I’m glad you said something!
Hmm. I haven’t looked at their systems directly, but I’ve played both and yeah, at this point I’m pretty confident my game’s mechanics for orifices and insertions are already more involved than either of theirs in a few different respects.
I’ve looked over these articles briefly and I’m not sure, but it doesn’t really look like it’d directly apply to my work here, it seems to be more about efforts to teach computers to interpret photos? If anything, the main things I’d still need to figure out from here would be more about the properties of flesh when it stretches, and how much work it takes to overcome friction and such. I did a little research into these, but I’ve kinda placeholdered a lot of that to flesh out later.
Thanks for going out of your way to offer help and feedback, though! Nice to see folks are interested in this and not just wanting me to glaze over it like other creators do.
Basically, because computers cannot see, mathematical “moments” (search term) describe numerically what points of a shape are “the important ones”.
Moving these moments can be used to model distortion. In medical image processing this is used to answer the question: “Is this an with a tumor or is it not at all?”
Because moments (after their extraction from some image… e.g. a cavity rolled out onto the 2D plane) are just nodes of a polygon (the smallest enclosing or the largest inner polygon, typically), they can then be distorted using a spring-based layout algorithm (Wikipedia tells me the general name for those is “Force-directed graph drawing algorithms”… I omit the link for obvious reasons) and the difference between ideal coordinates of each moment and distorted coordinates can be used as a quite literal… “fitness” function for how well… the partner.. “fits”.
(Probably using something simple like “maximal value of all divergences normalised on a scale in [0, ].)
The algorithm then should look about like this:
– get a 3D model of your cavity
– plot an axis between the center of its entrance and the deepest point
– roll out the model around this axis to procure a 2D projection* (there should be some premade solution for this, but I cannot provide search terms, sadly)
– extract moments to define the cavities maximal inner polygon (the number of nodes depends on the kind of moments you extract; of course, for a less general solution one could hand-craft the polygon)
– repeat for the intruding object, but use the minimal enclosing polygon
– align the two polygons by overlaying their projection axes
– match the two polygons
The nice part is that this is exactly what happens when analysing magnet tomographies: There is a set of ideal shapes and a set of recordings; the shapes are approximated until either they meet or the pre-defined limits are reached… so at this point you get as output:
– Does “it” fit at all?
– If “it” does fit, how comfortably (in [0, 1]) so?
– the fitting shape (for stretching e.g. in train runs)
What you will not get as-is, unfortunately, is a partial fit along the projection axis (again for stretching); cannot say I have an elegant idea how to go about this… probably defining a priority queue for the nodes where “outer” nodes are displaced first and then just dumping the last partial match before limits are exceeded could yield good enough a result.
(You can rotate the projection such that the axis coincides with a coordinate axis and then sort nodes along that coordinate axis; then always distort “lower” nodes first or something like this.)
* – This step is probably optional. You need the axis to align the two shapes, but all the rest should be just as possible in 3D as in 2D with “easy” adjustments on the math… My own experience with multi-dimensional floating-point math, however, is that additional dimensions are generally very much *not* worth the fault obtained from the additional higher-order operations they require. I’d definitely try whether a 2D projection provides enough fidelity before contemplating a native 3D solution, especially as code to do such a projection automatically should be obtainable with some additional Google Fu (e.g. I quickly found a matching Reddit question ‘How do I “unroll” a model onto a plane?’ – link again omitted for obvious reasons; you might also want to take a look at, hé, “Lith Unwrap” which does a similar task in order to map 2D textures onto 3D models).
A weakness of the whole approach is of course, that it does not consider movement. E.g. you might end up with a false-positive, where the two shapes fit perfectly, but there is no valid distortion that allows the intruding shape to enter the cavity shape (this will happen exactly when the shapes are not convex). Just repeating the process for a number of matches where you move the intruding shape along the projection axis would solve that, but I fear it would also be too expensive in terms of computational power… then again, it might not be – mayhap resolution can be coarse enough for the results to look and feel valid and sensible and still fit into a resonable timebox.
… Well, I guess, I’ll leave it at that. As you can see the main issue is actually building and then tweaking the whole thing and the risk of failure is rather uncomfortable because failure will only be recognisable once the whole thing is pretty much build *and* extensively tested.
It will also probably not be a helpful model for friction – which I had not considered at all before you mentioned it. The delta between ideal and eventual coordinates of moments can be used to obtain the pressure of the two surfaces and thence adhesion… but then again, for that you could just define the intruding force and use somethink like partial force at an angle of Pi/2 or Pi/4 to the intrusion axis and leave it at that – it would surprise me if a more precise model would provide meaningful gains over that.
Ugh. I hate web text interpreters. Sorry about that: “Is this an with a tumor or is it not at all?” was meant to include placeholders but the haxxor-protection filtered them out because “less than” and “greater than” symbols are obviously evil.
“Is this an [organ] with a tumor or is it not [organ] at all?”
Also sorry for the wall of text. My original post had been intentionally laconic but… I am no good at terse explanations, I fear.
I never came back to this x3 Sorry! Well! I do better understand why you made the connection and suggestion for this system, but I must confess, as proud as I am of the more complex and thought-out system I’ve been developing for handling insertions, THAT is a couple orders of magnitude more complicated than what I’m going for here.
It’s good to know that there’s some tech like that going around for handling this sort of thing if I ever wanted to go super duper in depth! But I’m more focused on, shall we say, “secondary complications” that can come up in various kinky or fetishistic situations x3 So for now, I only want to get so complicated on this aspect. Thanks for all the time and effort you put into contributing and clarifying, though! I love a good explanation for “how things work.”
This is probably the most exciting dev note I’ve ever read, and it’s about math. It’s always been a dream of mine to have a realistic yet non-cumbersome interpretation of physical attributes applied to any game, sexual or not, and I’m so thrilled to see that it may be coming to fruition here. While I regret that I do not have the confidence in my skills to offer direct support (not that I’d expect to be accommodated regardless) I can at least tell you that there’s at least one person who *really* appreciates what you’re doing.
P.S. MVOL is great and I thank you for every bit of soul and care put into it. You’re an inspiration 🙂
Not something I expected to see a lot of excitement over, I’ll admit x3 But I have a passion for “doing things right” with narrative rather than trying to handwave everything, so it’s nice to hear others appreciate going the extra mile on “the little things.” Thanks for your kind words!
…Also confused on why this got two comments on the same day after weeks of silence @.@;
Mmh. Apparently my comment providing references for this kind of work has been eaten. Of course I have not saved it, so I’d have to dig them out anew.
… I was advising to check with the public code repositories of TitS and Lilith’s Throne for two approximations of the task and also had included a research paper on how full shape matching is done in medical image processing (in case you want to outdo the two and implement actual shape matching and deformation).
Mayhap the comment can be found in some sort of spam filter, if not and you’re interested for me to dig out the references a second time, just give a holler.
Like Fig up there I am very exited about this proposal and figured the least I can do is to provide some helpful pointers.
Very interesting idea. Be wary of the pitfall of sex scenes becoming too generic or short as a result of becoming too mechanical (accounting for all possible combinations) though.