Course of Temptation Dev Diary #80
Added 2025-05-09 20:07:56 +0000 UTC
Wow, 80 dev diaries! That's nearly 81 dev diaries. Really makes you think.
This'll be a pretty short one (edit: it isn't), as the release this week has taken up a decent bit of time. I spent Monday finalizing some things ahead of public release, mostly the opportunity events system. I decided to make it so that you would really see these a lot in relation to starting conversations with people, especially if you favorite a lot of NPCs — making it essentially a complete alternative way of accessing the in-person dialogue system.
I'll want to continue to add more circumstances that invite you into a conversation with an NPC — seeing friends, partners, and so on. Ideally, they don't all just go to the main conversation menu, but instead invite you to start with a compliment, insult, or whatever is appropriate, like the option you may already have seen to ask a partner for a quickie.
Of course, conversations aren't all I want from the opportunity system, but rather just a baseline. The way the system is implemented, having these baseline opportunities won't lessen the odds of also getting the opportunities that lead to unique events, and I'll also want to gradually expand the selection of those as well.
On Tuesday, I worked on a bit of an experiment. A request I've seen from time to time, and more frequently lately, is a way to just increase the NPC count across the board. So... I decided to tinker with it.
In early versions of the game, this wouldn't have been possible... or, well, at least very inadvisable. I chose the original NPC count carefully, knowing that storage space for html games is at a premium, and therefore my save size had to remain fairly small. The limit for browser storage is generally 10mb or even just 5mb, and in Chrome, that limit is shared by all your local html games! In the prototyping stage of the game, I was creating different numbers of dummy NPCs and seeing the impact they had on save size, knowing that as the game grew, more variables would need to be stored and the save size would gradually grow. In this way I settled on... I think it was about 480 NPCs. Since then it's crept up to almost exactly 600.
I actually did a couple of tricks to help keep save size small. First of all, similar groups of NPCs (say, art students) will have many characteristics mostly in common — a shared archetype, if you will. Therefore you can turn a bunch of points of data (style, skills, likely inclinations, likes and dislikes) into a single point of data: the archetype.
Of course, every NPC of an archetype can't be exactly the same, so there needs to be random variation. The obvious thing is to generate each NPC, semi-randomize their characteristics, save the data so it can be referenced later, and move on. But saving all these individual data points eliminates the savings we got from archetypes, though they are still a good organizational tool.
So the second part of the solution is a seeded random. Given how computers generate random numbers, if you start from the same seed, then the same sequence of random-looking numbers will be produced every single time. You can take advantage of this to randomly create an NPC the same way each time by just using the same unique seed for the NPC. In this case, we just take their name and convert it into an integer. Using this seed, the NPC can be randomly generated over and over and will always come out the same.
So that's what we do! Each NPC in the game is saved as just a few key points of data (name, gender, archetype, and a few other things), but their more specific characteristics are only generated on demand — and since they're generated the same way every time, we don't actually need to save that data permanently. Lots of save file size savings!
Anyway, that tangent aside — even with all that, I figured the practical limit was about 500-600 NPCs. But then majou came along and helped alter the game to use the Sugarcube mod they created. This uses an alternate storage system that avoids the 5-10mb limit. The upshot is, if a player is using IndexedDB storage and their device can handle the extra overhead, there's no reason they can't have more NPCs in their game if they want. In the current dev build, the NPC count can be cranked up to around 2,000.

It'll take some more testing and experimentation, but I'm planning to have the NPC count multiplier slider available starting in the June update.
Public release happened on Wednesday, and with that came a few more bugs uncovered. More eyes on = more bugs found, that's always the way, but aside from a same-day fix to repair a broken link, it's been fairly smooth.
Besides bugfixing, I've been working on upgrading the gender and gender preference options. Gender preference has still mostly been using algorithms from the early versions of the game, where the concept was a much more simulationist and less customizable experience. The numbers of straight, bi, and queer characters have been mostly locked in, though you could give non-straight characters a bit of a boost.
This has been changed to be a fully proportional system, so that if you want, you can drag the Straight slider all the way down and the Bi slider all the way up and have almost all bi NPCs. I may still do more work on this — the Kinsey scale has been discussed — but even this one change will be a big improvement, I think. I'm also improving the results of unchecking the Traditional Sports Genders options, which instead of going for a weird 50/50 split of masc/enby and femme/enby NPCs, will now actually just use your gender distribution sliders, making the makeup of the teams more representative of your student body.
Wait, didn't I say this would be short? Sorry this turned out so text heavy! I hope you find it interesting. I've just been really deep into tinkering with code this week.
As a reminder, dev diaries will likely be spotty for the rest of this month as I'll be away from home, but I and the contributors will be working on things for the June update, which I expect to release on the usual timeline. I know it's been a little while since the last poll — what would you really like to see? The next items on the list are creating items (books, photos, etc.) and the quick sex system, but if you have other ideas, let me know!
Okay, I have rambled enough. I'll go back to getting elbow deep into code, and I hope you all have a good weekend! And as always, thank you for your support, it really does mean a lot!
Comments
Checking in for ea update🥺!
Meg Lover
2025-05-25 15:41:24 +0000 UTCThe only suggestion I have is showing you purchased the same clothing prior. If I want to "collect clothing" it is hard to do when I don't recall what I purchased. The sex toys show that you purchased them but not the clothing in either the internet or in the stores. Awesome game BTW. Once it can get possible mutations like "Accidental Woman" ( https://www.patreon.com/c/thaumx/posts ) and maybe a milk farm or something then it will be AIO and won't have to switch :D
Alkpaz
2025-05-25 14:35:34 +0000 UTCNot sure how difficult this would be, but it would be cool if clothing actually got dirty over time, either by events (splashed by a bike or spilled on at work) or just slowly over time to prompt more laundry use. It could prompt more clothing changing if you don't have time to wash them, or even doing without. It could cause the hygiene status to decrease faster if you don't. It would probably have to involve changing laundry to only wash what is dirty instead of everything unworn though.
Yeo
2025-05-21 19:06:43 +0000 UTCIf its possible, add an monolid-eye shape to the options in the character creator
NogahRocks
2025-05-19 16:51:12 +0000 UTCI am so thankful to you that you have made the NPC customization possible in such detail. However, could you perhaps make it possible for the user to customize NPCs' tastes or preferred locations and date types? For example, whether NPCs prefer muscular partners, or partners with big breasts, or prefer blonde hair, or prefer casual fashion... things like that. Also, currently, when the PC becomes close with each NPC, the user can learn the places they frequent at specific times. Some NPCs are at the bar in the evening, some exercise at the Gym. It would be great if you could also allow these things to be customizable.
Dunan Rayne
2025-05-14 05:26:43 +0000 UTC