Version 0.3.1 released

Tue, 01/01/2013 - 21:15 -- BlueWinds

This release is incremental, not nearly as radical in its changes as 0.2 -> 0.3.

  • Tentacle attacks are working 100% again (there were multiple bugs involving them).
  • There is an additional variant on the Expose action.
  • It contains two new girls, Jill and Yuna, thanks to ggyppt.
  • Yuna has a custom action.
  • There are two new events locked behind the new Rape fetish tag, involving a group of thugs in one case and the city guard in another.
  • Content authors can now create girl-specific missions and events, as well as actions.

Things not done, but in the works for 0.3.2 (I know, it's most of the things from the last list, but I decided to do faster incremental numbers rather than large monolithic blocks):

  • Error handling and logging, so that partial turns are less common and they show up on the screen for easier reporting.
  • More room types, and the option to sell your building.
  • A special upgrade for the Theater, to make it actually worthwhile in comparison to the Onsen.
  • More content for the existing girls

0.3.1 also has a new fetish tag, Rape, which like Tentacles, is turned off by default. There will soon be an interface for changing enabled fetishes mid-game, but until that occurs, you can turn it on in an existing game using the javascript console. You can bring up a console in FF/Chrome with ctrl-shift-j, or in IE9 with F12, then click on "console." In any case, load the old save in the newest version and put

g.fetishes.rape = true;

into the console and hit enter to enable the new event.

Though rare (3% chance if outdoors), getting attacked by the city guards will also show you the biggest new feature, in-turn decisions. This city-guard event is merely the first example - there will be more events and missions utilizing this feature in the future.

If you have written custom content using

variants: function(...) {...}

then something has changed - please see content/actions/Schools.js, with the Expose action, for a very simple example - or content/events/rape.js for a much more powerful and complex one, including requesting input from the user. That same function, Game.getUserInput(), can be used to ask questions during actions as well.

As always, bug reports are appreciated. Now that I'm back from vacation, I should be responding to questions on a regular basis again.


Isshin (not verified) on

Would just like to mention that I think your game is great. I don't have a coding background but I managed to figure out some of the simpler functions and start creating custom girls, missions  and buildings.

The game in the latest zipfile seems broken. The streetwalk action does not execute properly while every other action is fine. Or rather it does seem to execute but it does not publish properly. What i mean is clicking on the next turn button when a girl is set to streetwalk does not display a result. Opening and closing the girl command screen  will cause the results screen to appear. I had a quick look through some of the files and noticed that prostitution does not use the new var function(time, action, done) format. I have no idea if that is relevant.

Other than that, great work. The new userinput function looks interesting. I still can't figure out how to directly assign a girl to a mission or to have a mission/event reward a specific girl. I assume the commands are in the game somewhere but I have no idea where to look. If it's possible, could you provide a glossary of game commands? Would greatly appreciate it. 

BlueWinds on

Aye, the Streetwalk / Whore actions were indeed broken - thanks a bunch for the bug report! It's fixed now.

As far as the girl-specific stuff, take a look at content/girls/Sophitia/base.js, lines 85-88. It's really sparse documentation, I know, but hopefully it should help. Try copying one of the Events directly into the girl you're working on, so it looks like this:

Girls.MyGirl = {
events: {
tentacleAttack: {

You can modify the event from there, but I always like to start by setting "likelyhood: 1", so that the event comes up every turn for easy testing (and I know it's working).

Isshin (not verified) on

Happy to be of help. Which particular files were broken by the way? I have a bunch of customised files and want to be careful about accidentally replacing them. I didn't check the sophitia file earlier, will look into it tomorrow. Thansk a bunch!

Dienn (not verified) on

I can't wait to see if my DependentStats works now. Have you received my girl?

BlueWinds on

I have. It may be a while before I get around to adding more girls to the game - at the moment I want to focus and getting more content for each of them.

In the future, each girl will be a slightly different experience, with a story and missions and her own little quirks. Ultimately, the game is (in my mind) more akin to Slavemaker 3 than SimBrothel (or the billion and a half clones).

ShadowArcher (not verified) on

I'm playing the new updated version in the browser and I can't see any of the pics for Jill. They are all little papers with a jagged line through it. Otherwise, I haven't seen anything else wrong.

Don't know if it's just me but when i have two girls whore in the theater early on they don't servise all the people that come into the theater. One time i had only three customers come in while i had Kirino and D.M.G. whoreing, and they only servised one person.... So I'm just saying i know Kirino can service five or so from the start.


Again that's all i found. Keep it up and i hope you had good holidays.

ShadowArcher (not verified) on

ok another problem with Jill. I don't know if it's just me or if she is majorly imbalenced, but she will not service more than one person, at most two, and she has 80 constitution. Maybe I'm just picky, but that doesn't seem right.

Oh and correction to the first post some of Jill's pictures do work, but not rest, exersice, study (sex), and expose so far.

BlueWinds on

Hm, can you send me an export of your save-game? That's not an issue I 've seen before - and you're definitely right that those numbers of customers aren't right (either for the Whoring from your first post or with Jill in the second).


I've fixed several of Jill's pictures - let me know if there are any still broken.

Anonymous (not verified) on

very good game thanks for doing it i have enjoyed playing it

Anonymous (not verified) on

i found a small bug i think:


Day 783
Cash on hand: $184121
Payment of $36000 due on day 810
-63 days to end of debt
as you can see  i still have to pay the debt even though it said the days to pay it are -63 days ago


BlueWinds on

Yeah, this is a known bug. The Loan and associated story have sort of fallen by the wayside as the game's developed further - I intend to fix it up sooner or later here, but probably later.

For the next version, I'll at least stop the loan from growing indefinitely into the future and displaying the negative number of days.

S.T (not verified) on

Just wanted to know what the rate for tentacle is. I've had two girls out Excercising at Evening for the last 30 days or so and there's been nothing, so I was just a bit curious as to the percent chance for the event.

S.T (not verified) on

Not sure if this is the problem, but it shows up in the console.



Uncaught TypeError: Cannot set property 'thugRape' of undefined events.js:28
Uncaught TypeError: Cannot set property 'tentacleAttack' of undefined events.js:28




2Uncaught TypeError: Cannot set property 'guardRape' of undefined events.js:28
Uncaught TypeError: Cannot set property 'tentacleAttack' of undefined events.js:28


BlueWinds on

This error message is definitely the cause of your previous comment about tentacles not attacking. I'm not able to trigger it in any of my browsers though. Can you do a hard-refresh (ctrl-F5 on windows or Linux, not sure the shortcut on a mac) and see if the problem persists?


The chance is 8%, by the way, or it would be if it were working for you.

S.T (not verified) on

I did a hard refresh and the error messages did vanish, but a few after a few days of the girls Excercising, the errors showed up again. 

BlueWinds on

Ah, figured it out. That was an annoying bug to track down - like trying to proofread your own writing, your eyes sort of see what you meant, rather than what's actually there.

I believe it's fixed in the latest dev version. Please reload/download, and let me know if it continues to show up.

S.T (not verified) on

Nope, it's been fixed. 

S.T (not verified) on

Restarting my computer doesn't seem to do anything either, still getting the errors.

Orden (not verified) on

It seams that you insert all the different scripts in you index.html page. When 200 girls will be availables, do you plan to insert them all ? What about memory and time to load the page ?

Maybe I should be easier to have one page per screen, for example: turn_message.html and girl_details.html. You can then call girl_details.html#yuna and the javascript will load the data in the yuna directory only.

To keep yuna modified informations between pages, you can store them in the localStorage key value pair yuna => {json serialised data}.

For the quests and other embeded stories (like in Slave Maker 3), you could use Undum. It's a nice javascript lib for text and images storytelling:

BlueWinds on

I do plan to move to dynamically-added <script> tags in the near future, for multiple reasons - but I definitely want to keep it a single-page webapp, precisely *for* performance reasons - I can initialize everything once, and then just manipulate in-memory data, rather than having to re-load the entire game every time the user clicks somewhere.

The memory requirements (and save-game size) will remain negligable even when hundreds of girls are included - I actually did some real profiling on this to verify. ;)

Basically, each girl is represented by two Javascript objects - one "master copy" and one "current game" copy. Each one is ~5kb in memory or 2kb on disk, so ~10kb per girl. 500 girls * 10kb = an astonishing 5mb. That's... not large. And the same-game would only be 1mb. I'm fine with that resource consumption.

That framework looks nice as far as it goes (and it sure looks a lot better than RAGS, which way too many people are stuck on), but it's not a good match for a game like this - the game-state is too "integrated". The quests aren't interactive fiction so much as single decisions, which can have complex results on the whole game-state.