mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
Ah so considering I clicked 3 times and got UC each time, I just happened to be very unlucky and clicked 3 of the only 5 options that lead to UC :D

I don't necessarily dislike games in such early versions, but I do question the motives of uploading them... With so little content there's very little feedback to be had, I suppose.

Either way, to quote a great thinker from a galaxy far, far away, 'I will watch your career with great interest'.

And hopefully a hard-on down the line.
Actually, the feedback I've gotten has been tremendous and extremely helpful. I think uploading super early versions is a great way to both get some extra motivation to continue development as well as guide things before solidifying potentially bad mechanics. Finally, I had a special reason for releasing super early: because I had to take the scrutiny of the Free Cities community, very judgemental (for good reason), and with high expectations. If I had waited another month and uploaded something without their input, had it been bad, it might've completely crushed my spirits. Having a community building on Discord of people who are excited and want to help shape the direction of the game feels more like I'm developing with the community rather than for the community. The experience has made me decide solidly to commit a lot of my future to make this shared vision come to fruition.
 

MaxTheDark

Member
Apr 11, 2021
349
354
Actually, the feedback I've gotten has been tremendous and extremely helpful. I think uploading super early versions is a great way to both get some extra motivation to continue development as well as guide things before solidifying potentially bad mechanics. Finally, I had a special reason for releasing super early: because I had to take the scrutiny of the Free Cities community, very judgemental (for good reason), and with high expectations. If I had waited another month and uploaded something without their input, had it been bad, it might've completely crushed my spirits. Having a community building on Discord of people who are excited and want to help shape the direction of the game feels more like I'm developing with the community rather than for the community. The experience has made me decide solidly to commit a lot of my future to make this shared vision come to fruition.
That is interesting, I assumed that early on it's too hard to tell what works and what doesn't. When I was trying to develop my own game I was quite far into getting the engine to work well before sharing it with people (then again, it was Flash...).

And I guess value of feedback when adapting an older game is rather crucial, so godspeed you magnificent bastard :)
 

scrooloose123

Newbie
May 1, 2021
17
136
How do you feel about the idea that relaxing should restore stamina? Maybe only by a small amount?

When I have some nocturnal activities in mind, I have to relax to advance time until everyone goes to bed. Only sometimes I'm so worn out by all that relaxing that I'm too tired to do anything.
I second this, it is (to put it mildly) counter-intuitive and by 10PM I'm unable to molest the slaves because the stamina bar is empty.
 

f*kitol

New Member
Mar 8, 2021
4
0
Built a socially-oriented character and see... just nothing at all going on here. I can go train in the barracks, work in the mines, or go to the market stalls and trade.

Third option seemed like the obvious pick for me, but I just see some meaningless numbers and no way to haggle or anything like that. I gather I can fork out a large amount of money weekly at the trade union to get access to some further meaningless numbers. A table or chart here would be nice, unless I'm supposed to keep my own notes. Which seems like asking a human to do something a computer would be better suited to. In any case I'm skeptical that a post-apocalyptic pseudo-medieval society engages in trade using highfalutin' notions like sigma, theta, and (whatever obscure metric the trade union offers), while also lacking the capability to present anything other than their momentary values.

Go home and I can "influence" the other slaves (but not the master). Which results in an utter pittance of attitude changes (and notably making a dirty joke seems beyond my superior social capabilities). Grinding away at them for a week and they're still "cold" and "skeptical", and no indication of what building relationship might accomplish. I am not sure what I stand to gain from having the lower slaves like me, other than they don't get quite so upset when I send them off to the brothel? Oddly sending them to the mine isn't even an option. Seems a little presumptuous to be embezzling the master's slave labor in any case.

I assume my skills would be better employed at one of the many presently-under-construction buildings. Possibly disable/hide/remove relevant traits and statistics until they're useful in some way.
 

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
I second this, it is (to put it mildly) counter-intuitive and by 10PM I'm unable to molest the slaves because the stamina bar is empty.
No, stamina will not be restored by relaxing because if that were the case one could stay up forever, and sleeping every day is important as many update events occur then, so the aggressive stamina drain is to ensure players sleep.

Relaxing does however decrease stamina drain rate, but it will always be falling. If you spent the entire day relaxing you can make it to 3am no problem, but working drains your opportunity to do so. If you want to stay up late, increase your strength, that also reduces stamina drain. What slave has the luxury of freetime when they should be working afterall lol.

In all seriousness, in the next update if you want to stay up all night, super easy mode will remove the work requirement to retain obedience, and easy mode will reduce 4 hour requirement to 1, and also remove the less than 20 stamina requirement to not lose obedience.
 

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
Built a socially-oriented character and see... just nothing at all going on here. I can go train in the barracks, work in the mines, or go to the market stalls and trade.

Third option seemed like the obvious pick for me, but I just see some meaningless numbers and no way to haggle or anything like that. I gather I can fork out a large amount of money weekly at the trade union to get access to some further meaningless numbers. A table or chart here would be nice, unless I'm supposed to keep my own notes. Which seems like asking a human to do something a computer would be better suited to. In any case I'm skeptical that a post-apocalyptic pseudo-medieval society engages in trade using highfalutin' notions like sigma, theta, and (whatever obscure metric the trade union offers), while also lacking the capability to present anything other than their momentary values.

Go home and I can "influence" the other slaves (but not the master). Which results in an utter pittance of attitude changes (and notably making a dirty joke seems beyond my superior social capabilities). Grinding away at them for a week and they're still "cold" and "skeptical", and no indication of what building relationship might accomplish. I am not sure what I stand to gain from having the lower slaves like me, other than they don't get quite so upset when I send them off to the brothel? Oddly sending them to the mine isn't even an option. Seems a little presumptuous to be embezzling the master's slave labor in any case.

I assume my skills would be better employed at one of the many presently-under-construction buildings. Possibly disable/hide/remove relevant traits and statistics until they're useful in some way.
Manipulation and tact are very important stats, I’m unsure why you’re having trouble telling a dirty joke if those values are high, are you studying in the library? The cutoff for doing so is relatively low, and it’s pretty much required to if you want to have consentual sex at low affections. You can significantly alter affection through sex, which is also manipulation dependant if you aren’t strong and have low affection. Finally it is true that the stats don’t help too much in the means of generating money, I’m fixing that in the next update.

About embezzling money, you pay for the opportunity cost of not having slaves do their usual duties, which scales with the status of the slave. Working at the brothel also gives Shintani a hefty cut before calculating opportunity cost.

Finally, the market stalls are not meant for trading, they are primarily meant for selling because the spread is so high. The spread should also scale a little with your tact + manipulation so it does benefit you slightly. And using the social route to gain affection allows you to bypass lots of payments like paying for the library key etc. There’s quite a lot to do with these stats. Again unsure why you haven’t been able to do much. If you are just starting out without studying in the library it should be normal to not be able to do anything. While your background is helpful, it’s not going to completely make things go easy for you.

Edit: Also I am planning on adding graphs, but I have no good way of doing this right now and it's a bit of an algorithmic challenge because I would need to save the past N values, and since time passes in a non-uniform way, I would need to interpolate between points of time. But then interpolating between points of time generated by a stochastic differential equation is nontrivial as well. But I am definitely looking into it! Thanks for the suggestions nonetheless!
 
Last edited:

f*kitol

New Member
Mar 8, 2021
4
0
Re: library, no. The head slave wants $500 for access to it, and I got a little tired of mining :shrug:

Re: giving orders to the other slaves, maybe clarify in dialog that you're permitted to use them for your own pursuits (similarly, the requirement of working 4 hours a day in the house to maintain trust/obedience isn't mentioned as far as I remember).

Re: charts, I think you're overthinking it. You don't need to interpolate over variable lengths of time, you just need to sample at fixed intervals before advancing variable amounts of time. Example: assuming current price is a function of in-game time, previous price and and some PRNG sample, or something along those lines: when you would advance in-game time, instead of immediately advancing the in-game clock by X minutes, first sample at the next fixed time interval (say, every 15th minute), push the samples to your price history data set; advance another interval, repeat, etc. until X - current time < interval. Then update game state and UI.

If your price sampling function does not work anything like that, consider refactoring :joy: But even if a huge pile of game state factors into spot price at any moment in time, advancing state a couple dozen short intervals instead of one large one per time advance is going to have a trivial impact on the game's performance as long as you don't update UI.

Similarly if you want to start with historical data, take your first sample at day zero - 30 days (or whatever), step through intervals until you reach day zero, then start the game.

If all that ain't gonna work for some reason you *could* just use plain ol' linear interpolation between two samples at arbitrary times and introduce a little wiggle into it however you like. Remember it's just a game. The point is to give the player some visualized notion of how the market changes over time and what kind of movement to expect, not to fool a stock broker into thinking he's looking at a real chart. (Edit: yes, your long-term simulation can be more detailed and constrained, and will have to be if you're trying to simulate/emulate a working economy; but the chart can be pretty fake and you'll get away with it).

For display just grab yourself a chart library. Don't go messing with writing it from scratch. It's not that hard, but it's a big waste of time as javascript's canvas API is very low-level and tedious to work with. E.g. chart.js will get the job done and is free/open source. All you have to do is give it a canvas element to draw to and your pile of data points, then tell it which properties to use for the axes. It has a few options for using bezier curves if you really want interpolation, but a candle chart would probably be more on-point anyway.

You can lay out your stored price samples in the same structure your chart library expects and then just pass your stored data to it directly - easy peasy.
 
Last edited:

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
Re: library, no. The head slave wants $500 for access to it, and I got a little tired of mining :shrug:

Re: giving orders to the other slaves, maybe clarify in dialog that you're permitted to use them for your own pursuits (similarly, the requirement of working 4 hours a day in the house to maintain trust/obedience isn't mentioned as far as I remember).

Re: charts, I think you're overthinking it. You don't need to interpolate over variable lengths of time, you just need to sample at fixed intervals before advancing variable amounts of time. Example: assuming current price is a function of in-game time, previous price and and some PRNG sample, or something along those lines: when you would advance in-game time, instead of immediately advancing the in-game clock by X minutes, first sample at the next fixed time interval (say, every 15th minute), push the samples to your price history data set; advance another interval, repeat, etc. until X - current time < interval. Then update game state and UI.

If your price sampling function does not work anything like that, consider refactoring :joy: But even if a huge pile of game state factors into spot price at any moment in time, advancing state a couple dozen short intervals instead of one large one per time advance is going to have a trivial impact on the game's performance as long as you don't update UI.

Similarly if you want to start with historical data, take your first sample at day zero - 30 days (or whatever), step through intervals until you reach day zero, then start the game.

If all that ain't gonna work for some reason you *could* just use plain ol' linear interpolation between two samples at arbitrary times and introduce a little wiggle into it however you like. Remember it's just a game. The point is to give the player some visualized notion of how the market changes over time and what kind of movement to expect, not to fool a stock broker into thinking he's looking at a real chart. (Edit: yes, your long-term simulation can be more detailed and constrained, and will have to be if you're trying to simulate/emulate a working economy; but the chart can be pretty fake and you'll get away with it).

For display just grab yourself a chart library. Don't go messing with writing it from scratch. It's not that hard, but it's a big waste of time as javascript's canvas API is very low-level and tedious to work with. E.g. chart.js will get the job done and is free/open source. All you have to do is give it a canvas element to draw to and your pile of data points, then tell it which properties to use for the axes. It has a few options for using bezier curves if you really want interpolation, but a candle chart would probably be more on-point anyway.

You can lay out your stored price samples in the same structure your chart library expects and then just pass your stored data to it directly - easy peasy.
Ah, yeah I’m currently just using the explicit SDE solution which doesn’t require sampling every N minutes. What I’m mostly worried about is saving an array of prices iver time for every commodity and equity is a lot of replicating data. The way sugarcube handles states is to copy it every time you change passages. I was worried I’d cause lag (This happened before when I was storing locations in a game variable rather than a static variable). I’ll give it a shot when I have time. Thanks for the suggestion. If you’d like I love for you to join the and we can talk more about it. Thanks again for giving the game a shot! I’ll definitely follow your guidance and add in more opportunities to leverage tact + manipulation for money!
 

agriasoaks

Member
Oct 11, 2019
274
107
I haven't download the game but can someone tell me if we can mod the game ? as in putting pictures or portraits for the slaves and for the main character ?
 

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
I haven't download the game but can someone tell me if we can mod the game ? as in putting pictures or portraits for the slaves and for the main character ?
Unfortunately not right now. I can add this in easily, but you need around 20-30 pictures per character just for disposition changes. Then you need like 10+ for molesting and many more for sex etc. Also the dimensions are very specific.

If you download it, take a look at resources/images/characters/himari for reference.
 

f*kitol

New Member
Mar 8, 2021
4
0
Ah, yeah I’m currently just using the explicit SDE solution which doesn’t require sampling every N minutes. What I’m mostly worried about is saving an array of prices iver time for every commodity and equity is a lot of replicating data. The way sugarcube handles states is to copy it every time you change passages. I was worried I’d cause lag (This happened before when I was storing locations in a game variable rather than a static variable). I’ll give it a shot when I have time. Thanks for the suggestion. If you’d like I love for you to join the and we can talk more about it. Thanks again for giving the game a shot! I’ll definitely follow your guidance and add in more opportunities to leverage tact + manipulation for money!
Yeah that's right, been a while since i dug around in a sugarcube save state. Your save data will bloat if it keeps snapshots too, I can't remember on that.

Main thing to avoid lag is to make sure you're not triggering excess DOM updates, however the engine handles that. JS is surprisingly fast while it's just manipulating big piles of data, but any time it has to update DOM tree, recalculate layout and redraw it will take significant time. So only let that happen once everything else that can be done is done.

Game engine may also be slow with state updates if it's doing a lot under the hood or just inefficient, so avoid manipulating game state object directly when local variables will do.

Last but not least garbage collection causes a lot of lag when you've created and dropped large numbers of objects, so avoid that (check out object pools if you *really* need to operate on hundreds or thousands of temporary objects).

As far as persistent chart data goes, first thought is just using much larger intervals, like once every 3 or 6 hours, and less history, to keep it manageable. You can then use a simple interpolation method and add a little noise to get something presentable if the chart needs smaller intervals. Even 100 commodities/equities and 14 day history is then only 5600 entries which isn't too unwieldy. If you only show the 14d chart you may need even less granularity and no interpolation. Just daily candles might do.

Another option would be to bypass sugarcube state if that turns out to be a problem. You could persist the chart data in localstorage directly - but it will be lost with save file export/import. Or keep it in memory and backfill it on game load if price is dependent only on time and not game state.

You can squeeze a little more memory and performance out of it by using numeric arrays instead of an array of objects, which will be much faster to copy and less memory use. Or better yet typedarrays.

Anyhow best of luck with it.
 
Last edited:

hagare

Well-Known Member
Mar 27, 2019
1,049
572
Haha it sounds like you've reached the end of the content for now. Join our for fast updates every 3-4 days! I hope you enjoyed what little we have (it's only been like 3 weeks of development so not too much content).
oh xD
 

Foobert

Member
Oct 16, 2017
175
93
Relaxing does however decrease stamina drain rate, but it will always be falling. If you spent the entire day relaxing you can make it to 3am no problem, but working drains your opportunity to do so. If you want to stay up late, increase your strength, that also reduces stamina drain. What slave has the luxury of freetime when they should be working afterall lol.
I assume that's why there's an obedience penalty for goofing off for an hour.

In all seriousness, in the next update if you want to stay up all night, super easy mode will remove the work requirement to retain obedience, and easy mode will reduce 4 hour requirement to 1, and also remove the less than 20 stamina requirement to not lose obedience.
I'm not complaining that the game is too hard. It just seemed a bit counter intuitive to spend four hours working, another eight shirking your duties, and then be too tired to get it up. But it's just feedback - no big deal :)
 

zuulan

Member
Oct 12, 2020
182
163
I assume that's why there's an obedience penalty for goofing off for an hour.



I'm not complaining that the game is too hard. It just seemed a bit counter intuitive to spend four hours working, another eight shirking your duties, and then be too tired to get it up. But it's just feedback - no big deal :)

Yes slave life is not easy, work hard and once you be free you can molest all you want, but mean while you need to work hard to find the slightest opportunity to molest anyone. I have like 4 different games in running now and 1 game is 1500 days in game strength 150 and i can molest quite often even with hard difficulty.
 

TessSadist

Well-Known Member
Donor
Game Developer
Aug 4, 2019
1,298
5,536
I love the idea of a rise to power/slave management type game, I can't wait to give it a whirl! Looks really cool :)
 

Furrin Gok

Newbie
Apr 21, 2022
16
7
Eh, if we're taking votes, futa is a big turn off, personally.
If it gets added it should entirely be built around the option of disabling it, rather than needing to add that later.
Outside of PC and special characters, I honestly don't usually like random futas. The PC being one allows for access to both ends, and special characters usually have story specifically for it, but random futas just give the feel of "ignore that bit, we're focusing entirely on this part now".


Any plans on reducing the chances of injuries based on stats? With smarts, you can determine where it's safe to dig around and where to brace, with dexterity you can actually hit just right, and with strength you can lug around the gear and shrug off what does happen--though it should never go under a certain amount (Let's say 1% per hour, so at best you turn Exploration into a better Mining).
Injuries should also be any of those three stats--injured muscles can decay while you wait for them to get better and concussions can knock the sense out of you.
 

Hardor

Member
May 29, 2020
318
173
Yes! There are three paths in the intro, economic, domestic, and sexual slavery. Most players will want to avoid the latter 2, but they are effectively sub routes with domestic slavery being the classical slavery we think about in history, and sexual slavery being the player actually being subjected to rape. And note this isn't just for females, males can be raped just as well lmao
Indeed, nothing wrong with male-rape if that is your thing... As long as it stays on the game/internet level... Or is targeted on willing subjects. :D

I was more thinking about random/pseudorandom events on the game itself for getting raped and ways to prostitute yourself to gain some quick cash...
 

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
Indeed, nothing wrong with male-rape if that is your thing... As long as it stays on the game/internet level... Or is targeted on willing subjects. :D

I was more thinking about random/pseudorandom events on the game itself for getting raped and ways to prostitute yourself to gain some quick cash...
Yes that’s in the update im currently working on. Will be released maybe tomorrow in the discord
 

mimusstudios

Member
Game Developer
Apr 19, 2022
248
367
If it gets added it should entirely be built around the option of disabling it, rather than needing to add that later.
Outside of PC and special characters, I honestly don't usually like random futas. The PC being one allows for access to both ends, and special characters usually have story specifically for it, but random futas just give the feel of "ignore that bit, we're focusing entirely on this part now".


Any plans on reducing the chances of injuries based on stats? With smarts, you can determine where it's safe to dig around and where to brace, with dexterity you can actually hit just right, and with strength you can lug around the gear and shrug off what does happen--though it should never go under a certain amount (Let's say 1% per hour, so at best you turn Exploration into a better Mining).
Injuries should also be any of those three stats--injured muscles can decay while you wait for them to get better and concussions can knock the sense out of you.
Yes this is in the next update (injury reduction) Will be most likely released tomorrow on the discord.
 
3.90 star(s) 17 Votes