You must be 18+ to visit this website
The content on this website is AGE RESTRICTED
Please confirm you are at least 18 years old of age. Otherwise leave the website.
I am over 18 years old
Levy's Lewds profile
Levy's Lewds
18+
Levy's Lewds
I make lewd pony games. :3
Subscribe
Send Message
Levy's Lewds
My uncensored content will be posted here! Rewards are identical between Patreon and SubStar. We're in the middle of a long wait for content due to the current engine work being done- read this if you're new!

See my Patreon for a history of progress update posts.
My free content is hosted on dailevy.space.
Current tasks and progress tracked on my Trello.
Latest subscriber content available on this post! We're in the middle of a long update cycle, meaning the latest version of SHF3 is version .37, with a buggy .38 out there.

Still working on getting this place set up!

Subscription Tiers

$2
per month
Tip Jar

Mostly just a tip jar! Occasionally I do polls, design discussions, post concepts, etc, and you'll have access to those. You'll also get access to any public game release a few days early.

48 subscribers
Unlock
$10
per month
Beta backer

Get immediate access to development builds as soon as they're ready.

I'll also really, really love you.

212 subscribers
Unlock
$25
per month
Crazy person tier

All of the above, plus my undying gratitude and special shout-outs everywhere I can put them. You're seriously amazing. <3

10 subscribers
Unlock
Levy's Lewds
Public post

Progress update- Brain Reactions done!

Huge apologies for missing several weeks of posts. My life got stressful, and I went back to my bad habit of quietly working on code and ignoring everything around me. No excuses here- I just gotta improve my stress management strategies.
Good news though! I've been working on the Reactions systems. It has two parts- the Brain's side and Body's side. I finished the Brain's side. It is... a lot of logic, quite technical, but very exciting.
It's also all just code, so I'll do my best to explain if you're interested. If you wanna just wait to see it animated though, that's valid lol. I am a nerd for this stuff >.>;

The simplest Brain Reaction
You define a Reaction on the Brain. It has conditions for triggering. For example, the character feels at most 20% 'happy', 30-80% 'exhausted', and exactly 0% 'nervous'. 
In game, those 3 conditions get evaluated. If they all pass, then we find the average strength they're all passing (so 10% 'happy' and 55% 'exhausted' would be passing at exactly 50% overall). Then that Reaction + average strength gets passed on to the body, which will play the correct animations.
Cool, but limited. We need to support a character who can make tons of unique facial expressions. Each different expression is one Reaction. If 13 Reactions have their conditions met, the character's face will be displaying a mix of 13 different expressions, which will just inevitably be an accidental meme face. 
So we use Reaction Pools.

Reaction Pools
A Reaction Pool is a list of Reactions ordered by priority. Higher priority Reactions override lower priority ones. While this is important for "strong" reactions that should override everything else (like the face made while unconscious, for example), the coolest part of this is defining mixed expressions.
For example, imagine our character is nervous, being tickled, and being edged all at once. There's one expression for being nervous, one for being tickled, etc. If we just said "make a face that's 33% of each of those expressions" then the result would be an unpredictable and probably dumb-looking face.
So instead, we can make a higher-priority Reaction that triggers when all 3 of those conditions are active. A unique 'nervous-tickled-edged' face. Now I can define a specific facial expression to that exact scenario, and it'll trigger instead of making a procedurally-mixed face. 
Okay, but we still want to make use of procedural expressions, even if there's an exact face for this highly-specific scenario. So on each Pool, we define how many "primary" reactions to use. For the face, we (currently) use the top two strongest Reactions in the Pool and blend those together. 
So a 'nervous-tickled-edged' expression would be our strongest, but then maybe the individual 'edged' expression is getting stronger by the second, and so it would make that part of the mixed expression stronger and stronger.

Underlying expressions
This is already pretty good, but we can do better. Even tiny motions on the face can convey a lot. We still want to show a hint more than just the top 2 expressions. But as mentioned, too many complicated expressions mixing together will just look confusing and bad. So if we want to show the hint of an underlying emotion, we need that underlying expression to be very simple so it mixes well into anything.
The solution: 
Each normal expression defines a "simplified" version of itself. So 'pain', 'anger', 'distress' would all simplify to a simple 'negative' expression. If the character is feeling several negative things, but those don't sneak their way into the top 2 expressions, then a hint of the simple 'negative' expression will creep through depending on how strong they feel it.
We can define how many "primary" and "underlying" expressions to use in the data where we create all these expressions. This is a core engine feature and it's not specific to facial expressions, just any Reaction at all. For the face, I want a lot of complexity, so I'm using 2 primary and 1 underlying expression. But for simpler things like ear motions, we'll only have 1 primary and 0 underlying reactions. 
Right, very cool, but there's more to this. I don't need to have only one Pool for facial reactions. After all, blushing isn't really a facial expression like smiling. It should be triggered by completely different conditions. So I can have a separate Pool for blushing. Multiple Pools of varying complexity can overlap.

The overlapping complexity of Pools
Pools add overlapping complexity without everything blending together into uncontrolled mush. The face will use 4 pools. One for the main facial muscles/expression, one for the pupils (like its size, turning into hearts, shininess, etc), one for blushing, and one for handling tears. If I need more/less I can just add another Pool to the game data without touching code at all.
Each Pool controls its part of the face using different logic, so the face can be super dynamic while still maintaining tight control overall. 

Conclusions
Yep, that's where we're at. It was complex. And I need to do a bunch of testing to make sure I'm not missing anything. But I'm very satisfied with how this came together.
Next, I work on the Body Reactions. So the Body's Expression Reactions system will take every Reaction that comes from the Brain tagged as an 'Expression' and turn them all into one singular expression using our facial 'bones/muscles'. 
The last link in this chain is the animation system, which turns the positions of those bones/muscles into actual animations to play on the rig. Thankfully this part's already coded, so it's just that middle step left... plus lots of testing.

But, well, that's it. This is the final feature before I stop, clean up the current set of mechanics, and release the first playable build. I am equal parts hyped and exhausted lol.

...and that's all for now!
I've been utterly destroyed by sleep issues lately. I'm in the process of getting better treatment. It's stressful right now though, cause I never know if I'm gonna wake up and be rested or be worse off than if I'd just stayed up all night. It's impacted my work and personal life a lot. Without my partner's support and patience I'd have completely collapsed without knowing I needed to seek help in the first place.
But instead, I'm making it through, and feel proud of the progress. It's frustrating to not have visual examples for such a big step forward, but that's the next thing I'm working on. 
I really can't fathom how I'd be able to make this stuff work without the insane amount of dedicated support y'all are giving me. Thank you. I'm extremely excited to use this engine in this and many future games. It's thanks to you peeps that this engine's anything more than the silly lil sandbox it started as. 
<3
Comments (4) loading...
Like(16)
Dislike(0)
Levy's Lewds
Public post

Progress update- Reactions code report

uh, I'm coding. end of report.
okay, jk but not really. I just have nothing visual to show atm. If you've seen my last post you'll know I'm working on the Reactions system, which will allow me to add cool facial expressions as well as lots of other benefits.
Last time I showed my outline of it, this week I've been coding it. And it's going fucking great. All of my work up until this point building foundations for this engine is holding up. Every time I think "now how tf am I going to implement this part?" there's already a system in the engine ready for it. Even though I've designed a complex set of interconnected mechanics for Reactions, coding it has been genuinely simple... but tedious.
The engine I've designed is not the fastest thing to code in. For a new mechanic I have to implement a bunch of stuff at once- new data/structures in CastleDB, data interpretation code to bring it into my engine, objects/classes for each new piece of data, new components and systems for actually using it in the ECS, and meaningful outputs and controls in the debugger. 
And, well, that's okay. The engine's strength isn't in fast prototyping or implementation. It's in stability, flexibility, and scalability. This engine hugely overshadows the abilities of anything I've made before because it's just solid. So I'm methodically laying the bricks of the Reactions system right now. And I've had zero issues other than boredom.

Um, so, yep! That's all I have to report for this week. I got a suggestion to add more pictures to these posts, which I think is a really good idea. 
... maybe next time tho >.>;
Thank you, everyone. Your support, encouragement, and excitement help me remember how much I'm excited for the end results of all of this work. It's been a long-ass road, and though we're getting steadily closer to the first playable release, there's plenty more to do before a full-on "1.0" release is in sight. But I absolutely love making games like this, even when I'm tearing my hair out over it. The fact that my silly interest in making over-engineered games has gotten such intense and dedicated support from y'all is just awesome. 
<3
Comments (5) loading...
Like(15)
Dislike(0)
Levy's Lewds
Public post

Progress update- solving reactions logic

Behold my concerning level of dedication to making this engine solid. Tremble and weep if you want, it's warranted.
I started work on Reaction Pools- grouping a set of reaction conditions together so one can override another. Expressions are mostly one big pool of reactions, where only the top 1-3 in the pool are shown. But there was a worrisome fuzziness in my understanding of how this was all supposed to come together. It felt like something wasn't fitting.
So I stepped back from the code and dove deep on planning. This is how it works right now.
It can handle individual reactions fine, but as soon as you have a pool of reactions that are supposed to work together, it's not smart enough. 
On the brain's side... 
We need some reactions (like facial expressions and body motions) not to all be playing at once even if their conditions are met. 1-3ish facial expressions can be conveyed at once as a mix and still look good, but not the 30+ that'll be defined on the brain. 
On the body's side...
The core of the same brain can be used by many characters. Someone with a pony face, a beaked face, or a screen for a face, could all define their own animations per each reaction ID. But what if one face type isn't handling certain expression mixes well? We can only adjust the animation rig itself and pray things won't go weird when unexpected expressions are made. There's no mixing logic, so we're at the mercy of the basic animation code.

The solution:
uhhhh okay it's complex but i got it.
On the brain,
We need to be able to group reactions together and give each one a certain weight/priority within its group. If 10 expressions could be made right now, we take the strongest one and blend in 1 or 2 beneath it. Things need be able to exist independently from the group too, like blushing, tears, etc. 
All that logic is handled on the brain's side before things get complicated. The body doesn't care what things are grouped together, their weights/priorities or anything. It just gets the end result (like a mix of 60% happy, 20% flustered, and 20% worried, plus 90% blushing). 
All of these are normal "reactions" but tagged as "expressions" so the body knows to collect them into the expression logic system before displaying them.
On the body,
The animations are too complex to mix properly without logic. So when the brain says "make this mix of 3 expressions", instead of playing all 3 facial animations on top of each other and hoping they blend well, we need to dynamically create a new SINGLE facial animation from that mix. One that we know will obey certain rules to avoid sudden meme faces or visages of glitchy cosmic horror.
But we can't just create an animation directly. We need to account for any species/shape of face, and potentially at different angles. So it's not an animation we're dynamically creating, but the general "idea" (or "abstraction") of where the pieces of the face are supposed to be. How open/closed are the eyes? What tilt are the eyebrows at? And etc.
Then each face type, at each angle, can define the exact animations needed to open/close the eyes, tilt/bend the eyebrows, and so on. We send it that dynamically-created abstract shape, and it displays the animations it has for the shape on the character.

Conclusions
Yeah this is pretty neat. We're left with a chain of systems. One on the brain, one on the abstract character, and one on the physical body. Each can scale independently or be completely swapped out without the others needing to know about it. The middle system (the expression system in these examples) can instead be a system for anything that happens on the character, making it insanely powerful for anything that fits into the chain of "reaction in brain -> visible reaction on body". 
Sweet. Now to write the code. Oh and that's it btw. This is the final feature before we start cleaning up for the first playable release in all this time. Wish me luck~

...and that's all for now!
I'm going through a rough patch IRL and it's hurting my consistency. I've had to scale things  in my daily life back a lot and take it slow. I hope that helps clarify why posts here might be at inconsistent times and levels of quality, and why dev progress seems to speed up and slow down. It's easy to feel like I'm stuck at zero personal progress when things are going poorly, but my mental health has been improving overall at an encouraging pace. 
I do have to mention that last time I was trying to commit to specific times of posts and everything, but still missed a week. My bad.
It's like... I keep expecting to feel better and better as my mental health improves. But actually, it's this long process of being kicked back down to the bottom, and learning a little better how to climb up faster and higher each time. And from that perspective, I'm doing genuinely awesome. Far better than I ever have since long before I started making games. Hopefully that communicates where I'm at. A small dip in an upward trend. I feel bad, but I'm okay~
Thank you peeps for your absurd level of support. This reactions system has me vibrating with excitement. Right now it contains the most interesting capabilities of this engine imo. Despite this post being extremely technical, I hope that excitement is conveyed to you too <3
Comments (3) loading...
Like(18)
Dislike(0)
Levy's Lewds
Public post

Progress update- technical expressions work

Long delay from the last post due to being overstressed from IRL stuff. I needed a break and took it, which I think is fine, but I don't feel good about missing a weekly update. Next time I'll try to make a quick "aaaaa i need a break brb" post. Also I'm gonna re-check comments and messages when I can to make sure I haven't missed anything. Anyway, here's what I got! (it's aaaall technical stuff this time, y'all)
Brain/body actions can be shared to make character creation easy (especially for expressions), and I'm now shifting focus on to grouping Action types together into their own Pools so that expression logic can have its own little space.

Sharing actions
I can make a general base set of e.g. pony actions, reactions, and animations associated with those, and use that for all ponies. Then branch that off into different general categories endlessly. Individuals can override any part of that with their own unique properties. Expressions are just one of many ways to use this! ^^
The brain data is defined entirely without a body. You could implant a brain into a toy or other object, for example (gonna use that for TF stuff). That brain simply describes general actions/reactions it has to stimuli. The body itself defines how it expresses those actions/reactions. All of that needs to be able to be shared to make creating brains and bodies easier.
It's the same as inheriting any other data in this engine, except... there's only one* brain per overall "object"/character. That means that brain-related properties don't stack the way that body part properties stack, where properties on an arm don't affect properties on a bellybutton. Instead, they need merge together intelligently. 
Right now it's semi-intelligent cause this is a really deep rabbit hole with diminishing returns. It merges in an intuitive way as long as you don't try anything too clever. Otherwise it explodes. Good enough for now!
...good enough, because digging even one step further into this feature actually pulls us straight into dealing with AI and the logical actions features I have planned for a bit later in the dev schedule. I'm exercising immense levels of self control by not just diving in and throwing the whole schedule out the window. My project manager is a no-fun hardass and is also me.
*okay and yes the possibility of multiple brains, like for multi-headed creatures, multiple-souls-one-body situations, or plural identities in general, has indeed crossed my mind. Not gonna dive into that right now but I'm leaving the option open for the future :3

Next up, action pools.
All action/reactions are treated the same right now, but I want to pool them together so similar actions can override and interact with each other. Expressions are a constant war of which emotions break through to the face, and its really satisfying to see that happen. That's what I'm working on now~

Also thank you for the feedback on the poll! I'll be absorbing your knowledge and will announce next steps for that when I'm ready to.
...and that's all for now!
The guilt gets to me when I step back from the code even for a moment, and even when it's a better decision for my health and the health of the project. I did it though! I feel that crappy feeling when you make yourself do something you know is a good decision but your stupid brain tells you is a bad scary terrible idea that will definitely kill you.
Thank you peeps for the unbelievable amount of support you give to this absurd project <3
Comments  loading...
Like(15)
Dislike(0)
Levy's Lewds
Public post

Poll- where do you want to get updates?

Real quick- there's not a lot to talk about on the game dev side of things this week, so I'll wait until next week for that.

TL;DR
Major platforms are unreliable. I want a long-term home for my community. Somewhere I can make release announcements and general updates that I think all players would wanna see. My regular blog-style posts will still live here for fans that want to be more informed about the dev process.

I'm not gonna do salesy stuff with this. Y'all already support me beyond all my expectations <3

My question: What would be the most convenient place for this? Like, somewhere you'd actually see the announcements? My instinct is just a basic-ass email list. I've seen peeps use Telegram channels or similar, but don't know if that's something anyone really likes using. Please vote or comment to help me decide ;-;


Optional reading
Everything past this point in the post is optional. I'm gonna talk about the what/why, but it's not necessary information for voting in the poll.

What I'm going to post
So it's two main things- announcements of exciting releases, and general updates.

Announcements are for actual releases, project reveals, etc. I figure this is the main info everyone would wanna hear about.

General updates are a condensed version of what gets talked about here. So, a month's worth of progress might get summarized into a gif. If you don't read the weekly posts here, these would act as a sneak peak of upcoming features. I'll only post these when there's something substantial that I think all players would want to know about.

I'll be active on social media once I start posting playable builds, but that's just for reaching new players and won't be the central place to hear about new stuff.

Read before you comment:
I'm gonna talk about censorship. No political nonsense in the comments. This topic is wrapped up in culture wars, but this post isn't about that. No ranting, no instigating. I'll delete any comments that seem even vaguely tribal/political.

Why platforms are unreliable
If you're here on my Substar, you're probably aware of the unstable situation for NSFW creators on Patreon. Though if you're curious, I talk about it in the Patreon version of this post.

Substar is better for NSFW creators since it actively resist censorship, but there are other issues that make it potentially unstable. Its stance on censorship draws all forms of extreme content creators here, putting it in a perpetually vulnerable position with payment platforms and outside funding. Platforms like this historically don't survive in the long run without caving to outside pressure.

Substar also has a history of slow/unstable management. If something goes wrong with my account here, I can't be sure if/when the problem will be fixed.

Why not a more social option?
I want a direct and stable link to fans. But I'm not really a "host" or community manager. I want to be able to talk to people, but am not interested in having a town hall-style community like the old Discord server. I just want a way to let people know "hey there's a new public build" or "yooo I just paired up with this cool artist", etc.

Since my content is kink, and is set to become far more queer-inclusive, it's hard to rely on the usual channels long-term.

Alternatives I'm not gonna use
Social media.
Major social media platforms are subject to sudden bouts of NSFW censorship (see Tumblr), volatile management decisions that make it hard to stay connected (see Twitter), or just straight up dislike NSFW content. Creators and followers are at the mercy of whatever the platform decides that day.

Discord.
Same problems as other social media.
edit: peeps are pointing out that Discord can be used as an announcements-only platform. I'm not super opposed to the idea.

Mastodon/fediverse options.
Niche social media platforms on the fediverse are neat, but are simply too far out of the way of ordinary users to be convenient.

...and yep, I think that covers it!

<3
Comments (7) loading...
Like(11)
Dislike(0)
Levy's Lewds
Public post

Progress update- Character actions progress

Alright, so. This is exciting. I've been working on splitting character actions into stages. Observe:

What you're seeing is three separate actions: squirming, a facial expression, and a blush. But the squirming is three stages, and the expression is two.

Action stages
An Action is a thing the character does as a response to what they're feeling. For example, "squirm". Right now it's linearly linked to pleasure. So as pleasure goes up, the squirm animation gets stronger. But it's pretty limiting to have just one animation that gets stronger and stronger. At high pleasure levels, you'd expect different kinds of body motions and expressions than at low pleasure levels. That's what stages are for.
In the gif, you can see the body animation subtly shift from small up-down movements, to a side-side wiggle, to a shaky up-down wiggle. These are three stages within the same Action (squirm) all responding to the same conditions (pleasure). The animations for each stage of the action fade into the next as the pleasure increases, until pleasure is maxed and the final stage is at full strength, overriding the previous stages.
The expression has two stages (made obvious right now by the mouth popping open). 
An Action can have any number of stages, with any number of bodily/facial outputs on the character. This is a major improvement to previous versions of the game, where this idea was still half-baked. It wasn't very robust and only worked with the facial expressions system. Even still, previous versions of this game had pretty good facial expressiveness and that was a big reason why. 
So this time, I made multi-stage Actions into an abstract thing that can be applied to everything. Staged Actions don't have to line up, either. The blush, expressions, and squirming animations are all desynced from each other, allowing the blush to come in later and the face to start swapping to the second expression earlier than the squirming animation changes.

Conclusion
I'm super hyped about the amount of life I can give character animation in general now.
So, yep! These are the results of my expressions work this week. It feels great to see all my efforts to modularize this game engine paying off in places like this. I knew I needed to make multi-stage expressions, but there was nothing stopping me from just slapping that feature onto all Actions.
Next up: fixing some bugs in this system, then moving on to Action Pools, which will allow me to group Actions together and give more important ones priority over one another.

...and that's all for now!
Thank you peeps for the incredible amount of support and encouragement lately. It feels so nuts to have so many long-time supporters keeping such an active watch on this project considering the path it's taken. Like, holy crap y'all. Thank you ;-;
Comments  loading...
Like(21)
Dislike(0)

The subscription gives you:
  • Access to Creator's profile content.
  • Ability to support your Creator by contributing – one-time or recurring.
  • Means to reaching out to the Creator directly via Instant Messenger.
This website uses cookies to improve your experience while you navigate through this website. Continue to use this website as normal if you agree to the use of cookies. View our Privacy Policy for the details. By choosing "I Accept", you consent to our use of cookies.