Summer dev log (long, catching up)

Unity update

I moved the project from Unity 5.3.4 to Unity 2018.1.6. Unity 5 is getting pretty long in the tooth and I really want to implement TextMesh Pro (alternative text rendering plugin). Experience tells me that you should always avoid upgrading engines or APIs that your project is relying on but I figured I had the time and if I was ever going to do it, it’d be now. If you’re lucky nothing breaks but you can’t ever expect that. Truth be told, you never know until you try.

Technically, only one thing broke. Unity removed MSAA from UI canvases rendered in Screen Overlay mode (default camera). It made some screens, like the building blueprint screen, really, really ugly and unfortunately the solution to that issue was to change the rendering of every single screen in the game and that cause a whole mess of issues. It was a domino effect of shit. It wasn’t hard to fix but incredibly tedious. Eventually I was able to put everything back in order. #NeverUpgrade

TextMesh Pro

It’s a really good text rendering engine but the feature I wanted the most is its ability to insert arbitrary sprites in text.

Improved “Battle system”

If you squint really hard, House Dominae is almost like an RPG, where your slaves are party members and customers are enemies to battle and defeat. That’s honestly pretty close to how I’ve been looking at it. There is a system in the game where slaves encounter customers and attempt to defeat them, except not with swords and magic but with their bodies and skills.

Inspired by these ideas I made some changes to how the customer-slave encounters play out. Previously, slaves would roll dice based on the amount of experience points in their relevant skills. Those rolls would be modified by various circumstantial modifiers like gender/orientation compatibility, tiredness, etc. until finally tallied up and compared to the difficulty of the requested act.

That system worked well enough but while playing the game I observed that it felt really binary. Your slaves would either fail every time, or they’d succeed every time and it just wasn’t very interesting. I tried making the limit more fuzzy by allowing slaves to soft fail, i.e. get the job done but poorly.

The new system is closer to an RPG battle in the sense that every customer has a climax limit (health) and the slave gets multiple attempts (attacks) to reach that limit. If a slave can’t immediately satisfy a customer they can make an additional obedience check to see if they want to continue. Customers will do a similar “patience” roll to see if they’d want to continue. As long as both agree the slave can keep swinging. The result is the climax ratio the slave delivered divided by the number of attempts made. This means that a slave can “succeed” by 30%, which would be considered a poor result. They can also succeed by 200%, which could be interpreted as the customer cumming twice.

This level of granularity means that the progression of each slave’s performance will feel much less binary. Additionally all these values are fed into the text generation system so you can write really creative and detailed descriptions.

Foreplay

The service phase has been removed and is replaced by a foreplay phase. Unless they fail an obedience check a slave will always perform some kind of foreplay at the start of a customer encounter. They will maybe flirt or do a little striptease dance before moving on to the main event. This will cut off a small portion of the customer’s climax limit, making the encounter slightly easier.

Skills now have discrete levels

A slave’s performance in a skill used to be based on the precise value of experience points for that skill. That’s been changed to a more typical leveling system. Skill rolls are based on the level for that skill.

Obedience rolls

Obedience dictates whether or not a slave will do as they’re told. They can either accept a task, resist it, or refuse it entirely. I had a similar issue with obedience rolls as I did with customer-slave encounters where the rolls felt really binary. Either a slave would refuse everything or they’d agree to everything.

Thankfully, this didn’t need as big of an overhaul. I changed up the math to a much simpler (and to me, more predictable) look-up table. It gives me better control and I can tweak it as I go along.

It’s a tricky balance because I want Obedience to matter while not making it so that a slave can constantly disobey and drag the game down. This should work for now though.

More LUA stuff

Finally, this past week I’ve made some good progress with custom activities, scripted in LUA. Most has to do with exposing the necessary functions to the scripting environment, writing helper functions and sample scripts.

So far I’m very happy with how it’s turning out.

Experimenting with LUA

So far, almost everything in House Dominae is read and parsed from external text files (read: moddable AF) with one exception: activities (”sleep, work, clean”, etc.), because they are mostly logic.

I’ve been experimenting with adding custom scripted activities using LUA. LUA is a pretty common scripting language and is often used in games due to its simplicity.

It’s working quite well and I’m curious to see how far I can take it.

Techniques

What a productive weekend!

In House Dominae, any characters can attempt to perform any act, except they will fail 100% of the time unless they have the necessary experience points relevant to that act. I want it to be an open system but it also meant that it’s hard to discern what your slaves are capable of, without knowing the numbers.

To alleviate that issue I added something that I call ‘techniques’.

The basic system remains the same, except now when a slave gains a sufficient amount of experience in a certain discipline, that gets reflected by them learning a new technique, clearly shown in the character window.

Customers will only ask for activities if one of your slaves possess the technique relevant to that activity. The net effect is that advanced activities won’t be introduced until you have someone capable of performing them.

A secondary benefit of techniques is that you get a better sense of a character’s growth and it’s easier to compare them.

Books

Almost as a direct consequence of adding techniques, I felt the game could use more alternative ways to gain experience.. so I added books! and a book store!

You can buy books and give them to a character. They can then read that book up to three times and gain experience on the subject of that book. Once a character is finished reading a book it stays in your inventory and you can give it to someone else to read.

There are advanced books and rare books too, so it’s a good idea to check the book store regularly to see what’s for sale that day.

Rooms, Furniture, Props

I’ve been working on rooms and room upgrades across a number of weekends. I’ll be honest, this has not been the most fun task for me, but a necessity since upgrading your brothel is an important progression mechanic in the game.

As the owner of the brothel, one of your jobs is to assign a purpose to each room, and to maintain and upgrade them. You can only house as many slaves as you have beds so if you want to grow your business you will inevitably move to larger and more spacious buildings.

Admittedly, a lot of the rooms will be bedrooms, but I intend to have a number of other useful rooms available. One example is the bath, where characters can go to cleanse and reduce some stress. Another is an isolation room where you can confine slaves either as punishment or to slowly eat away at their psyche.

But all of this required a decent amount of foundational work. Work that is now mostly complete. Rooms can now be dressed up with furniture and props based on the room type and level. The game is now also smart enough to where it can utilize the same prop placements regardless of a room’s orientation or dimensions, which I hope will save me a lot of time putting them together.

Two things

Two things

Renting buildings
This weekend I put some work into the game’s building mechanic.

You’ll start the game in a building just big enough to house you and your one starter slave. To progress and expand you’re going to have to move your brothel to successively larger buildings. Every building has its own room layout, which is an important consideration because the size of a room determines what type of room it can be.

You can also choose which town district your brothel is situated. The location of your brothel will heavily influence the kinds of customers you can receive.

Naturally, all of these considerations will affect the rent so choose wisely.

Hermaphrodites
I also made a small but critical change to the shemale gender. They can now have both male and female genitalia. (They used to only have male bits.) I really liked the idea of a well-defined third gender and how it created a nice symmetry with the other two genders. At the same time this is stuff people really care about and in the end, the less restrictions on character creation the better.

Shemale characters with both a penis and vagina is now referred to as “hermaphrodites” but are still considered to be members of the same gender as their vagina-less sisters. They’re a little OP, because they they get the best of both worlds, but so be it.

Influence points (again)

I reworked how you earn influence points in House Dominae. Influence is an important resource that you spend on things that money can’t buy. It’s like a social currency and you need it’s to gain access to the in-game bank, as an example.

Previously you would passively earn influence points based on your current reputation score. As long as your reputation was high, you’d gain some influence every day.

In testing I discovered that this mechanic just doesn’t work. You’d start the game earning no influence at all and once you’d get a little bit of reputation you were swimming in it. I tried balancing the numerical values but it became apparent the system was fundamentally flawed.

The new system will assign influence points to individual customers. To claim that influence you must satisfy their request. You can imagine these customers being influential people that will spread word about you even after visiting your brothel. The likelihood of a customer being influential depends on their social class.

I really like this way of doing it because it directly ties into the rest of the gameplay. When an influential person shows up in the customer queue I really want to make sure that I assign them to a slave that has the greatest chance of satisfying their request.

Piercings

Piercings

I kinda got carried away with the item system and added piercings too. Now there’s a beauty salon the player can visit to add piercings to slaves (as well as the PC).

They’re mostly cosmetic, in the roleplaying sense, but I took a page from Corruption of Champions’ book and you can get special gemmed piercings that grants a permanent buff to the character, depending on the gem and location of the piercing.

Items, Equipment

Items & equipment

I’ve been home sick and to pass the time I added items to the game. It works just as you’d expect. You’ll be able to purchase items in a store and use them to improve your slaves.

Items can be worn (equipment), consumed (potions, drugs) or be given to a character to be used in certain activities (sex toys, etc.) I’m also considering gifts.

Worn items can apply stat modifiers and grant status effects. It all kind of ended up working right away. I’m looking forward to expanding on this system in the near future.