Home Artists Posts Import Register

Content

Hey folks! 

We’ve hit the full time goal! Yay! Big thank you to all you beautiful people. Not having to worry too much about rent and food is quite a big deal. And now I can spend a portion of the rest of my savings on upgrading my PC so hopefully I’ll be a little more productive, too.

That said, I believe that the extra money should go towards making the game better, so while we’re moving towards the next goal, I’d like to do a big feature poll. I have a number of ideas. 

First of all, hiring an additional writer. I do struggle with some aspects of writing, you may have noticed that my dirty talk game is definitely not on point. And I think it would be great just to have more small talk in the game in general. It’s all good when there are new events to explore, but once those dry out all the girls turn into cardboard cutouts with just a few lines of dialogue. Just being able to talk to Rae about the relative merits of pancakes and waffles, telling Cait something about our world, shooting shit with Naomi, stuff like this will make the game feel much more alive, I think.

Second, and this is a kind of a long shot, but I would love to be able to have all the sex stuff voiced and, erm, sound-ed? Well, you get what I’m saying. I think that good sound adds a huge amount of hotness to the sex animations. I honestly don’t know if it’s feasible, but if there’s enough interest in this, I can try commissioning a few people for voice/sfx work, and then if it all sounds good, we can try and voice the entire game. Or at least the sex stuff. I mean, this being a porn game and all.

Third, and this is when things get a bit iffy, I could try searching for another artist to work with. I really doubt this is going to work out, to be honest. My workflow and toolchain is super janky, lots of custom tools, self-made plugins, that sort of thing. The kind of knowledge/experience that’s needed to make it all work is very difficult to transfer, and it will require me to spend time on teaching the other person instead of working on the game. Might still be worth it, I guess.

And finally, I think it could be cool to spend the money on something not directly related to the game, but nice. Like commissioning a series of paintings of the characters. Maybe even a short graphic novel, that sort of thing. That all is off the top of my head, there are probably lots of cool things like those that could be done.

And if you have other ideas, I’d love to hear your thoughts and suggestions. I could very well be blind to some obvious improvements that could be done with a simple cash infusion, so leave a comment, and I’ll add all the feasible suggestions to the poll.

Update

Now, update. Still working on it. Renders are getting done, although I had to adjust environments a bit more. But this week I hit a new roadblock with the scheduling system.I think it’s an interesting enough topic, so I’ve done a little write-up on the problem for those of you who are curious about the technical side of things. If you aren’t, scroll right down to see some more preview renders. I hope that the v0.4.0 will be done real soon, so next time I’m posting stuff, it should be the alpha version download links post.

Now, technical stuff with some helpful illustration. Big thanks to @Hats from our Discord server for providing me with art for those, check out his Insta at @kleelehorgen. 

Let’s start with a quick overview of the scheduling system.  All the in-house girls have their own base schedules. So far, I’ve been able to make those schedules strictly separated. You won’t even see the girls in the same room, and while this is completely unrealistic, it’s super easy to work with, no conflicts, nothing looks weird, nothing feels too weird.

In addition to that, girls have schedule overrides tied to the story or personal event chains. Due to the nature of the game I often need the girls to be in an exact spot to start the event properly. And now there’s a map screen in the game that shows where all the girls are, so I can’t really fudge this too much. Would be weird if the map shows that Naomi is in the attic, but then her event triggers in the living room. That’s when the overrides save the day. Plop down a special mini-schedule that says that she must be in the living room until the event is done, and she will be there.

 So far so good. Base schedule, overrides, it mostly works fine. I’ve had some schedule conflicts appear, but those were easily resolved. But what happens when there are multiple active events at the same time, and each one of those tries to push its own overrides? The override system allows for multiple override schedules to be active concurrently, so if, say Cait is supposed to be in the shower in the morning for one event, there’s nothing stopping her from being present in the kitchen in the evening for another. And even if there are multiple overrides competing for the same time slot, there is a priority queue, so the most pressing event takes precedence. So with that all the scheduling for a single girl is basically sorted out.

But I’ve had a few multi-girl events planned before, and many more are coming, and that’s where the trouble starts. The group dinner event is very straightforward in that it just pushes all the girls into the kitchen, and it sorta works because it’s the only one event of that kind right now. All the other events concerning multiple girls either start with you (or someone else) gathering others, or they just arrive in the middle of the event. This is all good, but some events need to start with the girls already there.

Well, you say, just add the synchronized schedule overrides to each single girl, plop down the highest priority, et voilà! 

And you will be right! It will work, at least, for a time. But as soon as I start adding more and more such events, it will stop working. Imagine this: one event overrides the schedules of all the girls so they hang out in the living room in the afternoon. But then there’s a super important event going on with Rae and Cait that needs them to be in the library, waiting for you to surprise them in the middle of a very intense study session.

So Rae and Cait are  now in the library, and Naomi is in the living room, alone and wondering where’s everyone. There’s nothing for her to do there as the event can’t be started without the rest of the girls. I could just a fallback, as in, plop her down there with a one-liner ready, but that means that I’ll have to make quite a large number of additional sprites and scripts and triggers for all those fallbacks. Mind, this is not the worst thing ever, so I’m still considering this, but there are other drawbacks to this solution. Girls being displaced, not being able to start some regular events and repeatables while the conflicting event is active, all that jazz.

Alright, so the next logical step is to do a conditional override. This is what I’ve been trying to do for a few days this week. Add an override, but make it so it only triggers when all the concerned girls are on their base schedule. And it nearly worked, but then it really didn’t. The thing is, this override is attached to a single girl’s schedule. Usually, the overrides work like this: if there’s an override for a time slot, it’s put into the occupation slot, and that’s it for this slot. If there isn’t an override, the base schedule is used. 

But the multi-girl conditional override needs to wait for all the girls to update their occupations, check if everyone is using their base schedule, and then update all the girls’ occupations if the check is passed. Alright, so maybe if we encounter this conditional override, we store it for later, do a full sweep of schedules, mark the girls that have their schedule overridden, and then do another round checking the conditional overrides. But then when there are multiple conditionals, there might still be conflicts. And one personal schedule override will prevent any conditionals from triggering even if they have a higher priority, and I sure can imagine a situation when there’s a group event that is so important it takes priority over any personal issue. And there are so many new transient state variables and conditions, the code becomes very confusing. I’ve been trying to make it work, but it didn’t, so I abandoned this approach.

Then I thought about a thing. Why am I mixing personal and multi-girl schedule overrides at all? I just need a separate list of multi-girl conditional overrides and store personal override priorities to make it work. So I do one sweep of each of the girl’s personal schedules, mark override priority if there is one, and then go through the multi-girl override list. If each single girl in the list is using her base schedule or a personal override with a lower priority, then this multi-girl override sets their occupations, and all is well. There could even be multiple active multi-girl overrides at the same time, like girls being in pairs in different rooms and the like. So this is what I’m going to try. If it all works out, then the biggest technical hurdle of this update is behind us.

Hope this was entertaining enough for y’all so you’ll forgive me for all the delays. No, not really? Aw. Oh well. Teasers, then!

Teasers

Again, sorry for all the delays, and see you soon!

Comments

Wild Bill

Do you step through the override stack from the top down or from the bottom up? If you start from the top, can't you just skip any events if the girls are already spoken for? Like, the pillow fight is lower priority than the study session, the study session is processed first and when you reach the pillow fight it checks if the girls are available or spoken for, and as Rae and Cait are already doing something else it's skipped and Naomi moves on to the next priority down.

Zanith

That's what I'm trying to do, yes. It's just that it was working badly when those group events were mixed with the personal events. It was either a race condition of sorts (one schedule depends on another that depends on the first etc) or just a very sloppy multi-pass thing with lots of temporary variables. The clear separation of personal/group overrides should help. The logic goes like this: when testing a time slot for a group event, if there exists a personal override with a higher priority for any one of the girls involved in the group event in this time slot, the whole override gets ignored and the next one is tested. If there are no overridden occupations for the time slot, or the overrides are of the lower priority, it gets applied. No chance of conflict this way.

Chet Congo

Stockings/Tights/Pantyhose are amazing. Hopefully see Rae put some on in a scene as well.

Wild Bill

That sounds like the *opposite* of what I would have done, I would have had a single override type which could have one or more girls associated with it, start with the girls assigned a null task, then step through the overrides from high to low, setting the girls' tasks if all girls assigned to the current override were still null. At the end, check each girl's task, if still null use the base schedule to assign one. This wouldn't need any interaction between overrides, no temp variables, and only one pass, with no need to examine any overrides other than the current one. What is it the system needs to do that this would not satisfy?

Maxim

Great stuff man ! The only thing I am personnally not sure about would be the whole "sound" you mentionned. Unless done right, I find those just makes the game larger while not giving a lot of substances to the scene ( or people plays with no sound). Regardless, I think you have a good game product so whatever you decide, I'll follow.

Tiredx

When you say sound are you referring to erotic scenes or sound as in game soundtrack overall? Example: Intense music during action scenes, soft music during more romantic moments. I love the art work you displayed to show your progress although the amount of configurations your having to endure to make your scenes work is causing me to mentally cringe. >_<

Zanith

In principle, yes, that would be ideal, a single storage for all the overrides and one sweep. If I were to make the scheduling system from scratch right now, I probably would have done so. But the personal schedule override lists are already a thing. With the way RenPy does save migration, it would take a lot of testing and debugging to make sure that the event overrides are successfully migrating from the older saves. And that's after the whole rewriting the entire system thing. So I'll stick to adding a separate list for now, and if it works, then it's fine for now. There are a few other aspects of the system that might cause problems in the future. For example, all overrides are evaluated on a per-time slot basis, so there's currently no way to predict if a multi-time slot override will be overridden further in a later time slot. This might cause a problem for more complex event chains, and it will force me to redesign the system completely in any case.

Zanith

I agree that the sound must be done right and I don't know if I'll be able to do that. That's why if there's enough interest in it in general, I will do a test first. I'm thinking something like a separate one-scene build with options for only the basic sounds, voiced sex scenes, and maybe even fully voiced scene. Then we'll all decide if it's worth it.

Zanith

General sfx and music themes is something that should already be in the game, to be honest, it's just that I'm forgetting to do it and leaving it for later and then never actually coming back to add it. First few events have their music and even some sfx in them, need to catch up and add it to all the other events, too. So, yeah, I'm talking about sex scene sounds/voices in the post. The environments and prop setups requiring a lot of work is true. I know I should try to reuse assets more, but I just can't stand it when something looks totally wrong.

Wild Bill

Ah yes, I don't know much about Ren'Py but I know that the saves are problematic, I hadn't thought about that. I take it it isn't as simple as adding a block to an onload hook to convert the old data to the new format.

Wild Bill

Oof, I just noticed the door in the picture of Cait (I was... *distracted* first time around), that doesn't look great. Looks like a normal map slapped on a flat plane rather than an actual model.

Zanith

It kinda is that simple, I do have a block that handles migrations on load. But it's only called after renpy restores state (via unpickling) and does all its internal checks, and that means that I can't easily handle certain changes. I can't, for example, just remove old classes and write a custom object deserializer that will move old data to the new object model. All that said, it is possible to do a big change and migration. Lots of legacy garbage will have to remain in the code, but such changes might be necessary in the future. Realistically, it's Python 2 (no type checks) and very poor editor support that makes me think twice about any big code change/refactor that is not blocking the development. It's a huge time commitment, and with all the constant delays I'm super not comfortable with it at the moment.

Zanith

They are all like that, yeah, it's just that it's not that noticeable from most angles. I'll see about commissioning a proper sculpt for the doors, should be a mostly seamless change.

Wild Bill

Doors are really easy, they're such simple shapes it should take about five minutes to do an actual modelled version of one like that.

돌돌 빵

oh I really want rae's moaning. it will be amazing!

Gerard Alba

Hi! Your game is amazing! Hot characters! When is the new update coming? If I may, I suggest a great sex scene when Naomi is working out, sweaty and sexy, I just miss that scene!

Zanith

Hi, and thanks! The update should've been out already, but I'm still not done with renders and misc stuff like the phone graphics for the new girl (totally forgot about it), so I don't know, really, another day, maybe two, maybe even three if I mess something up. About the workout sex scene, I can't say when it's going to be in the game, but it's definitely going to be in the game.

Anonymous

You are the only Patron I am subscribed to, I do not buy games (Arrrgg), I do not pay for things unless I see real potential and want to help that come to fruition. Doing an excellent job thus far and I'm excited to see what you make this into. :)