As is often the case, I had an interesting idea in the middle of taking a shower the other day. It’s a change that affects training and how characters earn experience points. In order to explain it, I first need to talk a little bit about how experience works in this game.
(Btw, when I use the word “training”, it means instructional training, as in non-physical.)
There are two primary ways for characters to earn experience:
Through training – either at the hand of a trainer or by reading books.
Through practice – by doing the thing.
This works okay, but there are subtle problems with this picture. One is that the player could opt to not use the trainer at all. Even worse, you often earn money on top of the experience when choosing the practical route. This somewhat defeats the purpose of having a trainer, even though they should be the most important person in the brothel, at least thematically. I would prefer the trainer to serve a larger role than what this allows.
One way to solve this is to make it more worthwhile for the player to use a trainer, such as giving more experience points from training than from practice. This is the solution that I have been going with so far.
Unfortunately, that raises other issues. It is still possible for the player to use a trainer exclusively to level up their slaves as high as they want. The only trade-off is time and slightly less income. You can even get into a strange situation where a slave has reached the maximum of their sexual skills, but is still a virgin.
Let’s get theoretical
My shower induced solution to these problems was to split experience points into two parts: theory and practice.
Theory is earned from training. Theoretical experience is not “real” experience and doesn’t contribute to the skill level or performance.
Practice is earned when performing a skill. Practical experience and is what actually matters when it comes to performance and leveling up.
When a character earns practical experience, they also convert some of their theoretical experience into “real” experience. This lets them earn more than if they hadn’t received any training to begin with, and that is the point.
Let me explain it with a visual example:
The conversion rate is adjusted so that you always come out on top, accounting for the turn spent training.
The effect of this is that training becomes more of a lubricant for character growth than actual growth. Trainers become instrumental to the progression of slaves without becoming exploitable. Finally, “turning theory into practice” just sounds right and makes thematic sense to me.
I’m a little bit worried about the added complexity, but I am confident I can explain it well in the UI. I’m going to feel this out for a while and see how it affects the game as a whole.
Technically, this was a very small change that only took an afternoon to implement. If it had been a larger change, I probably wouldn’t have done it this late in the project. If for some reason it doesn’t work out in the long run, reverting back to the old system is trivial.
If you have any feedback or thoughts, please share them on the Discord.
My goal was to finish and release House Dominae before the end of 2022. Evidently, that did not happen. There were a number of factors preventing me from reaching that goal but the primary one was that the game is quite large and I overestimated how much of it was in a shippable state.
In most cases, the things that need the most attention are things I wrote a long time ago and never revisited as the game evolved.
There is a silver lining though, and it’s having a goal has allowed me to focus more. Over the past several months I’ve been meticulously going over different parts of the game and finishing them up, or removing them if necessary. Many things were left at around 80-90% completeness. Enough to technically work but often missing some final piece (usually text). Lately, I’ve brought lots of these kind of things to 100% completeness or, at the very least, a solid “good enough.”
The Final Stretch
In my mind we’re currently in the final stretch of the project. I want to be absolutely clear though. I cannot say with certainty how much work is left but I know it’s not going to take another year. That I know for sure. It will be a while longer still, as I continue to finish everything up – and trust me, there is a lot to finish. But I can see the end of the tunnel and have started making plans for what to do when I get there.
Perhaps related to this, I have thoroughly enjoyed working on the game lately. It’s been rewarding seeing everything come together, more or less how I intended it. The code base is really robust and easy to work with (most of the time) and things are snapping into place in a satisfying way. I have even found myself playing the game more often and roleplaying with the characters. All good signs.
The Road to 1.0
I have a rough plan in mind for the game’s release. The first release will most likely be given out to the people in the Discord as a beta. The game is plenty stable but there’s bound to be a scattering of bugs and issues that have eluded me so far.
We might throw a few beta versions around. We’ll see. Then, once I’m satisfied with the game’s stability and content, that will then become House Dominae version 1.0 and be released to everyone, for free.
Shortly after that, assuming people keep playing the game, I will be addressing further player feedback and suggestions.
Once the game is out and about and everybody’s happy, I’m going to start working on one of two feature updates. These will aim to restore some of the features that were cut for the sake of finishing the game. One will complete the pregnancy mechanic. The other will introduce animals and the ability to create custom creatures (i.e. Pokémon) using the character creator. I made a Twitter poll about this a while back and the responses were quite encouraging. There’s also potential for a distant third update that would introduce monsters and magic but that hasn’t been fully fleshed out in my mind yet. I’ll just leave that as a tease.
I don’t foresee these updates taking ages to complete. They’re half-implemented already, just disabled, and they won’t require much that isn’t in the game already. If I recall correctly, what’s left to do is mostly UI stuff.
On a whim, I’ve experimented using DeepL Write to punch up some of the game’s text. The results have been good. I’m reasonably confident in my English spelling and grammar but creative writing is not my strong suit. To be clear, DeepL isn’t the kind of tool that writes the text for me, rather I feed it my own written text and it gives me back a few alternative phrasings I could choose to use instead. So far it’s been really helpful for me to get around some of the stiffness in my writing. More importantly, having a crutch to lean on is making me want to write more and that alone is a major win.
I’m currently undergoing a rewrite of all sexual services in the game. It’s not related to the DeepL stuff. It’s just another part of my mission to finish everything up. Lots of them are still unwritten and I’m going to take the opportunity to try a different structure that will hopefully be better at conveying the slaves’ performances in an interesting way.
Finally, I still need to fully commit some number of days to create male faces, hair and clothes. That should happen soon. I’ve been postponing it for too long.
This is a short video demo of the game in its current state. This is actually the first time I am showing the game being played. As you’ll see, you control most things with your mouse cursor and a lot of information is conveyed through dynamic tooltips and event texts.
You’ll see me start a new game, poke around the interface a bit and the go to task and train my first slave. I’m playing with my stand-by combo of Chun-li (futanari) and Cammy (female). In your game, you will be able to play with whichever characters you want.
It goes without saying that this is a game that’s in development and anything you see in the video may (and probably will) change. Thus, don’t get married to much to any details you might see.
But by all means, if you have any questions or suggestions, join and post them in the Discord.
(This is an older, unpublished post, that I decided to finish and publish months after this feature was implemented.)
Since my last update, I’ve added random events to the game, or rather, I rewrote an existing but unused random events system. The previous system was more or less what you’d expect. The game had a list of authored events and it would trigger them, randomly, like pulling a chance card in Monopoly. This wasn’t very interesting and it was honestly hard to write interesting events that would fit at any point of a typical game.
The new system is much more flexible, and was motivated by how well it dovetails with other parts of the game. Like most parts of this game, it uses contextual information to choose the best event for any given situation (or none at all).
Random events are instead triggered by the characters themselves, either alone or together with another character. If that other character happens to be the player, they’d be given the choice to respond, otherwise, the event may just happen in the background.
For instance, a slave could ask their master for sex:
But this would only happen if, in this case, Cammy wanted this to happen, or another way of looking at it, if the player had treated Cammy in such a way that they earned it.
The new system also implements something I call “micro-events,” which are mostly there to stir the pot, so to speak. It’s meant to simulate slaves interacting amongst themselves or even behind your back.
These are very small, simple events, hence the name, and they’re things like slaves socializing with each other, getting into arguments or casually flirting. All of which causes their relationships to slowly shift over time without the player’s direct involvement. So as the player, you may discover that your A-team of slaves had a falling out and suddenly hate each other, or that two of your slaves developed feelings and fell in love.
Evolving relationships was the original intent for the relationship system, but I found that it wouldn’t work unless there was also spontaneity.
Some of these micro-events may actually be entirely hidden from you. Such events are called “secrets”. A secret could be something mild, like pocketing the tip from a customer, or it could be a slave breaking one of your rules, making it a “crime”.
Crimes should naturally be punished, but they can only be punished after you’ve discover them. So there’s a new action called “Interrogate”, which will let the player question a slave for any secrets they might be holding. Obedient slaves will gladly tell you, and even tell secrets about other slaves. With disobedient slaves, it won’t be that easy.
Rules and Karma
As their master, you decide what your slaves are and aren’t allowed to do. But I wanted to support this with some gameplay. Therefore, some rules have a disciplinary cost. That essentially means that as your slave gains discipline, you can choose where that discipline goes, but also that you won’t be able to force them into everything all at once.
When a slave misbehaves, that is reflected in their Karma score. Negative karma means they can be punished while positive karma can be rewarded. Whenever you punish a slave, their karma is converted into permanent obedience, and gets reset. Choosing when and how often to punish a slave will greatly impact their growth.
A pawn is the 3D representation of a character in House Dominae. You interact with a character by moving their pawn around the brothel (or the board) and dropping them into a room.
The original idea for pawns was extremely simple. I wanted characters in House Dominae to be more than just a JPEG portrait image, and be represented in 3D on the board. It didn’t have to look super good. In fact I wanted it to be as basic as I could get away it. My thinking was it’d be good enough to just change a few things like a primary color or a texture to allow for rough approximations for a wide range of characters.
I set a few design criteria for the pawns:
A pawn only needs to be a rudimentary approximation of the character.
The player needs to be able to tell two pawns apart.
A pawn is merely a pawn and should not be animated.
This was an intentionally low bar because I didn’t want to exceed my capabilities as a sole developer. I had limited 3D modeling experience and didn’t want to place too large a burden on myself this early on in the project. Besides, at the end of the day, House Dominae is more or less a turn-based board game and it shouldn’t need any advanced graphics.
Looking back, these pawns look pretty dumb but they met both criteria and I thought they successfully proved that an abstract look would work. I kept it in for quite a while and I even started thinking about how to customize them.
A new look
If I recall correctly, about a year later, I was looking at Nendoroid figures and I realized that it’d be possible to create a wide range of characters from a small number of relatively similar shapes, as long as you can capture the key, iconic features of the character, like their face, hair style and color. Although, I was still on the fence whether I would be able to create a 3D model that looked good enough. Humans are hard to model, even at a miniature scale. So I decided to make a test model and this is how it came out:
Even at the time, I didn’t think this looked all that great, but it was definitely an improvement and it was way better than what I thought I could make. This was pretty well over my own ‘good enough’ threshold and I knew that over time I’d get plenty of opportunities to refine the model. So I made the decision to go ahead with the new pawn look.
Shortly after this, I made the following test, to prove I could have a sufficiently wide range of characters and I was pretty happy with the result.
By the way, I think it’s worth mentioning that right around this time while I was messing around with these models, Blender 2.8 got released and turned what used to be a fairly painful experience into a proper good one. Being able to work in a modern interface and actually see what I was doing, thanks to the new viewport, was a really big help.
At first, I made 4 different versions of the same model for 4 different breast sizes (none/male, small, average, large) but it quickly became apparent that this setup was not going to work. Every time I made a tiny change to the base model, I had to make the same change across all the other models. The solution was pretty obvious: I needed to use blend shapes. Not only do they keep everything to a single model but I could add as many shapes I wanted and they can be fluently blended together.
Outfits and accessories
All of this created the necessity for clothing, or everyone would look suspiciously naked. I used the same method to create 3D models of outfits, sharing the same blend shapes and it looks pretty okay. I still have a lot of work to do on this front. The game only has a handful few outfits and I still haven’t made any decent male wear.
Complementing outfits, I also added accessories, which are various bits and pieces like glasses, earrings, animal tails, jewelry, etc.
Now I know that regardless of how many models I make for the pawns it will never be enough for the proverbial universe of characters players would want to create. What is Samus without her Zero suit? Just reaching a good minimum amount would be quite an ordeal for me to handle alone. So I’m not even going to try. Rather, the best option would be to open up the capability to import their own accessories, hair styles or even replacing the entire pawn.
To keep things as simple as possible, I opted for the OBJ file format. It’s broadly supported by 3D software vendors and it’s trivial to load into the game. To make it even easier, I added a one-click importer to the character creator. The easier I make this to use the higher chance there is someone would actually use it.
What’s left to do
So where are we now? What’s left to be done? Not a whole lot to be honest. The base model has undergone at least two major revisions and I think it looks really good now.
The main drawback is that I don’t have a lot of hair pieces modeled. They’ve been surprisingly hard and they have not gotten the same love the rest of the pawn has. I’m also short on outfits, specifically for male characters. My plan was to have outfits be items so you can buy and wear different outfits on different characters. Like, buy a leather bondage suit for your dominatrix kind of thing. Unfortunately I’m nowhere close to achieving that but there’s an underlying framework to support that in the future.
You don’t usually see male characters in my screenshots and that’s only because I haven’t made any clothes for them to wear and I really need to make more male hair styles.
I’ve experimented with different blend shape setups and I think I have one that I’m happy with. You can do a whole lot with what’s already there and once I improve the hair situation this should be well more than good enough. Besides, you can always replace the whole thing.
It’s funny looking back. How did we get to here when I started this post by saying I wanted pawns to be extremely simple? Well, we got here thanks to several small improvements over a long time. Every time I added something it was obviously better than before and it’s hard to argue with results. It’s more fun to play with Chun-Li when there’s a little Chun-Li on the board. In the beginning I was worried I was going to waste time on an unnecessary detail but after already having spent that time I can say it was worth it.
The modding support for House Dominae is feature complete! That begs the question though: why did I even make a modding system? Couldn’t it had waited until after release? Well, maybe, but not really. Custom content has been a high priority item since the day I started working on this game. One of my original design pillars, that’s guided the development so far, is to support any and every character – within reason.
To make that a reality I could do either of two choices: I could come up with and implement every characteristic of every popular character archetype players would ever need… or I could come up with a handful of those and let players fill in the missing pieces themselves. I chose to do the latter.
What’s a mod?
So what do I mean by mod? The word ‘mod’ often refers to some kind of homemade add-on that modifies aspects of a game, usually by loading some kind of code or custom binary. That’s not what I’m talking about here. Because almost all of House Dominae’s content is defined as XML, a mod can be something as simple as a snippet of additional XML that gets loaded by the game alongside everything else.
At first it was just going to be a folder where you would drop xml-files, but now there’s a formalized file format (it’s just a zip file) where you can add some more information about the mod (and its author) and make it a bit more functional and easier to share with other players.
The final piece of the puzzle, that I just got working, was to allow snippets of xml to be attached to character files. That will enable you to create characters with custom traits that are unique to those characters, with custom behavior, without having distribute them as separate mods.
It’s been a while since the last post and, frankly, too much has happened since then for me to fully cover it all. I must admit, I have four different unfinished drafts for posts that never got posted. Sorry about that. It’s really overdue for another House Dominae update, so here we go.
This spring has been extremely productive for me, but this is also a catch-up of sorts, and it’s going to include things that I did way back during last year. I won’t be able to cover everything in much detail. I’ll go over the big things and then just dump the miscellany as a list. I don’t want this to become another unfinished draft.
I don’t consider myself much of a 3D modeler but I’ve really enjoyed playing around with Blender lately and I was able to clean up the pawn model quite a bit. The changes are subtle but I touched up the geometry and redid the entire UV-mapping and texturing. Of course, since the outfits fit over the characters I had to redo them as well. Which gave me an opportunity to touch them up as well. I also went and bought proper models for all the animals. The ones I used before were serviceable, but not great.
There’s still much left to do, such as creating more faces and hair pieces.
Added even larger breast size shape.
Added male body shape.
Added athletic and thicc body shapes.
Added support for heterochromia.
Created more accessories and outfits.
The game already allowed you to replacing the pawn model with any custom one and I’ve expanded on that to support custom faces, accessories, hair models and outfits. Obviously this will require some 3D know-how, but if you’re capable of exporting an obj-file you should be fine.
You can now accept quests at the prostitution guild.
When a pregnancy ends you now have the option to keep the baby. The baby will be attached to their mother and must be fed regularly until they grow up into children and, if you’re extremely patient, adulthood. (I’ve added some time acceleration items to lessen the wait.)
The child’s pawn will inherit the appearance from both parents.
The actions that a character is permitted to take used to be determined by a set of simple rules that pretty much only checked whether they were a slave or not. I’ve redefined and moved that logic into a new jobs system.
The idea is that your slaves will start as prostitutes and the brothel owner as a trainer, but as time goes on and characters learn new things, they can switch roles and even specialize in the things that they excel at. Switching jobs can be done at any time but requires a set of prerequisites to be met. Some jobs will open up new activities. Others will significantly buff existing activities and services.
I’ve improved relationships between characters. It was working quite decently already but I simplified the underlying numbers and how they are presented. I also added new facets that determine the nature of a relationship. The effect is that a relationship is slightly more nuanced than just having a number going from love to hate. One of the effects is that if a character gets horribly abused you can’t just win their affection back by giving them gifts. In according with these changes there are some new relationship states like “Untrusting”, “Romantic” and “Inferior”.
House Dominae was written from the very start to accept custom user data and treat it as a first class citizen. Most of the game’s existing content was created in the same way a modder would. So what I really mean when I say I’ve added modding support is that I’ve formalized how that data should be packaged and distributed between players, how it gets loaded, and how the game should handle conflicts and errors.
Modding is clearly a massive subject; one that will probably deserve its own wiki at some point. There are very few regions of the games that a mod can’t touch and for the most part it won’t require any programming what-so-ever. That’s the idea, anyways.
Revisited the auction mini-game. There is a new mechanic for disrupting aggressive bidders.
Slaves can now be sold.
A slave’s value is determined by their stats, skills and traits.
Traits can now associate adjectives to body parts, that gets sprinkled into event texts. (e.g. “Midna’s petite body,” “Cammy’s childbearing hips,” etc.)
Stores now offer random discounts on items.
Include custom model & face texture in character files.
Added ability to add unknown/custom traits. (mods)
Can now pre-equip characters with items.
Optimized image processing. Can now import a thousand images in seconds rather than minutes and doesn’t hang the application.
Customer portraits were replaced with anonymous silhouettes.
New town locations:
Fraternize, Encourage, Intimidate, Fuck (specifically), Forced sex (rape)
Slaves can now put up physical resistance based on a hidden strength roll.
Slaves have new mental facets that determine their mental state, allowing characters to behave canonically in event texts while also changing over time.
Better camera controls.
Books and other items can now alter the sexual orientation of a character.
Defined all skill rolls up to level 10.
More content settings: Anal, Lactation.
Third gender setting: Shemales can be considered a third gender (in-world) or be restricted to player characters only (chicks.
Animated sex scenes (experimental).
Image searches improved to include both actor and receiver.
Character injuries have been refined and now includes things like soreness and swelling.
Can now harvest breast milk from slaves to sell or to make love potions.
I recently went on my annual vacation. This is usually the time when I hunker down and work on my personal projects in a more full-time capacity, instead of a couple of hours here and there. I got a ton of things done and I thought this would be a good opportunity to write an update post and talk about some of the changes I’ve made.
I noticed the game was hitching when I clicked the turn-button (~0.5 seconds) and that led me down a rabbit hole of tracking down what the heck the game was doing that was so god darn CPU-intensive. It turned out to be one of those convenience language feature in C# that is technically expensive but worth the convenience, as long you don’t use that feature tenths of thousands times in a frame, which apparently I was. The fix was fairly straight-forward and the difference in performance was immediately obvious.
However, that made me curious and I decided to do a proper performance profile and look for similar bottlenecks. I ended up finding a number of small but effective improvements, making the game much smoother to play.
House Dominae is not a performance intensive game at all, by any standard, but almost everything in the game is wired up through user-definable rules and every time something changes the game has to re-evaluate everything that may depend on that change. It becomes a domino effect and even though the rules-system is highly optimized, it gets hammered hard when passing turns.
The building generator got some attention. The building’s purpose is little more than to be a board for you to place your pieces on, but never-the-less I want it to look like a proper building with walls, doors and and furnishing.
The building generator has always had support for multiple floors but it was never truly expressed until now. Revisiting the building generation code was also necessary before I could start on the next feature…
I spent a lot of time putting this together and while you could easily argue that this feature barely even belongs in a brothel sim, it relates to my personal interests and to be honest I just had to get it out of my system.
So, you can now rent a stable which acts as a separate building to your brothel and is exclusive to horses. When you buy a horse it will show up and live there, which makes a lot more sense than having them stand around in the brothel. Furthermore, customers may occasionally arrive by horse and they will park them outside your stable. If you want to earn an extra buck you can now service both the customer and the horse they rode in on. (Thank you Delan on the Discord for the suggestion.)
Horses (and dogs) are a part of an optional bestiality-thread of the game. You can choose to play with or without them.
Brothel management stuff
As the manager of a brothel you naturally need to wield some control over your business, as well as be able to get information about how it’s doing. I’ve added a few more features to help in that regard.
You can now manually adjust the gender distribution of arriving customers. This isn’t very realistic but I believe it’s important to allow for players to have this control since it removes the frustration with having to service undesired customers.
At the same time, I added the ability to boost customer count through advertising. It’s just a simple multiplier at a daily monetary cost.
You can now control when your brothel is open for business. This allows the player free up turns for internal affairs like training or resting without having to worry about refusing customers.
This has been a planned change for quite a while. Your brothel is located in one of five districts, each populated with different qualities and types of customers. You now compete for those customers against rival brothels. At the end of the day you want all of your customers to leave your brothel satisfied. Every customer affects your overall reputation and that is what determines your rank.
Your brothel ranking serves a few purposes:
Your rank determines the count and quality of customers, replacing a much more elaborate system that was obscured by unintuitive math.
It allows me to balance the game’s difficulty in a more predictable way, which is especially important in the early game.
It’s self-balancing, so if your brothel is burdened by too many customers and is unable to satisfy them, your rank will drop and bring your brothel down to a more manageable level.
Becoming number 1 in a district is a subtle hint to the player to start thinking about moving to the next district and compete against a new set of rival brothels.
Sex simulation improvements
There is a system in House Dominae’s that handles every sexual encounter, specifically, it figures out who’s doing what to whom and what the effects are, if any. It’s easy for the game to say “they had the sex” and move on, but there’s an important difference between a slave being fucked by a drunk half-chubbed peasant, being fucked by someone they love or being fucked by a god-damn horse (especially if it happens to be their first). The system itself is remarkably straight-forward but the code has to consider countless variables and it had become a bit of a mess, in need of a clean-up. So I did just that.
The game now keeps track of participants’ phalli and orifices. Again, it’s a very simple system but at least it means that size matters. If a person is too big, the receiver may feel pain. All of these small, almost inconsequential differences trickle down to the characters themselves and gives them an opportunity to respond in meaningful ways.
Pleasure is handled differently than before. It used to be a skill check and some dice rolls, but you could run into situations where characters had sex but no one came. Now sexual pleasure is more assumed and it’s more a matter of how fast one gains pleasure and how it’s distributed between participants. With this came some new sensitivity values so that characters can be more or less sensitive in places.
It’s been over a year since my last blog post and I’ve received a lot of questions about the state of the project. Don’t worry. Truth is, I’ve been working on the game all along, as usual. I’ve just done a poor job showing off or explaining what I’ve been doing.
I’d like to remind everone to follow me on Twitter (@RealisticsSL). I put up updates and screenshots there more often, because it’s much easier. You can also join the Discord. It’s been kind of quiet, but I’m there if you have questions. (Although, I reserve the right hiss at you if your question is about whether or not the game is dead.)
What’s been done
Below is a non-exhaustive list of the changes that’s been made to the game since April of last year. At least the ones I can still remember:
Added title screen UI
New game setup (with 4 scenarios).
Load/save game UI
Customizable gameplay options, allowing players to omit things they don’t like (like dickgirls, pregnancy, lolis…)
New town locations
Clinic: Plastic surgery, sex change, sterilization.
Pet shop: Adopt pets *
Orphanage: Adopt orphans *
Added ‘Charm’ trait type, which works like a second personality trait but is purely superficial.
Ordered physical traits into a new ‘Feature’ trait category.
Removed skin tone and hair style from character properties.
Added support for transgender characters and custom pronouns.
Added several new character traits.
Added, and then subsequently removed, a skill tree system.
Insubordination/punishment system tweaked to be less invasive in day-to-day gameplay.
Obedience is no longer a character attribute, rather it now gets calculated based on the slave’s mental state and progression.
Added a new system for randomly generated characters (as opposed to player-created ones).
Character creator app was updated to reflect all the changes.
Added new hair styles, outfits and accessories.
Reworked the pawn model to use blend shapes instead of separate models.
Improved the appearance editor.
Added support for custom character models. (.obj, .mtl)
General improvements to the underlying pawn system.
Implemented support for cooperative (single-customer-multiple-slaves) sex activities, i.e. customers can now ask to be served by multiple slaves.
Reworked trainer-slave sex activities. Player can choose mutually enjoyable acts or to be purely selfish.
A character’s sexual orientation can now change through positive sexual experiences.
Reworked the customer difficulty and relevant skill rolls to be represented as stars and half-stars. A star is equivalent to a level in a particular skill. Also, results are now given a letter grade rather than a percentage score. (e.g. ‘Faced with a 2-star Peasant, Cammy’s performance only reached one-and-a-half stars, resulting in a B grade.’)
Reworked the character relationship system.
Relationships now dictate whether characters want to have sex with one other.
Changed or removed some sexual services affected by the changes above while also adding new ones.
Added a brothel management screen with general information and financial history.
Added a system where brothel services are unlocked in a ‘tech tree’ like system. *
Added a ‘Services’ tab for setting custom prices. *
Significantly improved startup performance. (It used to be unnecessarily slow.)
This has been a long-term undertaking, touching several parts of the game internals, and it’s finally coming together. Previously the primary aspects that governed slave performance were their attributes and skill levels. I’ve now added a mental layer to that equation. Feelings and what-not. Does the slave choose to do what you ask of them?
Because House Dominae is a game rife with enslavement and non-consensual sex, the answer has always been “No, of course not. But they don’t really have a choice, do they?” I’ve always thought it’d be more interesting if the answer depended on the character and that each of your slaves gave different answers.
I’ve added 5 new mental attributes:
Servitude – The desire to blindly serve.
Sexuality – The need for sexual pleasure.
Loyalty – The loyalty towards the PC.
Corruption – The decline of the rational mind.
Fear – The fear towards the PC.
All of these values contribute in various ways to a slave’s performance but more importantly they all give unique answers to why a slave would even entertain the idea of obeying you. They also give the player five different avenues of play.
For instance, if a slave is being especially unservile, you can always instill some fear in them through intimidation or a not-so-gentle slap on the wrist. Fear is a very powerful motivator.
Characters can now form their own opinions regarding all the activities they’re asked to perform. Besides contributing to their overall happiness, this adds a very pleasant variety between slaves. Instead of presuming a slave hates everything, it’s a little more uncertain now. What a character likes and doesn’t like is random, but also depends on their mental attributes and their personality trait. A character that is very sexual by nature will be more inclined to enjoy sucking cock or having anal sex than a more inhibited personality.
Health / Injuries
If you or a customer are too heavy-handed with a slave they can now suffer physical injuries. There are two levels of injury: bruises and wounds. A bruise will reduce the Appeal of a slave but they will heal after a while. Wounds are a bit more severe and they will need to be bandaged, or there’s a risk that they turn into a permanent scar. If a slave’s health should ever drop to zero, they get moved to a hospital for a few days to recover.
The character screen is a part of the UI that I’m constantly revisiting and iterating on. It’s more or less the player’s main window into their characters and I’d argue it’s the most important UI in the whole game.
Since the very beginning I’ve presented character attributes as horizontal bars, with the intention of conveying that 1) bigger numbers are good, and 2) the player should try improve them if they can. But lately I started experimenting with alternative ways to present these values and I ended up with taking a page from good old D&D.
That is to say, instead of having some loosey-goosey decimal value between 0.0 and 10.0, I’ve changed it to plain whole numbers in the range from 0 to 20. Mathematically this doesn’t make any difference what-so-ever but I think it makes for a more legible UI and makes them easier to understand.
Character report / Statistics screen
I’ve added some UI to display historical information about individual slaves. You have a list of every customer they’ve served, how well they did and how much money they earned. I also added a line graph for good measure.
And because I’m now tracking all of this historical data I also added a statistics screen to enumerate all the things your slaves has been doing. I truly enjoy knowing how many cocks Cammy has sucked.
Activity internals improvements
A lot of the features above were made possible because I’ve made some very important improvements to how the game handles activities, i.e. the tasks you give your characters. You have to consider the fact that none of the activities in House Dominae, at least not the sexual ones, are hard coded. Instead they’re defined in XML-files, with the intention to supports any activity, and where players can add their own activities, just as they would add their own characters.
So therefore, the game didn’t actually know anything about the activities internally. All it knew was the participants, which skills would be used and and how much money you’d earn. I could do things like deduce the activity from the relevant skills but I knew that wouldn’t be very accurate.
The XML-block above describes the vaginal sex activity in simple words the game engine can understand. Basic nouns, verbs, that sort of thing. And through this simple method, combined with the information it already has, the game can actually deduce a lot of useful information. From this it can determine that the slave is being fucked and therefore would break virginity, potentially cause pregnancy, or even hurt the slave if the other participant has a sizable phallus.
The preferential system is built on top of this, by pattern matching the keywords. If a character hates doing the activity, their morale will suffer from it.
Finally, and I only put this in this yesterday, female (and some shemale) characters can now be impregnated, either by a random customer or any of the playable characters in the house. Every time someone is fucking someone there’s a chance they’ll cum inside, and then there’s a small chance for conception. However, the pregnancy won’t become apparent until a few days later.
Pregnancies don’t last for a full 9 months, rather it’s around 50 turns, which still feels like a long time in game. As the pregnancy progresses, the character will develop new physical features associated with pregnancy, that customers may or may not be into. Eventually, when the baby is born, it’ll be immediately taken from its mother and given to an orphanage, never to be seen again.
Of course, even if there’s a very small probability for a character to become pregnant, that probability approaches 100% if you play the game long enough. Therefore, I’ve put in several countermeasures for players who don’t want to interact with the pregnancy mechanic:
You can turn the whole feature off as an option.
You can toggle the use of contraception, which nullifies conception on a character-by-character basis.
A character’s fertility can be controlled via traits like: “Barren”, “Infertile” and “Fertile”.
Considering it only took me a day to implement the pregnancy mechanic, I think it’s safe to say the game’s systems have reached a decent level of maturity. I’m very happy with how things are turning out and I’m really having fun playing around with different traits and features.