Such progress!

I’m on my yearly staycation and I’ve pretty much been coding every day and I’ve made a decent chunk of progress on House Dominae so far.

My focus has been on the simulation character interactions, and basically cleaning up errors I’ve come across. Here are some of the things I’ve done:

Feelings

I’ve implemented a model for morale and happiness. Slaves will now get unhappy when they’re driven against their own needs and wants and vice versa. A slave’s sexual orientation has become a pretty important factor for their overall happiness. Cammy (gay in my game) doesn’t like sucking dick and she’s being a prissy little cunt about it!

 

Characters now form relationships to each other. There’s a new ‘Socialize’ activity for when you want to improve a relationship between two characters, without sexual intent. A slave’s relationship to the player character is extra important because it carries consequences for their obedience and overall happiness.

Characters can also be attracted to one another, either physically or sexually, which aids in their bonding. The attraction is asymmetrical and based on their individual sexuality.

Minor note: There’s a new mental health bar and if it ever goes down to zero the slave “breaks”, erasing most of their personality and rendering them extremely compliant. A slave’s mental health is very stable on its own so it’s up to the player to introduce the necessary trauma.


Punishment

I’ve redone the insubordination system once again. Whenever a slave breaks a rule they’re tagged with an insubordination account. The player has two days time to punish any insubordination, or it will convert into a permanent deduction to obedience. Proper punishment gives a slight increase in obedience but not as much as it used to.


Horny slaves

Lust (or horniness) has been implemented. Slaves will grow horny over time, some more quickly than others, and they can cum in sexual activities. Orgasms naturally affects their happiness. Whenever a slave cums “legally” you’re given a gem, which is a special currency which doesn’t have a use yet, but will in the future.

If a character goes to bed horny they may forfeit some sleep in order to masturbate. You can forbid a slave from masturbating but it becomes an obedience roll at that point.


Interface

This is a minor thing, but because I’ve added a new set of rules and concerns I also put some time into making sure it’s apparent in the UI what the state of a slave is. Potential concerns and critical conditions are indicated with icons on the portraits.


Town locations

There is now a number of town locations to visit, although not all of them have been fully implemented yet.


Last but not least…

… I’ve done a lot of sweeping improvements to the text engine, conditional expressions, event image selection, and I replaced the random number generator with a super robust noise function based alternative. It practically prevents save scumming; even more so than before.

Pawn editor

Today’s project was the in-game character editor. It enables editing of the 3D appearance of the character “pawns,” as I like to call them.

There’s nothing much to say,

really

. The color wheel probably ate up most of the time.

For character authors the editor will output an alphanumeric code that encodes all the information necessary to render that character.

00480-D040K-4803Z-ZVUQX-66099

That code can then be copied and pasted into the character creator. This ended upt being the method I chose for setting a character’s 3D apperance.

I could’ve made the appearance settings available in the character creator too, but since I wouldn’t be able to render them there, it

probably

wouldn’t be very useful.

I’m getting back into the swing of things. Vacation is just around the corner and I’m feeling great!

First off, I’ve finally added multi-selection support to the character creator. This enables you to select a whole batch of images and assign the same tag to all in a single click rather than twenty. This was the final sore thumb in the creator I wanted to get rid of.

I then began compiling a list of default images that the game can fall back upon whenever a character file comes up short on any specific activity. However, in doing so I discovered a bunch of bugs in my image search algorithm. This eventually led me to create a debug window in the game where I can enter arbitrary queries and see what comes back. I imagine it will prove useful to future character authors.

It only took a few minutes of playing around with it to realize I had to alter the syntax somewhat to allow for “soft” search terms, where I could ask for a shemale but settle for a female instead, etc. Things of that nature.

PS. I’m currently playing Slave Maker 3 and I’m rediscovering a bunch of qualities that game has that I’d forgotten about.

Town locations UI

I want to elaborate on what I meant when I said I’ve made “minor improvements” in my earlier response. I haven’t had time, or the energy, to make any big sweeping changes, but even when I’m pooped from work I still like to tinker with the small stuff.

Recently I’ve been trying to formulate the interface for the lateral mechanics in the game, like purchasing slaves, items and upgrades, while also moving away from putting everything in the left side bar.

So this is the direction I’m currently moving in, which is simply to put a face on each of the town functions, sprinkle some flavor dialogue on there and see how that plays.

Bonus screenshot of the (borderline superfluous but totally playable) gambling mini game:

Blowjobs…

This past weekend I decided to take care of something that’s bugged me for months, namely the code that evaluates sexual encounters. I’m sure there’s a forum post of me somewhere talking about how great I had made it, but don’t believe past me!! Past me was wrong!

Without going into too much details, in general, it was another case of me overthinking a simple problem and going out of my way to obfuscate the math, to the point where even I got confused. The new system simplifies a lot of it, and in general it’s easier to reason about the numbers. If an blowjob request has a difficulty of 3, the slave will need an Oral skill of 3 to perform it successfully. Straight forward. Stuff like that.

Like before, there’s an obedience check, a service check and a skill check – and now the math just lines up much better. You don’t have to succeed them all, but doing so yields the best result.

I’ve also changed how experience points are accumulated. The goal was to give experience proportional to the difficulty of the requested act, without making it too rewarding, or not rewarding enough. Again, by simplifying the math I got closer to that goal than before, I think. Right now, from zero to a hero cock sucker takes about 15 cocks, for a middle of the road slave.

Finally, I put some time into the encounter texts. I used the blowjob event as my test case and tried to feed as much information I could to the text generator, and write appropriate phrases for it to use. The text in the screenshots above are generated by the game, for the same blowjob event. I guess one had a slightly better outcome than the other.

The “Nice boobs” phrase is an indicator that the customer had an affinity for one of Chun’s physical traits, and “Chun-Li welcomed a thug with a smile” hints at a very successful service check.