Yet another update post (following the
last one), this one is not as big/complete as the last one since I got less time this last week to work on this, in this post I will explain the work I've been doing on the dinamic dirty talk that'll happen during sex scenes. So here we go (There may be some typos!).
SANA DIRTY TALK SYSTEM
Before diving into each feature like the last post, I wanna say that probably, some things will change since I'm not happy enough with how the script works, I mean, it actually works, but I think it could be optimized waaay more than it is already.
Key Features:
I wanted to make the dirty talk feature as customizable as possible, so that's why I used a .JSON file to store ALL dirty comments used during the scene, that means anyone can open the json file and add/remove any comment as they please, logically, the more comments there are the less repetitive it will be. I may explain later how this can be done for people who's not experienced enough with JSONs.
At first this dirty talk feature only worked for NTR scenes with Sana, but then I changed my mind and start reworking the script from scratch to add support for all npcs, now the dirty talk will work with "Pairs", basically in this case a "Pair" means who's participating in a sex act (Pair-> giver/taker), this way a dirty talk can have several Pairs in a single object, like Player->Sana, Sana->Player, Kyle->Sana, Sana->Kyle, in this case this scene is a threesome between player, Sana and Kyle (just as an example)
- Supports for both male and female comments
Since the dirty talk now relays on Pairs as I said above, now I can show dirty comments from any male && any female participating in the sex act, at first it showed random male/female comments without any context, but now since when a Pair is created, an inverted pair is inserted automatically (EX: "Kyle->Sana" Inverted: "Sana->Kyle"), now if I show a comment from a pair like "Kyle->Sana", I can show a "response" comment inverting the same pair and looking through the json file.
I wrote response between quotes since it isn't really a response to the first dirty comment, it's just a random comment done from the other party of the pair, I was thinking in creating this, but it will suppose adding some way of linking dirty comments (like with a label inside the json file), but I don't think this is worth the hassle right now tbh, maybe someday when I get most of the mod's work done...
Dirty talk system supports for all types of sex scenes that may occur in the game, so lots of dirty comments can be done specifically done for any sex scene type, as a quick example:
"You will have to clean lots of cum when We're done with you slut..." => Gangbang/vaginal sex scene
"You will have to clean lots of cum when I'm done with you whore..." => NOT Gangbang/vaginal sex scene
"How many cocks did you have inside your ass?" => Anal sex scene
Since the system supports for every type of sex act, every scene could be different from the other ones, so I had to find a way to describe the animation that's currently showing, that's why I created a few "keywords", these keywords will be inside the line that will be shown (it will auto removed when showing), this keywords will define for what that specific line is supposed to be used for, all supported keywords will need to be capitalized and inside curly braces, for example: "{VAGINAL},{PUBLIC},{ANAL}..."
- Logical operators to reduce the file's length
When I was creating a few test comments using the keywords explained above, I encounter that problem that I had to copy paste every line for every keyword, since it was a pain in the ass, I also added logical operators support inside the line that MUST be between keywords, these logical operators will make a single line valid for all specified keywords inside that line as long as the logic returns true when evaluating the string, for example:
"Yeah bitch keep going... Squeeze my cock!{NPCS}(AND){PUBLIC}(OR){PRIVATE}(OR){ANAL}(OR){VAGINAL}",
In this case, this line will be valid for ALL types of sex act, as long as {NPCS} is present in the scene (meaning any male actor who's not player).
basically the whole "
{PUBLIC}(OR){PRIVATE}(OR){ANAL}(OR){VAGINAL}" can be true but if NPCS is false the line won't be shown in the game.
that "{NPCS}" keys basically represents dirty comments that will be made for male npcs during NTR Situations, will explain later why it is "{NPCS}" instead the npc's name.
So I was testing the new dirty talk system but I encounter another problem, that problem is that, during player/sana sex scenes, player was sharing ntr dominant comments like
"I won't stop until your asshole is gaping whore!", and I don't want player to be that dominant during sex scenes with any girl, so that's why I also add support for specific actor dirty comments, so to differentiate between player and any male random npc, I created some more keywords that will define who should be using that line, for example: {PLAYER}, {SANA}, {YOKO}...
So every line must have the keyword at the beginning that will define who's going to say that comment, sum' examples:
"Yeah... keep going you dirty slut!{NPCS}" => This line will be shown in NPCS/Any girl sex scenes
"Ahh... yesh~{SANA}" => This will be shown in Sana/Any Male sex scenes
"Ahhh- <PLAYER> I love your penis! <HEART>{SANA}(AND){PLAYER}" => This will shown in Sana/Player sex scenes.
and so on...
This was added pretty much last minute before doing this post (still need testing), but basically the idea of this is to add support to show dirty comments based on in-game variables values, I will explain it with an example to make it clearer.
"Your huge cock is hurting my pussy!!{SANA}(AND){NPCS}[SIZEQUEEN<15][SIZEQUEEN>=0]"
"Your cock is HUGE! I love it... <HEART><HEART>{SANA}(AND){NPCS}[SIZEQUEEN>50]"
Notice the keyword "[SIZEQUEEN>50]" inside the string, this will make the string valid ONLY if Sana's current level of the variable that it's written inside the line, in this case, Sana's sizequeen have a value greater than 50, for the first line, value must be between 0 and 15.
All variables supported for this feature are: PLAYERLOVE (Sana's love for player), LEWDNESS (Sana's lewdness), SIZEQUEEN (Sana's sizequeen lvl), EXHIBITIONIST (Sana's exhibitionist lvl), WHORE (Sana's whore lvl), SUBMISSIVE (Sana's submissive lvl), PREGNANT (Whether the girl is pregnant or not [PREGNANT==0], [PREGNANT==1]), LIKESANAL (Sana's likes anal lvl), LIKESVAGINAL (Sana's likes vaginal lvl), LIKESTITFUCK (Sana's likes titfuck lvl), LIKESORAL (Sana's likes blowjobs lvl)
and the supported operators to check variables values are: [">", "<", ">=", "<=", "=="]
"Sana's pregant and I'm fucking her! (TEST COMMENT){
SANA}(AND){VAGINAL}[
PREGNANT==1]"
"Yoko's pregant and I'm fucking her! (TEST COMMENT){
YOKO}(AND){VAGINAL}[
PREGNANT==1]"
To check for the girls pregnancy it will look inside the line and get a female keyword, line will be included or not based on the value that Pregnancy system returns when checking for that specific girl.
Nothing big, just icon support for lines, right now, the only supported icon is "<HEART>", before showing the line in-game, that "<HEART>" tag will be replaced with the appropiate icon.
As you may noticed above, actors name can be inserted into the string at the position of a specific tag, in this case it supports both external names (names whose actor is not participating in the sex act) and the actors' names of the current pair.
the external name that is only supported right now is the player's, with <PLAYER> player name will be inserted into the string.
to insert any actor pair name, <MALENAME> && <FEMALENAME> can be used. EX:
For Pair Kyle/Yoko:
"You are such a cum whore <FEMALENAME>!" => "You are such a cum whore Yoko!"
"I'm going to make that mouth of yours<N><MALENAME>'s property slut!" => "I'm going to make that mouth of yours Kyle's property slut!"
- Extra special characters support.
No need to explain lots of things about this, it works the same icons and names insertion works, only supported special tag is <N>, to insert a newline, so you can still show your line in case it exceeds RPG Maker dialogue box width.
- Flags to allow male and/or female to talk during scene.
I also included two flags (maleTalks, femaleTalks) that will block (or not) all comments made from a male or female during scenes, this can be changed during scene execution, so this can be used in future events (like sneaky sex scenes or something...)
Other little changes.
I've been working into creating an in-deep log addon for the mod, this addon will be activated/deactivated by the user by just changing a value inside a "debug.ini" file inside the game root folder, this will be really helpful for me since if you guys ever find a bug or any weird behavior happening you just can activate the logger and send me the log file, so I can check exactly what's happening, step by step. By default it will be deactivated since logging everything that's happening "behind the scenes" is consuming and performance will be negatively affected, I was just testing it and by just starting a new game and play 3 or 4 sex scenes with player log file size already got up to 467KB, so yeah, only activate it when you find a bug or something.
I made the show/hide dialogue windows acts like a switch, as I said, someone did this already but you had to keep pressing the button to let them hidden, I fixed some bugs original had and I turned it into a switch, so you don't have to keep pressing the "S" key to hide the dialogue, just press it one time to hide it and another time to show it, I guess this will work to make the game able to be played with one hand.
I added diagonal movement support for both player and followers, this was pretty much done since I found the script somewhere in the rpgmakersweb forum, but I modified and did a few tweaks since the script original movement did not feel as smooth as I wanted to be (like getting stuck in a game map wall when pressing two directional keys).
I tried to make it feels like Karryn's Prison movement, it's not the same, but at least it's close.
View attachment 1564639
As for the next update, I still have to decide whether to start working on creating the NTR sex scenes (like Player/Sana sex scenes minigames, but less interactive) or start creating a new npc schedule system, since I reworked the original TimeScript now I can move every npc schedule into a script, this will free the engine from workload since it will free lots of parallell events.
I did not have time to create a devlog post, so this one will be posted here, for the next one I will look into creating a separate post and post all updates there, I think it will be clearer and these update post won't be lost.
Like always, if you guys have any suggestions, feel free to post them.