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

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.

50 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.

209 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
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!
Levy's Lewds
Public post

Progress update- Reactions almost done!

Here's what's done and what's left on the Reactions code.
Nearly there! The final link in the chain is the dynamic combining of facial pieces. 
For simple reaction systems (especially non-facial things) this code should already be good enough. For faces though, we'll need to tame the multiple influences fighting over each eyelid and such. That's why there's a central system (the circle in the diagram) to handle how we interpret conflicting information from the brain about what face to make. It'll combine the information into one cohesive facial expression. It can also handle things like blinking and logic for when the eyes are covered. 
So this last step is kind of the least important for right now, and I'm gonna just get it working first with the plan to improve it over time. In the end it'll probably be the most dense code-wise and require the most testing, but it won't need to slow down the initial release.
After this, I need to:
  • Test, debug, and fill in the debugger for the pieces of the logic chain that aren't covered yet.
  • Add more expressions and brain-sided reactions.
  • Use the working Reactions system to make bodily reactions too (this is trivial).

And that's it! Reactions will be complete.

The universal reactions system.
The step I'm working on now is sort of an optional addition to each type of Reaction a character can have. It's a modular addon to the ordinary logic chain that plucks all face-based reactions out of the chain, applies face-specific logic to them, then pops the result back into the chain. 
It's this modularity that allows this to be a universal reactions system, which is not only easy to expand upon, but far easier to debug since you can see each step and what it's doing to the character's brain/body data. Lastly, it's great because the player will also be able to see and play with everything from the base personality and body part sensitivities all the way to the concrete body animations. Not sure how some of these will be represented in-game, but the mechanics are there, so players should have access to them.

The source of truth.
I've been struggling to find the single source of truth in this chain of data. All the information changes form at each link in the chain. In the body, there's at least 6 points where you could say "this is the data that describes how this character is reacting". But there needs to be exactly one link that's considered the definite truth. That way, I can track how things are changing, and can save and re-create the entire situation from just that one point.
It took a while and bent my brain, but I got it nailed down. It's the moment just before we combine everything (the step before the circle in the diagram). That's the last moment we have the raw data compiled all together before it gets polluted by other information coming from elsewhere in the body. Neat.

User generated content and modding.
Yeah so this is a big topic and I'm not gonna get too deep into it yet. But right now, users making their own content in the game would have to use the dev tools and directly edit the game's data. I know a few dedicated players have done this in the past, but that's only a handful of people. I'm not convinced that adding something crazy like full modding support would really result in an actual modding scene. I'm not ruling it out, but it's a low priority considering how very few people would be using it.
Instead, I'm looking at how to make editing the game's data something everyone can do. Instead of opening text files, I'd much prefer that all/most data can be made and edited within the game. This is already in line with my current goals of gradually making dev tooling that removes the need for me to edit a giant spreadsheet of data. My own dev tools would then just be advanced game customization features.
The engine is the complicated part of this whole thing. The game itself is just data. If there's a friendly UI, then editing the data would be easy for anyone. And if people make custom stuff, it'd be neat to be able to load in that custom stuff from within the game.
That's just my current thoughts! It'll be clearer how much of this is doable as I work more on the dev tools.
Note- More complete mod support is especially difficult in the current "SHF3" game. What I've been working on all of this time is a game engine, which is what the actual SHF3 game is being remade in. I have a long series of games, big and small, planned in this engine, and many of them are better suited for more in-depth modding. SHF3 is a sandbox pony game but the others span across different game genres and focuses. There will be both pony and furry projects in the engine. My hope is to build up more and more customization and modding tools with each new project <3

Personal notes.
I really, really wanted to crunch and get this last step done before I posted a progress update. It felt like it would've been so much better to post "it's done!" instead of "it's almost done". But putting myself into a crunch to force things out quicker backfires every time. It would slow down the release in the long run. Crunch only really works, if ever, when you can rest and recover afterward. But there's more to do before release, and SO much more to do after. 
I mean, this first release is a technical pre-alpha, definitely-not-finished, WIP, not-to-be-overhyped, engine tech preview build. There's lots and lots I gotta do with this engine now that it's starting to become usable. I'm not allowed to burn myself out. 
Which relates to the sleep problems I've talked about for a while now. It's been rough. But I finally got an official diagnosis to work with! It wasn't at all what I thought. But I'm so thankful to have a better understanding of what's been going on, and a path for treatment. The ultimate cause looks like it's stress and anxiety, which shouldn't be a fucking surprise. 
Since then, I've been doing everything in my power to de-stress and reduce anxiety and it's helping so much. With each passing day, the deep exhaustion I've been living with is lifting more and more, and my brain engages more clearly with code and planning. 
So yeah, the pace of progress on the game isn't what I want it to be. But the more careful I'm being about reducing stress, the better and more sustainable progress I'm making. I plan to do lots of stuff with this game, and with other games using this engine. None of that can happen if I'm burnt out. 
Even knowing all of that, my monkey brain keeps trying to convince me to push myself past my limits for the sake of short-term results. 

Anyway... that's all for now!
I'm not sure how to thank everyone for the immense generosity and positivity y'all have shown. I figure I'll just keep going and trust my judgment that the results of all of this work will speak for themselves. I'm excited and impatient. We're getting close now. 
Your comments on these posts have been insightful and very encouraging. 
Thank you, kind peeps!
<3
Comments (2) loading...
Like(23)
Dislike(0)
Sign Up or Log In to comment on this post
Levy's Lewds
Public post

Progress update- the future of the game

There's a personal update at the end of this post where I address the recent drop in posts and what's up with me. It's worth addressing but don't worry, it's nothing drastic!
Okay. We've hit an important moment in the development process. Before moving much further, we need to know what direction we're heading with the game's lore, visual theme, and UI scheme. Further development steps rely on it. 
So let's talk about code, then get into that~

Bodily Reactions code
I'm working on the body's side of the Reactions system. I've hit partial completion. At the core it's a long chain of data, with each step requiring multiple sub-steps, logic, and interpretation. Here's a simplification of the chain we're working with:
Stimulation/perception (done) -> Sensation (done) -> Personality/Emotion (done) -> Mental reaction (done) -> Internal bodily reaction (working on it) -> Outward visual reaction (done)
That's it! The chain is so close to being complete. Each link in the chain is modular and any character/species-specific traits can completely change how each link works. Here's a quick simplification so you can visualize how each step comes together to make the final result:
  • Stimulation/perception is the only fully objective step. As in, a character sees an object in the world, or is touched by an object. This is objective reality and doesn't change between characters.
  • The Sensation step, however, would have a completely different set of logic for like, dragon scales vs pony skin. And a pony with tough, calloused skin is wildly different from one with soft, sensitive skin. (this is per body part, so for example someone can have sensitive spots while being tough overall. Plus, they can be sensitive to specific kinds of touches)
  • Characters have different Personalities, which results in different emotions when things happen. An equal amount of pain makes character A feel sad, and character B feel angry.
  • They also have different Mental Reactions. Two characters might feel equally angry, but respond internally to that anger in completely different ways. 
  • Internal Body Reactions are kinda abstract. It's like, the "idea" of what their body is trying to do in response. Furrow the eyebrows. Blush the cheeks. Twitch the ears. These can be different between characters in small or large ways. For example, how beaked characters emote with their mouths, how unicorn horns or pegasus wings act, or even just characters with some kind of small internal difference (Maud's under-expressiveness vs Pinkie's over-expressiveness) that would result in a conceptual difference in what their body is doing.
  • Outward Visual Reactions are the actual technical animations/sfx being played to represent the above step. Body type/shape (and how the character is positioned) determines what needs to be played. 

So all of that is done except the internal bodily Reactions, which I'm working through the process of. It's requiring some higher level thinking that has been hampered by my sleep issues. Thankfully I can feel the brain juices flowing again.
We're close now. The instant it's done I'll be making a post showing it off. Once it's working, we're stopping development on new features and cleaning up the existing features for a release build!

Where are we going?
We're far enough along that it's now time to answer some of the big questions. Starting with a meta question.
Pony or furry content?
I've talked about this in the past but never came to a conclusion. Now I've decided. 
SHF3 will forever be a pony game, rooted in the pony canon and world. I want this to be a long-lasting love letter to the clop game genre. Plus, the projects I do here will be pony-focused. That's what y'all are supporting me for, after all.
My private art practice will involve other species, styles, and original characters. Eventually I'll start posting that somewhere. If I make anything that would interest y'all, I'll share it here of course. But it's stuff I'm making as a hobbyist for the sake of growing as an artist, not the content being supported here.
If I ever shift my main "work" focus away from pony stuff, you'll be warned about it long in advance, and it'll be after this game is fully completed

What is this game?
Now that I know SHF3 is firmly a pony game, I've finally locked down the lore and theme. So, the game takes place in-world. In canon, it's placed after the main series (gen 4) finished, but before the final time skip in the finale. 
This is just a teaser since I want to do a reveal with some concept art and/or in-game demonstrations. I don't know exactly when yet, but, well, I can't keep a secret for long. 
I have a solid plan for the framing and in-game "story" of what's happening. I now know definitively what does and doesn't belong in the game in terms of visuals and thematic elements. It's long been just a vague dungeon theme with no context, with unexplained tech and magic involved. No longer!
Plus, a tentative title for the game (SHF3 was always placeholder). 
The theme will be obvious as soon as I start adding things, so expect to see a reveal of this relatively soon ^^

Solving the UI problem forever and ever
This is half-related to the above question of theme. The UI needs two things- usefulness to the player, and a coherent visual theme. The visual theme is solved now that I know the direction this game is going, but next is the functionality.
You may remember me complaining about this CONSTANTLY for YEARS. 
How the heck do you design a UI for a sandbox game with many layers of cascading complexity? It's not a management game or logistics game. The point of the game is the characters and what is visually happening to them, not the many numbers under the hood. BUT the more technical the player wants to get, the more they'll need to have access to excessive amounts of underlying data. 
The real issue is that there are many different types of players. Some will want a full diagnostic of a character's left hind hoof on the screen at all times, while others will want an uncluttered experience without a bunch of numbers to worry about. There's too much important data you might want to see, but that could also be overwhelming and distracting.
So the best answer is simply to give the player control over it.
The primary UI will be modular, separate, customizable displays that you can move around in-world. So you can have a general display for a character's overall state, and/or a little menu displaying complete real-time diagnostics about their left hind hoof, a menu with a constant measure of their mental stability, a fluids pressure meter for each of their inflatable internal parts, and so on. Or nothing at all, if you prefer an uncluttered experience like me.
Since the game camera is now movable, menus will move with the world by default, but you can also pin important ones to the screen to keep them locked in place.
Your menu configuration and positioning will be saved along with the game state when saving/loading. 
Visually, it'll relate to the (to be announced) theme.
Under the hood I'm looking at reducing all "menu-able" pieces of information down into a simple data format, which can be used to automatically construct menus based on their needed components, rather than needing me to manually make each one.
So yep, that's the plan! 

The role of AI.
I'm introducing code generating AI into my workflow. As far as I can tell, it's a natural evolution of the programming process. It's both strong and weak as a programming aid for me right now, but I'm pretty sure it's only gonna become a more vital tool over time. I'd heavily recommend anyone who codes to not sleep on it. 
Generative AI for art and assets is a very different story. While code AI is trained on open source code, "creative" AI is in a weird ethical state that I'm not interested in messing with right now. 
I don't currently plan to use AI-generated art of any kind in the game. But as part of the development process I see lots of potential. For example, creating visual mockups to communicate ideas to artists, making placeholder art to get an idea of visual composition, etc. 

A personal update. 
I've had my head down for the past few weeks. Between working on the code, hammering out major decisions about the future of the game, and trying to find a healthy path through a very rough patch of sleep apnea issues, I've been stressed. And with that stress comes my bad habit of not communicating with y'all as much as I should. Sorry about that.
A bright spot is that after taking a long (for me) break, my sleep has improved drastically and I can think clearly again. I have a tendency to overwork myself, which ends up putting me into a state where I can't get much done, so I have to crunch to make up for it, and so on. Breaking out of that vicious cycle is hard. 
Especially since it looks like being overworked also contributes to my sleep problems, which in turn contributes to that cycle. I'm surprised by this. The sleep problems are caused by a funky quirk of my bone shape, and not any underlying health issues. No idea why stress makes it worse, but I guess that's the situation I'm working with. If I want to sleep I need to reduce stress.
My partner has been patiently talking me into relaxing more and not falling back into destructive habits when stressed. The deep exhaustion is fading and I'm able to come back to the code with my brainpower restored. But also, I'm able to reassess my basic mindset. I've always seen "overworking" as a Bad Thing, but like... secretly a good thing. Y'know, sacrificing yourself for your art and all of that. It's a sign that you're workin' hard and takin' things seriously. 
But see-sawing between being burnt out and then crunching to make up for it has been my default state for my whole life. It's not just the game either. I'm pushing myself in all areas of life. If I'm trying to relax, I'm anxious the whole time about not doing something "productive". Ironically, it slows my actual productivity to a crawl. It's been at that crawl since before I started making games.
That slow pace has agonized me. Those who have been around for years may remember a common thread throughout my old posts- "I feel like I can do so much more than I'm actually getting done". To fix that, I've tried tackling it from every angle I could think of. I learned a bunch about ADHD, effective task management, project management, code architecture to reduce workload, self love, emotional growth, anxiety management, sleep, and now I'm looking at the many-faceted problem of stress.
I have a weird relationship to it. I'm learning that, disturbingly, I'm kind of addicted to being stressed. I'm trying very hard to break unhealthy habits and mindsets. This new knowledge is part of that journey.
All of this to say, I'm taking on a new schedule with fewer work days in the week and less draining busywork. Given how much healthier I feel and how much more clearly I can think after a decent break, I suspect this will only result in faster and more consistent progress. And most importantly, I'll stay healthy enough to see this project through to completion.

... and that's all for now!
I'm deeply grateful to the excitement, generosity, and patience you people have. It's been a long road both from a development and personal perspective for me. Despite how many rough patches there've been, and how much anxiety I normally have, I'm actually quite confident that the final results of all of this work will be well worth it. 
For now, I can only say thank you for placing so much trust and faith in me. I'll keep doing my best!
<3
Comments (5) loading...
Like(19)
Dislike(0)
Sign Up or Log In to comment on this post
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(19)
Dislike(0)
Sign Up or Log In to comment on this post
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(18)
Dislike(0)
Sign Up or Log In to comment on this post
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(19)
Dislike(0)
Sign Up or Log In to comment on this post
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)
Sign Up or Log In to comment on this post

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.