Reputation and slave levels

I’ve had a couple of unproductive weekends. Long weeks at work made me want to play games rather than make them. But a few things have happened since my last update.

Reputation & Influence

I’ve implemented the reputation system, pretty much how I’ve always intended it. The idea is that every customer that leaves your brothel will talk about their visit to other people, affecting your brothel’s overall reputation. Happy customers raise your reputation and unhappy customers lower your reputation. Unserviced customers will lower your reputation by a small degree.

The higher your brothel’s reputation, the more customers it will attract. The net effect is that you’ll start out with just a handful of customers and (granted you do a good job) more will arrive

over time, eventually in groups and of higher social class. It makes the start of the game calmer and easier to manage with a small slave count.

At the end of each day, your reputation score converts into Influence points. Unlike reputation,

influence is a resource you keep until you choose to spend it, either in the Senate or the Slavers’ guild (when those are implemented).

Slave level

I’ve re-designed how slave levels work. Previously a slave’s level was a measure of how well they had been trained. More like an at-a-glance view of a slave’s overall skill (and worth).

In the new system, a slave’s level indicates how well they’ve adapted to their life as a sex slave. A level 0 slave would be one that was recently thrown into slavery and are still clinging to their old life. Conversely a level 3 slave is one that has embraced their new life as a walking cum bucket and takes pleasure in servitude.

This change allows the game to make a better distinction between different slaves’ “slavey-ness” and can describe sex encounters more accurately. For example a low level slave encounters will be written more resisting and rapey while well-worn slaves will be written with more compliance or even gleefulness.

In addition, raising a slave’s level will boost some of their stats, like obedience. Leveling up a slave costs gems, which is another resource you earn whenever a slave orgasms.

Groups

Groups

As I hinted in an earlier post, I’ve been working on group activities. This will open up the possibility for threesomes and group sex with customers. Before, customers could only be individuals but now they can arrive in groups and ask for group-y things. So far I can only do group activities with a single slave, and I haven’t written up any texts yet. Good progress, none the less.

Auction game

I only just threw this together today but I’m still going to mention that I’ve finally added a basic slave auction mini-game. To buy a slave you must bid against an assortment of rivaling slave traders. There’s a high degree of luck involved but I’m quite happy with how I was able to balance it so that the auction price ends up being very close to the actual

hidden value of the slave.

Auction competitors will show a random degree of interest in the slave and bid accordingly, and within reason. If you’re lucky only a few will show interest or even drop out early. I also took steps to make sure the auctions move along at a brisk pace, and not waste the player’s time too much with indecisive AI.

Bed bath & beyond

I haven’t posted an update in a while so let’s fix that.

Building stuff

An earlier question spurred me to work on the building generator and to implement some different room types. I made a bathroom. For bathing! In fact, the exercise of implementing a new room type forced me to replace a bunch of old placeholder code with a more proper implementation.

Random events

I added an early, but functional, random event system. These events can trigger – randomly – when a specified condition is true for any slave. I’ve experimented with this before but I was missing the part where a player decision could affect the state of a slave.

As a proof of concept I made a random event that, if a slave’s health got too low, they could get sick (or not). I then made a second event that would randomly make a sick slave healthy again, as if they had recovered with time. I thought it was kind of an interesting concept and I’d like to explore it more.

I still have to write up a bunch of (hopefully interesting) events, but at least the technical details has been laid out.

Stress

This is a really minor thing, but I flipped “happiness” around and called it “stress” instead, and immediately a lot of my math and simulations started making more sense. For instance it doesn’t make a lot of sense that taking a bath makes you happy, but it does make sense that it relieves stress; and anything that could be considered “unhappiness” translates very well to being “stressful”. It also removed some ambiguity with “Morale”. See? Game design!

Greetings

Another minor thing. You can now place one of your characters in the entrance to greet arriving customers. A social skill check is rolled and if it succeeds a bonus is added to all working slaves’ own social skill checks. This means a highly social character can assist socially inept slaves.

It’s not very significant but it’s something a player character can do to contribute to the business of whoring without actually whoring themselves out like a lowly slave.

What’s next?

Looking down on my notepad I’ve written “Multi-event ?”, which is to say I’m considering adding two new activity types: single customer on multiple slaves and multiple customers on a single slave. This will open up the possibility for a wider range of customer requests, like exhibition acts and group sex.

This is an interface/assignment problem more than anything but I think it could work.

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.

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.

Taking inspiration from other games

I’ve been playing two new games recently,

Yakuza 0, and SoldGirl Town. The latter is a straight-up sex slave simulator while Yakuza has an action-adventure game with an optional “mini-game” where you run a hostess club.

These two games are obviously wildly different, but they share a common element, and that is how the player is tasked with matching girls with customers.

So far I’ve gone out of my way to hide numbers from the player. At any point where I do show numbers I always try to associate it with a word, to at least give the player a chance to ignore the underlying math.

The thing that I have come to realize is that sometimes it does makes sense to expose the raw numbers, in order for the player to better understand the rules and make educated decisions, and to form plans. So I think I may need to relax the roleplaying part of House Dominae on behalf of the simulation game part.

Yakuza’s system is simple and easy to understand. Customers drop in with random values in three stats:

  • Primary preference (Talk, Party, Love, Skill)
  • Secondary preference (Sexy, Beauty, Cute, Funny)
  • Money on hand (Poor, Average, Wealthy, etc…)

     

The primary and secondary preferences directly correlates with stats for each girl and the player must match the best girl for all customer, (or save them for higher paying customers.)

The customer may get annoyed and leave if you give them a bad match. The secondary preference isn’t as important but it helps to make the customer spend more money. Wealthy customers have higher demands than poor customers, but they spend a lot more.

I haven’t played a lot of SoldGirl Town yet, and it took me a couple of attempts to break through the language barrier, but I think I’ve gotten a pretty good early grasp at its system.

In SoldGirl you kidnap girls and force them to work as sex slaves. Each girl has three key stats:

  • Appeal
  • Technique
  • Nymphomania

Unlike in Yakuza you’re not matching these values against individual customers, in fact you have little control over customer matching, rather they determine the girl’s success rate against groups of customers. High-stat girls can be placed in higher paying areas, netting you higher profits.

So what does this mean for House Dominae? Well, I haven’t implemented any of my ideas yet, but I’m strongly considering having some kind of archetypal matching between customers and slaves.

One possibility is that customers arrive with a very obvious requirement, like “I want a girl with Beauty 5 or higher”. The old me would cringe at that, but I believe that is much more easier for the player to reason with. They can immediately find a compatible match, and make additional considerations if they choose to. Or if they don’t have a suitable slave that can potentially create a new short-term goal.

Was this interesting? Let me know. More updates soon.