Course of Temptation Dev Diary #67
Added 2025-01-10 20:31:12 +0000 UTC
Hello friends! It's time for another dev diary.
My main focus this week has been something I tentatively planned to get done this month yet managed to completely forget about when I was writing last week's dev diary, and that thing is... dialogue!
There are several areas of the game that demand that NPCs be able to say semi-random yet very specific lines of dialogue. We want NPCs to be able to comment on the player's clothes, their style, tattoos, reputation, and other things, and we also want them to be able to say things during encounters. In other words, we want the game to be reactive, to make the player's choices feel consequential.
An interlude about programming...
There are many ways to accomplish this, and I'll get into the nitty gritty a bit, because I think that's interesting to some of you. When I was a less experienced programmer, my first impulse probably would've been to make a bunch of bespoke widgets, all looking something like this:
<<if $pc.wearing_dress_with_pockets()>>
Your dress has pockets!? Where did you get it?
<<elseif $pc.wearing_crop_top()>>
Oh, a crop top? Daring!
...and so on. Basically, a whole bunch of if-elseif blocks checking for everything you want an NPC to potentially comment on and returning possible responses.
This quickly grows complicated. First of all, this one widget will become enormous in no time. Second, you probably want NPCs to be able to say more than just one possible thing, so every block ends up needing to repeat the same random line picking logic. Third, things higher in this stack of elseifs are prioritized, so if you're wearing a dress with pockets, nobody will ever comment on the fact you have "SLUT" tattooed on your forehead if that condition is underneath the dress one.
You could make separate commentary widgets for clothes and tattoos, and everything else, but again, you're repeating code and adding more messy logic.
Now, don't get me wrong. A project like this inevitably acquires messy logic in places anyway, especially where the conditions or what needs to happen as a result are highly circumstantial. But when you need to cover a whole lot of similar situations with essentially the same logic, then a more generalized framework is called for.
My favorite solution for these sorts of problems is a tag-based picking system. Here's one entry in a database:
tags: ["friendly", "clothes", "dress with pockets"],
content: [
"Your dress has pockets? Where did you get it?",
"Whoa! A dress with pockets!",
"That dress has pockets! Awesome!",
],
The tags are the key part. For every item in the clothing database that is a dress with pockets, I can now attach the "dress with pockets" tag to it. Now, when we want an NPC to comment on the player's clothes, we first compile a list of tags associated with their visible clothing. We then match those tags to entries in the dialogue database, and now we have a list of things the NPC can say about the player.
If we similarly attach tags to tattoos, we can compile tattoo responses and throw those into the pool along with clothing commentary and whatever else we want to do. NPCs now have a big list of specific stuff to say that applies to the PC.
And, of course, it's even more generalized than just commentary about the player. We can also attach dialogue tags to sex acts, then use the same system to find things to say about what's happening in an encounter. And it's pretty easy to add to, even for people who don't have much coding knowledge.
This tag-based picking is also how events work, and the event system is basically the backbone of the game. I think it works out pretty well!
Back to the progress report
This new dialogue framework has been fully coded, and my focus for the remainder of the week will probably be just coming up with tags to attach to things and writing lines to say. The first obvious use is firing events that relate to an NPC having something specific to say about your appearance:

The other thing I've been working on, which also uses the dialogue framework heavily, is spicing up encounters a bit. While encounters have come a long way since release, the actual narration of sex acts hasn't changed much beyond adding new ones.
Sex act narration uses one of those giant widgets I mentioned above, and it's constructed in such a way that there can be a lot of variation based on specific circumstances. Unfortunately, that mostly isn't reflected in what's there now β the current lines were written before release when my thought was "Ok, there's a ton to do, but if I can just write about three variations for every sex act, that's enough for now." But it's now been over a year since the first public release, and this has become an area that needs some attention.
So, this has been my other big focus this week:

A bunch of sex acts now have different narration based on whether the actor is shy or more confident or their experience and skill level. The NPCs have different reactions based on how well you're doing, and they'll also interject some dirty talk based on what's going on.
It's a step up, if still not perfect, but encounters are a huge part of the game and something I'll continue to iterate on. In fact, it's looking like encounters will probably be the big focus for this entire month, considering the other priority tasks from the last poll have to do with them too.
All right, once again I have rambled on for quite a while! Feel free to let me know if you liked this more detailed programming talk or if your eyes glazed over. Or, you know, whatever else is on your mind. As always, I appreciate your support, it really does mean a lot to me. And I will be back next Friday with another progress report!
Comments
bit late cause I had my sub inactive for a bit but volleyball would be amazing! Maybe also a beach volley activity somewhere eventually? Could be fun and have some exhibitionism-related events :p
Nemurusuki
2025-01-31 17:38:49 +0000 UTCThank you! Volleyball isn't a bad idea. Wrestling has been a top request too. I think eventually I'd like to have around eight possibilities for sports.
Anarchothaumaturgist
2025-01-16 02:57:12 +0000 UTCCan't believe I didn't hear about this game until now, surprised by how well-established it is and the update regularity! (Would love to see volleyball added as an intramural option at some point?)
Lambent Regret
2025-01-16 02:45:38 +0000 UTCThis is all great, I think in those dialogue moments during sex you should be able to say submissive things back or dominant depending on your character
Dewbie
2025-01-15 04:41:33 +0000 UTCYou're right, phone responses are a great candidate for refactoring using the new system
Anarchothaumaturgist
2025-01-13 20:58:34 +0000 UTCReally like the direction of the game! Refining dialogues before going on to add even more features is a very smart approach, kudos to you! One area I think would benefit a lot from this is the phone conversations, like sending a selfie or organizing a date. Right now it feels very rigid and repetitive, and could use some more variations π
Gabriele
2025-01-13 10:47:28 +0000 UTCEncounter UI has definitely gotten a bit busy! It's due a revision sooner or later
Anarchothaumaturgist
2025-01-13 02:57:59 +0000 UTCSounds like some amazing progress! Iβm the vein of improving the comments during encounters, certain positions highlight certain physical attributes so NPC that likes big butts might get more satisfaction from doggy or reverse cowgirl
Kurt Wagner
2025-01-12 19:47:42 +0000 UTCI liked the programming talk. Tried to learn using MIMO a few times but have trouble sticking with it and putting what I learn into practice. Would love to do an actual programming course
Gary
2025-01-12 08:11:01 +0000 UTCVery excited to have NPCs be more reactive to my choices, but I am especially excited to hear that you're working on NPC reactions and dialogue in the sex narration. No matter how much fun I have with this game, one of my favorite things about it is that it is a WIP! I get a thrill every time there's a content update because it almost feels like I just a got a new DLC for a game. Thank you for all your hard work!
Anora Acadian
2025-01-11 04:20:51 +0000 UTCmy major is cs too. haha ty for your hard workπ₯°
Meg Lover
2025-01-11 03:25:17 +0000 UTCYou're so amazing at this! I enjoyed reading about your processes. It's so incredible what you do and have developed in this game. Remarkable! I was also concerned about the sex narration, especially the prompts/buttons. I have been confused about the buttons for the sex prompts for giving acts and receiving acts/if I'm doing what is on the prompt or if the partner is doing the prompt. Honorable mentions are the "against the wall" positions, missionary, mating press, etc. I also want to point out the redundancies. If I press the button for suck and the character is pumping my mouth, the game will repeat the narration except the perspective changes which sometimes breaks the immersion. I'm so excited for what you come up with!
Tokyo
2025-01-11 01:35:42 +0000 UTCAwesome stuff! Really looking forward to the new dialogue! Great work, Anthaum! Maybe we should all advocate for you to go on vacation more often, if you come back this energized! :)
oldranger
2025-01-11 00:58:37 +0000 UTCI'm not really into programming, but I am into learning new things. Even if they're trivial to my lifestyle. I'd love more of this in the future. I'm looking forward to seeing what expanded dialogue will look like. It'll really flesh out the NPCs and our relationships with them. I played way too much Mass Effect and KOTOR in my youth, so I'm a sucker for good dialogue.
Chris Sommercorn
2025-01-10 22:17:11 +0000 UTCI know nothing bout programming so it was interesting to read your POV of it ππ even if i dont understand it lol Looking forward to the improved dialogues! Im sure itβll make the convo more natural and all
shine
2025-01-10 22:05:46 +0000 UTCLove the dev talk, that'll also probably make the next (rogue) bughunting easier, haha And I think taking the time to improve dialogues, interactions about clothings / tattoo will be totally worth it!
Touiten
2025-01-10 21:34:35 +0000 UTCI think these enhanced dialog features will really make this game sing. Not that it doesn't already!
Hugo Trainor
2025-01-10 21:20:16 +0000 UTCI really love these dev diaries. It was really fun!
Hummer Dimaloun
2025-01-10 20:54:40 +0000 UTCas someone who's interested in learning to make this style of game myself, i appreciate the programming talk!
Colleen
2025-01-10 20:53:31 +0000 UTCI've actually been working on a text-based game myself for a good while now and as someone who's pretty intermediate in coding, I actually really enjoy the nitty gritty programming portions of your post! Can't wait for the next update!! <3
Rotisserie potato
2025-01-10 20:50:50 +0000 UTCAlso a computer dev nerd, so the detailed breakdown is fantastic for my autistic ass
Faire
2025-01-10 20:44:52 +0000 UTCI enjoyed the detailed programming talk. So when you're open to it and have the time, I'd love to see more of it in future dev diaries
Mark Dolson
2025-01-10 20:43:44 +0000 UTCI major in CS, so I'm biased when I say I like more detailed programming talk. Keep up the good work π
FahadSweet
2025-01-10 20:35:24 +0000 UTC