Nightgames Mod (v2.5.1.2) updated 2/11/17

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
I love machine learning and evolution algorithms - they're the reason I got into programming.  I know that I am yet very far from being capable to produce something of the sorts, but since I like them so much I just can't help but suggest using them for everything.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
I love machine learning and evolution algorithms - they're the reason I got into programming.  I know that I am yet very far from being capable to produce something of the sorts, but since I like them so much I just can't help but suggest using them for everything.

Same here. NEAT using AI modifiers as the variables to learn may be useful, but it's a complex algorithm and I'm not too sure how it would fare with only a small subset of skills being available at any given time.


But that still wouldn't solve the problem that an optimal opponent need not be a fun opponent.
 
Last edited by a moderator:

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
The issue of fighting an ideal AI not being fun could easily be fixed by adding a bit of chaos to the recipe. A difficulty slider could set the amount of moves per turn that are fully randomized (easy way out), or force the AI to pace itself (not the easy way out).
 

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
Am I losing my mind or is the current master branch self-replicating the build - classes - build - classes folders forever?
 

dndw

Well-Known Member
Aug 27, 2015
456
20
I've been working on planning the new addiction system, so I thought I'd ask for feedback before it's too difficult to change.


Each addictive effect is unlocked at rank 2 (level 20) and is unique to a particular NPC. They have the following characteristics:




-They can be given/increased involuntarily through a specific action (see below). If the action is easy/common, it will take a lot of them whereas for difficult/rare actions the addiction is faster.


-Once addicted, certain actions the player can take will aggravate the addiction.


     -Not taking these actions while fighting the source of the addiction will cause negative effects which scale with the strength of the addiction.


-(A) New daytime action(s) will be unlocked for the NPC which will aggravate the addiction.


    -Not doing that action all day will decrease the addiction level, but also cause a withdrawal effect which will hamper all fights for the night - not just those against the cause of the addiction.


-A beneficial effect is bestowed upon the player, scaling with the strength of the addiction. This will not apply to the source NPC, only to others.


-At very high levels, the player will automatically perform the daytime action, not allowing withdrawal. The only way to remove the addiction at this point is a to-be-determined daytime action, which will probably cost a lot of money. Perhaps it will set the player back a few levels.


Here is what I've planned per NPC:


Cassie, Magic Milk: Caused by Nurse or Suckle, causes willpower loss if you don't Suckle Cassie for long enough, and imposes a willpower cap for the night when in withdrawal. It provides immunity from regular addictive fluids.


Angel, Zeal: Caused by the player cumming inside of her (voluntarily or not). It causes the player to randomly assume submissive positions while fighting her, which can be stopped for a while by doing so voluntarily. When in withdrawal, it reduces mojo gain for the whole night. It also unlocks the Pray action, which will restore Willpower when not fighting Angel.


Mara, Mind Control: Caused by cumming inside of her in a submissive position. Reinforced (slightly) by any submissive action and masturbation. It causes random enthrallment when fighting Mara, unless the player is submissive enough. In withdrawal, it causes steady Stamina loss up to a certain point. It does make the player resistant to other mind controlling effects (Charm etc.)


Jewel, Masochism (incomplete): Caused by the Masochism skill, reinforced by TBD. Causes arousal whenever Jewel inflicts pain, unless the player hurts himself enough. Withdrawal reduces Power and/or Ki. Slightly reduces pleasure from non-painful sources.


Kat, Breeder: Caused by the new skill Bite (think werewolf). Aggravated by choosing to fuck her. (So the player initiates, not Kat.) Strongly increases damage taken from fucking, whether dominant or submissive. (The idea is that the player's animal brain wants to unload his cum / milk he-Kat's cock ASAP.) In withdrawal it causes a Horny status to be permanently applied, increasing arousal over time. The beneficial part is that the Wild Thrust skill is always available while fucking, and that it deals more damage against anyone who isn't Kat. Against Kat, the player takes more damage instead.


Reyka, Corruption: Caused by repeated uses of skills which trigger the Soul Sucker trait (anything involving her mouth). This will have a low effect since these skills are common. If the player cums inside of her after penetrating her voluntarily, the addiction is increased strongly. Corruption makes you less likable for other characters, lowering your affection and making them more likely to choose the other party when interrupting a fight. Additionally, it will convert random attribute points to Dark (resetting at the end of the night). In withdrawal, it will cause random hazardous status effects. (The corrupted part of the player fighting against him.)  It increases the power of Dark skills when not used against Reyka.


Eve, Obsession: Eve causes an "Eve Fetish" by cumming in the player's ass. The player can reinforce it by doing any "Whorship <X>"  action. It weakens all attacks against Eve, and strengthens the effects of her own. In withdrawal, it lowers all of the player's attributes. It grants a high chance to ignore Charm and Tempt by anyone who isn't Eve, but guarantees the success of these skills when used by Eve.




Cassie was already implemented by nergantre, I just had to translate it to a more extensible framework. I've also started working on Angel. What I'm most interested in is suggestions for Jewel and the unlisted characters (mainly Airi).


@invalidcharacter I'll check nergantre's master branch, but I know for a fact mine works fine: https://github.com/dndw/nightgamesmod/tree/master (Check the addictions branch for a WIP view of the code)
 

dndw

Well-Known Member
Aug 27, 2015
456
20
Hello!


I saw the gender preference in the image above... does that mean that the mod adds M/M?

It does, but only after the characters reach level 10. Even at the most male preference setting it's a bit unlikely that the girls will grow cocks, and even less that they'll remove their pussies/breasts. 


There are two things you can do:


- Throwing Priapus Drafts at them (from the Black Market) will give them a temporary cock (or enlarge one already there), but will leave their feminine parts unaffected.


- You can shape them however you like by editing your save, as long as you don't mind cheating. To do so, just open up the save in any text editor (like notepad, but preferably Notepad++) and follow the instructions below:


Every character will have a section describing their body, like so: (this one happens to be Mara)


"body":{
"femininity":2.0,
"parts":[
{
"class":"nightgames.characters.body.BreastsPart",
"enum":"b"
},
{
"descLong":"",
"pleasure":0.0,
"prefix":"a ",
"notable":false,
"sensitivity":0.0,
"hotness":0.1,
"type":"face",
"class":"nightgames.characters.body.GenericBodyPart",
"desc":""
},
{
"descLong":"",
"pleasure":1.0,
"prefix":"",
"notable":false,
"sensitivity":1.0,
"hotness":0.0,
"type":"hands",
"class":"nightgames.characters.body.GenericBodyPart",
"desc":"hands"
},
{
"descLong":"",
"pleasure":1.0,
"prefix":"",
"notable":false,
"sensitivity":1.0,
"hotness":0.0,
"type":"skin",
"class":"nightgames.characters.body.GenericBodyPart",
"desc":"skin"
},
{
"descLong":"",
"size":0.0,
"pleasure":1.2,
"prefix":"a ",
"notable":false,
"sensitivity":1.0,
"hotness":0.0,
"type":"ass",
"class":"nightgames.characters.body.AssPart",
"desc":"ass"
},
{
"descLong":"",
"pleasure":1.0,
"prefix":"a ",
"notable":false,
"sensitivity":1.0,
"hotness":0.0,
"type":"mouth",
"class":"nightgames.characters.body.MouthPart",
"desc":"mouth"
},
{
"class":"nightgames.characters.body.EarPart",
"enum":"normal"
},
{
"class":"nightgames.characters.body.PussyPart",
"enum":"cybernetic"
},
]


To make them genderless, you can remove any sections mentioning "nightgames.characters.body.PussyPart" and change the BreastsPart to "flat" instead of a cup size. Then, you'll want to add a cock like this: (mind the commas, place them like they are in the above snippet - after each entry except the last)


{
"mod": {
"enum":"blessed"
},
"class":"nightgames.characters.body.ModdedCockPart",
"base":{
"enum":"huge"
}
}


The mod can be: slimy, incubus, blessed, enlightened, runic, primal or bionic (they correspond to Airi, Reyka, Angel, Jewel, Cassie, Kat and Mara, respectively)


The "base" (size) can be: tiny, small, average, big, huge, massive


Or for a regular, unmodded cock,


{
"class":"nightgames.characters.body.BasicCockPart",
"enum":"big"
}


Again, mind the commas or the save won't load.
 
Last edited by a moderator:

Beran

New Member
Oct 17, 2015
2
0
should note in the post above, if you put normal instead of average on the size it won't load.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
should note in the post above, if you put normal instead of average on the size it won't load.

Thanks for catching that! I've edited the post. "normal" is for pussies, "average" for cocks.
 

Bronzechair

Well-Known Member
Aug 30, 2015
150
6
@dndw


Not a lot to say on the topic right now, but just so your innovation isn't met by a wall of silence I will say I'm interested in this idea. I feel like there aren't many risks present in the game, so allowing the player to (mostly) willingly take on some danger for some potential benefits is very promising.
 
Last edited by a moderator:

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
Yep, self-replicating alright....


C:\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\classes\1\1\1\1\1\1\1\1\1


And it went on. TIL windows 10 won't delete files whose directory goes above 260 characters. Had to manually rename and splice the thing. Fun. I think my IDE (netbeans) might've been to blame here, temp switching to eclipse to see if it fixes it.
 

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
Figured it out. Future reference for those intending to use netbeans, if you import it a certain way and you suddenly find 100,000+ additional files on your hard drive (not joking), it's probably because you are using the library as it is packaged inside of the nightgamesmod workspace. Don't do that. Copy it out of there.


If the project explorer finds a project in the same directory, it adds the project. When it adds the project, it adds more files in the project with what it found. It will readd the library files in it. Then scan what's around the library files. Then find the files. Then add them again. And again. And again.


I am honestly at a loss on how stupid this is. Hopefully it will get patched.


Oh, an addition: I really fucked up the GUI file. Rewrote the entire thing, only to find out that I was somehow working on the old file version. Gotta redo all the changes, but this time with the correct version of the file. Between this and a severe data loss unrelated to this project from earlier, I lost about a month's worth of work today. It's been a fun day. Guess rewritting it will be faster though.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
A quadruple post, really?


Anyway, that's pretty impressive. I tried making a resizable gui once. Never again.
 

atar

Active Member
Oct 16, 2015
33
6
I just meant that forum etiquette demands edits instead of multiple posts, not to shut you yp, of course

That is more of an issue on forums where people are posting for the sake of upping their post count. Providing substantive posts as separate posts is not a big deal.
 

MotoKuchoma

Well-Known Member
Nov 3, 2015
288
59
Short answer: Very hard.


Long answer: What you're describing is called reinforcement learning, and you're also hinting at the more general exploration/exploitation trade-off in machine learning. The difficulties in such an approach include these:

  • It's hard to implement
  • It would require a lot of simulation, which would take a long time
  • It might still be shit
  • Most importantly: a mathematically optimal strategy might not at all be fun to play against. I could imagine that a high-level Cassie could just spam kisses and win, but that would get boring very quickly.

<brainstorm>


That said, the simulation framework is already there, and we might be able to use the AI modifiers for this... There would need to be a way to keep track of the skills used throughout the match and then evaluate afterwards. Or we might look at the fitness level and only look back a few turns. If the fitness level increased, the previous sequence of skills was probably a good one. I actually tried making something like this about two years ago and failed miserably, but there is a lot more infrastructure now. Perhaps it's possible.


</brainstorm>

It would be good to throw in some random turns here and there to simulate human error and of course a bit of unpredictability into the mix (it also would be less prone to looping itself into a hilariously bad position lol).
 

nergantre

Well-Known Member
Aug 28, 2015
293
22
I actually highly doubt machine learning would do much here. You're probably thinking of tuning the weights of the move-likeliness, which would almost be guaranteed to produce a boring AI. Eventually it will optimize into a one move spamming machine


The main problem right now is that there's no lookahead in the AI, and the decision tree branches too much. At most we can improve the heuristics, but that doesn't solve the core problem :(


With the somewhat recent performance improvements though, maybe we could take another look at a 1 turn lookahead with some kind of pruning based on move weights? I'm not sure how well that would work tbh
 
Last edited by a moderator:

RyanCrossby

Member
Nov 10, 2015
7
0
36
It does, but only after the characters reach level 10. Even at the most male preference setting it's a bit unlikely that the girls will grow cocks, and even less that they'll remove their pussies/breasts. 


There are two things you can do:


- Throwing Priapus Drafts at them (from the Black Market) will give them a temporary cock (or enlarge one already there), but will leave their feminine parts unaffected.


- You can shape them however you like by editing your save, as long as you don't mind cheating. To do so, just open up the save in any text editor (like notepad, but preferably Notepad++) and follow the instructions below:


[...]

Thank you very very much for the detailed instructions!!!!


Why is the 10th level required to do this? It's already governed by a preference slider anyway :eek:
 
Last edited by a moderator:

dndw

Well-Known Member
Aug 27, 2015
456
20
Thank you very very much for the detailed instructions!! Why is the 10th level required to  do this? It's already governed by a preference slider anyway :eek:

The permament (but reversible)   transformations are unlockrd at level 10. Drafts for temporary effects are available as soon as you unlock the Black Market from the Informant. Save editing, of course, is available at all times. 


Thr slider only affectz the likelihood of the permanent tfs, that's why I said level 10.


It might influence the oodds of picking the 'right'  drafts as well, I'm not sure. 


(sorry about the typos, my phone won't letme fix them...) 
 

tjmac124

Well-Known Member
Oct 2, 2015
69
0
Hey   nergantre  any idea when you will be able to get the next update out? And i was wondering if you ever thought about adding a incubus since you have a succubus in the game.
 

dndw

Well-Known Member
Aug 27, 2015
456
20
Hey   nergantre  any idea when you will be able tomake the next update out? And i wa s wondering if you ever thought about addinubus since you have a succubus in the game. 

I'm not nergantre, but if you'll permit:


nergantre is not actively working on the game right now. I posted a small update a short while back and am working (slowlty)  on a larger one. That does not include any incubi, as there are no 'official' male npcs planned. Someone whose name I can't recall (sorry) made two a while back, you may be able to find them amd edit one into an incubus. Of course, the player can already become one if they male nice with Reyka
 

ScarredEyes

Well-Known Member
Oct 13, 2015
51
1
Ok, this is starting to bug me, but...


Portraits occasionally do not load. The map, I think, is covering it, from what I see right now - it's the first time I see the bottom of Mara's portrait sticking out the bottom of the map. I love the map, don't get me wrong, but it's nice to be able to tell the opponent's mood at a glance instead of reading. Colour me lazy. Just to let you know.


As for the ideas with addiction with the opponents, I'm waiting eagerly. VERY eagerly xD
 

dndw

Well-Known Member
Aug 27, 2015
456
20
Ok, this is starting to bug me, but...


Portraits occasionally do not load. The map, I think, is covering it, from what I see right now - it's the first time I see the bottom of Mara's portrait sticking out the bottom of the map. I love the map, don't get me wrong, but it's nice to be able to tell the opponent's mood at a glance instead of reading. Colour me lazy. Just to let you know.


As for the ideas with addiction with the opponents, I'm waiting eagerly. VERY eagerly xD

I'm not going to do anything about the UI right now, given Invalid Character's ongoing overhaul. For the addictions, those are coming along slowly. Nergantre already mostly made Cassie's, I just had to translate it into a more general format. I've also finished Angel and am almost done with Reyka. Once I write some daytime scenes for them I'll release those three first and then work on the rest. There may be (read: will be) some placeholder text, but if there's one thing that everyone who's worked on Night Games has (or, at least, had) in common, it's that the writing doesn't happen very quickly. (Do feel free to help us out in that regard, if you are so inclined.)
 

invalidcharacter

Well-Known Member
Dec 10, 2015
65
0
Progress is slow over here since due to various fuckups - both mine and my IDE's - I ended up rewriting the GUI 5 times. I'll keep it short; text scales, mostly. Everything else does not. This means it's playable, but not ideal. It's not missing too much work, but I'm short on free time (also fucked up my hand and typing is hard). My branch is up to date at the time of writing this if you want to look at it yourselves. The fact that creationGUI and GUI are wildly different makes trying to scale things a lot of "fun". I had to refactor a lot of things to make the scaling work to the extent it currently does, and it will take a lot more changes to the original code to get it to a point where it's seamless and everything scales smoothly.


If you want to patch it or straight up add or remove things, just do so whenever. I'll work around the changes. If what I'm writing is just garbage and should be treated as such (I won't take offense, newbie after all), I'll put the branch in a private repo for personal use only.


I'll consider the current overhaul to be finished once I put in some status bars under the portraits with quick battle status info. This info will just be based on what players can see in the regular body of text, so it shouldn't change any mechanics such as qualitative info display (as opposed to quantitative).
 

dndw

Well-Known Member
Aug 27, 2015
456
20
Progress is slow over here since due to various fuckups - both mine and my IDE's - I ended up rewriting the GUI 5 times. I'll keep it short; text scales, mostly. Everything else does not. This means it's playable, but not ideal. It's not missing too much work, but I'm short on free time (also fucked up my hand and typing is hard). My branch is up to date at the time of writing this if you want to look at it yourselves. The fact that creationGUI and GUI are wildly different makes trying to scale things a lot of "fun". I had to refactor a lot of things to make the scaling work to the extent it currently does, and it will take a lot more changes to the original code to get it to a point where it's seamless and everything scales smoothly.


If you want to patch it or straight up add or remove things, just do so whenever. I'll work around the changes. If what I'm writing is just garbage and should be treated as such (I won't take offense, newbie after all), I'll put the branch in a private repo for personal use only.


I'll consider the current overhaul to be finished once I put in some status bars under the portraits with quick battle status info. This info will just be based on what players can see in the regular body of text, so it shouldn't change any mechanics such as qualitative info display (as opposed to quantitative).

I've had a quick look at your version, but couldn't identify the problem with the portraits. It seems to happen sporadically which, to use your terminology, is always 'fun'. I did find some other issues: Gui#statusTextPane may not have been initialized if the player opens up the options screen before statuses are displayed for the first time, leading to a NullPointerException in Gui#textScalingRefresh (line Gui:1657). Also, there are a few issues with battle images. It does not appear that Combat#images is ever filled, and Gui#displayImage() always tries to load an image even if there isn't one. The resulting exception is discarded, which is rather poor style.