Jump to content

[mod] RimJobWorld


Skömer

AI  

633 members have voted

  1. 1. Usage of AI / LLMs

    • Never used it / involuntarily used it because its automatically included everywhere
      186
    • Only a Handful of times
      159
    • Once a month
      34
    • Every week
      102
    • Daily
      152
  2. 2. Where do you use them?

    • It's part of my job
      128
    • For getting internet search results
      279
    • As a dictionary/for quick information
      178
    • For writing code/generating sprites
      117
    • For fun
      341
    • As a personal companion/partner
      73
    • For making art
      84


Recommended Posts

Posted

Not sure if this was answered or not already, but something I noticed was that egg implanting doesn't seem to work on male characters in general. Is that a female-only thing that happens? A way to fix that? Just feels kind of quirky that bugs and the like would egg and cocoon anybody, but there's not really much point to having men in them other  than to waste space.

Posted
On 11/18/2020 at 3:19 PM, SingleForLife said:

RJW and it's addons should be moved all the way to the bottom of the load order, see if that fixes your issues


hello and thanks for the reply that was part of the issue i worked out that the stupid ingame sort feature put all my hud mods close to the bottom of the load order and i only remebered after you said RJW and the addons needed to be on the bottom that a friend of mine had this same issue and he fixed it by putting RJW and addons on the bottom of the load order and all hud mods on the top of the load order under the frameworks like jecstools so if anyone else has the issue make sure you don't use the rimworld auto sort thing it seems to not put the mods in the correct order well for me it did not.

Posted

Curious to know if wild animals try to mate with other animals outside their race. I know using wild mode allows them to, but just wandering if only wild mode allows them to random sex everything.

Posted

Hey again, I remember asking before about what decides sex need for pawns in cases of mods that add humanoid yet sub sapient pawns (like those monster girl mods). But now that I have Pawnmorpher I can't help but wonder if it would be difficult to apply a sex need to transformed pawns that have become some other type of animal or non-sapient monster. As I have seen it, the need disappears upon transformation similar to how other needs are no longer required upon reaching low enough sapience, but the sex need is gone right away until the pawn is reverted back to a humanoid. Is this just a bug with me or just a consequence of using Pawnmorpher with RJW when there is no sex need for non-humanoid pawns? It's not really a big problem since I can just designate for breeding but it would be nice to have the pawn still act as they usually would but in their new body. If anyone has any ideas I'd like to hear them! Oh and it's also worth mentioning that when some pawns transform they won't stop trying to clean themselves due to the hidden bukkake hediff that stays for a long time after everything is already clean, so its an endless obsessive cycle of self cleaning until that hediff is gone.

Posted
On 11/14/2020 at 8:41 PM, lonelynight said:

found bug here, RJW both latest and 4.4.1.2 version somehow conflict with latest SOS2 version. After pawn capture a prisoner and place it to bed, right clicking didn't work anymore on any pawn except on item and during drafting. Here's log

https://gist.github.com/0122010457555b993bbb13e5b0707720

This might have been an issue with RJW Race Support. I had an extremely similar issue (with SOS2 installed) and when I updated the Race Support fix that just went out it resolved. 

Posted

Is the prostitution not working anymore or am I just being dumb? I have set the colonist in question as a prostitute but she will not talk to guests and i cannot order her to do so. Am i missing something?

Posted
4 hours ago, Sicon3 said:

Is the prostitution not working anymore or am I just being dumb? I have set the colonist in question as a prostitute but she will not talk to guests and i cannot order her to do so. Am i missing something?

I think it is a combination of factors plus RNG. I have a colony of 30 pawns, all prostitutes. Some pawns have over 30 clients, some have less than five. Social skills, attractive/ugly, horniness and other traits/factors all play a part.

Posted

Hello all. I didn't notice there was an adult rimworld mod like this until yesterday. I got it to my game with few addons, but I'm having a sadly issue. Whenever I start a new colony, and some of my colonists form a couple (new lovers), they stop doing anything to have sex each other until drop exhausted. Then, rested up and back to do never stop sex again. I already changed some settings, but to no avail. Any clues to resolve that? For sure I'm doing something wrongly, but what can it be? Thanks in advance.

Posted
3 minutes ago, Arara said:

Hello all. I didn't notice there was an adult rimworld mod like this until yesterday. I got it to my game with few addons, but I'm having a sadly issue. Whenever I start a new colony, and some of my colonists form a couple (new lovers), they stop doing anything to have sex each other until drop exhausted. Then, rested up and back to do never stop sex again. I already changed some settings, but to no avail. Any clues to resolve that? For sure I'm doing something wrongly, but what can it be? Thanks in advance.

in game press ctrl+F12 to create a Hugslog, upload it to github or pastebin, link it here

that way we can see: a) what mods you have, b) what your mod load order looks like, c) the warnings and errors your game may or may not have told you about

Posted
35 minutes ago, SingleForLife said:

in game press ctrl+F12 to create a Hugslog, upload it to github or pastebin, link it here

that way we can see: a) what mods you have, b) what your mod load order looks like, c) the warnings and errors your game may or may not have told you about

Thanks a lot for the quick response.

 

I did what you said. The log was generated in git already: https://gist.github.com/HugsLibRecordKeeper/0c167c95658f51d3f9c29c52debfa100

 

In case you can't read on the link above, I paste it in the pastebin too: https://pastebin.pl/view/bc883c6d

 

And again, thanks. I have many hours in this game and didn't know ctrl+F12 thing too :P

Posted
1 hour ago, Arara said:

Thanks a lot for the quick response.

 

I did what you said. The log was generated in git already: https://gist.github.com/HugsLibRecordKeeper/0c167c95658f51d3f9c29c52debfa100

 

In case you can't read on the link above, I paste it in the pastebin too: https://pastebin.pl/view/bc883c6d

 

And again, thanks. I have many hours in this game and didn't know ctrl+F12 thing too :P

I'm not the most experienced guy here and you use some mods I never used at all like 'Combat Extended' and 'Children School and Learning' which COULD have something to do with your issue but I have no idea since, again, I never used them.

My personal guess would be either a) Prepare Carefully (although I only remember it messing with the hediffs) or b) Dub's Bad Hygiene which I only tried once and uninstalled the same day because it was causing some issues (can't remember what issues exactly though)

Posted
3 hours ago, Arara said:

Hello all. I didn't notice there was an adult rimworld mod like this until yesterday. I got it to my game with few addons, but I'm having a sadly issue. Whenever I start a new colony, and some of my colonists form a couple (new lovers), they stop doing anything to have sex each other until drop exhausted. Then, rested up and back to do never stop sex again. I already changed some settings, but to no avail. Any clues to resolve that? For sure I'm doing something wrongly, but what can it be? Thanks in advance.

give them the vigorous quirk and lower their sex drive

Posted
4 hours ago, bucpar said:

I think it is a combination of factors plus RNG. I have a colony of 30 pawns, all prostitutes. Some pawns have over 30 clients, some have less than five. Social skills, attractive/ugly, horniness and other traits/factors all play a part.

Its not that they are not succeeding they are not even attempting it

Posted
On 11/23/2020 at 10:49 PM, SingleForLife said:

I'm not the most experienced guy here and you use some mods I never used at all like 'Combat Extended' and 'Children School and Learning' which COULD have something to do with your issue but I have no idea since, again, I never used them.

My personal guess would be either a) Prepare Carefully (although I only remember it messing with the hediffs) or b) Dub's Bad Hygiene which I only tried once and uninstalled the same day because it was causing some issues (can't remember what issues exactly though)

Combat Extended I don't think is conflicting, could be weird if was, but children school and learning and dub's bad hygiene probably yes, although I use them for a long while and never had problems with another mods. But I will give a try for sure.

 

About Prepare Carefully, well, I read the first page post about it and I tried without use the Prepare Carefully Button, and still got the problem. But I will try again without those mods.

 

UPDATE: I removed the dub's bad hygiene and start a new colony. I don't know if it is just my impression or really work on half way. The couple isn't doing never ending sex anymore, but they never get satisfied and always had a debuff of sexually frustrated... well, a advance but still with problem :(

Posted

Has there been any testing for compatibility with Vanilla Traits Expanded? I really like both mods but I'm worried there might be conflicts, particularly with traits like "Prude" and "Insatiable", which both use the vanilla lovin' mechanic.

Posted

@Arara try to use Psychology mod. I am using it and sex is quite rare. I cannot promise it will help but it works for me.

 

Nvm. You installed so many mods. The conflict potential is exponential.

Posted
On 11/22/2020 at 12:11 PM, Captain Action said:

In wild mode every non-tamed male animal can. They tend to prefer their own kind, but will go for any female pawn if there is a lack females within their search distance 

Huh that's weird. I've tried it on wild mode while upping the search distance and everything still doesn't give two shits.

Posted
Spoiler

Exception drawing Grynn: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Thing.Draw () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.ThingWithComps.Verse.ThingWithComps.Draw_Patch1(Verse.ThingWithComps)
  at (wrapper dynamic-method) Verse.DynamicDrawManager.Verse.DynamicDrawManager.DrawDynamicThings_Patch2(Verse.DynamicDrawManager)
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.DynamicDrawManager:Verse.DynamicDrawManager.DrawDynamicThings_Patch2(DynamicDrawManager)
Verse.Map:Verse.Map.MapUpdate_Patch2(Map)
Verse.Game:Verse.Game.UpdatePlay_Patch2(Game)
Verse.Root_Play:Update()

Root level exception in OnGUI(): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.TooltipGiverList.DispenseAllThingTooltips () [0x0009c] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.MapInterface.MapInterfaceOnGUI_BeforeMainTabs () [0x00074] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.UIRoot_Play.UIRootOnGUI () [0x0001f] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Root.Verse.Root.OnGUI_Patch1(Verse.Root)
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.Root:Verse.Root.OnGUI_Patch1(Root)

Exception drawing ThingOverlay for Grynn: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.GenMapUI.LabelDrawPosFor (Verse.Thing thing, System.Single worldOffsetZ) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.PawnUIOverlay.Verse.PawnUIOverlay.DrawPawnGUIOverlay_Patch4(Verse.PawnUIOverlay)
  at Verse.Pawn.DrawGUIOverlay () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.ThingOverlays.ThingOverlaysOnGUI () [0x0005e] in <d72310b4d8f64d25aee502792b58549f>:0 
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.ThingOverlays:ThingOverlaysOnGUI()
RimWorld.MapInterface:MapInterfaceOnGUI_BeforeMainTabs()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:Verse.Root.OnGUI_Patch1(Root)
 

I keep getting these errors when i load into the map, and no pawn shows up. can anyone point me at what mod is doing it maybe? ...is it facial stuff? man i love that mod but so many problems

 

here is the hugslog https://gist.github.com/c864775d8b4cb9c853aefdb4a5db22c7

Posted
On 11/24/2020 at 12:32 AM, Arara said:

Thanks a lot for the quick response.

 

I did what you said. The log was generated in git already: https://gist.github.com/HugsLibRecordKeeper/0c167c95658f51d3f9c29c52debfa100

 

In case you can't read on the link above, I paste it in the pastebin too: https://pastebin.pl/view/bc883c6d

 

And again, thanks. I have many hours in this game and didn't know ctrl+F12 thing too :P

I only quickly glanced at you hugslib:

- Sort your mods. A guide can be found in the second post of this thread.

- Why are you using "The Birds and the Bees"? Its functionality overlaps with RJW.

 

I've been using RJW + Dubs Bad Hygiene for ages now and didn't have any issues with that combination.

 

3 hours ago, grynn said:
  Reveal hidden contents

Exception drawing Grynn: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Thing.Draw () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.ThingWithComps.Verse.ThingWithComps.Draw_Patch1(Verse.ThingWithComps)
  at (wrapper dynamic-method) Verse.DynamicDrawManager.Verse.DynamicDrawManager.DrawDynamicThings_Patch2(Verse.DynamicDrawManager)
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.DynamicDrawManager:Verse.DynamicDrawManager.DrawDynamicThings_Patch2(DynamicDrawManager)
Verse.Map:Verse.Map.MapUpdate_Patch2(Map)
Verse.Game:Verse.Game.UpdatePlay_Patch2(Game)
Verse.Root_Play:Update()

Root level exception in OnGUI(): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.TooltipGiverList.DispenseAllThingTooltips () [0x0009c] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.MapInterface.MapInterfaceOnGUI_BeforeMainTabs () [0x00074] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.UIRoot_Play.UIRootOnGUI () [0x0001f] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Root.Verse.Root.OnGUI_Patch1(Verse.Root)
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.Root:Verse.Root.OnGUI_Patch1(Root)

Exception drawing ThingOverlay for Grynn: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.PawnTweener.MovedPercent () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.TweenedPosRoot () [0x00021] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.ResetTweenedPosToRoot () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.PawnTweener.PreDrawPosCalculation () [0x0001d] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.Pawn_DrawTracker.Verse.Pawn_DrawTracker.get_DrawPos_Patch1(Verse.Pawn_DrawTracker)
  at Verse.Pawn.get_DrawPos () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.GenMapUI.LabelDrawPosFor (Verse.Thing thing, System.Single worldOffsetZ) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at (wrapper dynamic-method) Verse.PawnUIOverlay.Verse.PawnUIOverlay.DrawPawnGUIOverlay_Patch4(Verse.PawnUIOverlay)
  at Verse.Pawn.DrawGUIOverlay () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.ThingOverlays.ThingOverlaysOnGUI () [0x0005e] in <d72310b4d8f64d25aee502792b58549f>:0 
Verse.Log:Verse.Log.Error_Patch1(String, Boolean)
Verse.ThingOverlays:ThingOverlaysOnGUI()
RimWorld.MapInterface:MapInterfaceOnGUI_BeforeMainTabs()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:Verse.Root.OnGUI_Patch1(Root)
 

I keep getting these errors when i load into the map, and no pawn shows up. can anyone point me at what mod is doing it maybe? ...is it facial stuff? man i love that mod but so many problems

Post HugsLog, we don't know which mods you are using.

 

Posted
6 hours ago, nugerumon said:

I only quickly glanced at you hugslib:

- Sort your mods. A guide can be found in the second post of this thread.

- Why are you using "The Birds and the Bees"? Its functionality overlaps with RJW.

 

I've been using RJW + Dubs Bad Hygiene for ages now and didn't have any issues with that combination.

 

Post HugsLog, we don't know which mods you are using.

 

https://gist.github.com/c864775d8b4cb9c853aefdb4a5db22c7

Posted

Hi. I have noticed a huge drop in FPS / TPS after a moderate size (~30) mech cluster landed on my moderate size ($30 colonist) colony. "trust me, I'm an engineer", so I have started by installing Dubs performance analyzer.

Spoiler

RjwThinkNodes.png.acf4cafc42c3a4a4c71a9aa3ed9f398d.png

 

It quickly became apparent, that there are massive spikes in JobGiver_RapeEnemy. After some try and error profiling, I realized that this is a lot of busy work, with mechs trying and failing to find targets. The most expensive thing appears to be the full map pathing search in FindVictim -> xxx.can_path_to_target. With a simple change of checking the fuckability treshold before the pathing checks, I was already able to make the game playable again:

 

Spoiler

1PathingLast-RJWThinkNodes.png.1ed24e8685caf6b2e0803f6bcf8e73d1.png



 

 

Now, since we have already taken the time to read the code, might as well look around some more. The CanReserveAndReach() call in initial generation of targets collection appears to be duplicate, as it is called again in IsValidTarget() (where it uses PathEndMode.OnCell instead of Touch, but this really shouldn't make a difference). Removed that one as well, resulting in visible gain in average call times (though surprisingly the gain wasn't as high as in previous one. Perhaps CanReserveAndReach() is much cheaper than FindPath() ? Maybe replacing FindPath with CanReserveAndReach in can_path_to_target can help even further?)

 

Spoiler

2RemovedDoublepathingCheck-RJWThinkNodes.png.e35db788838dc17e51e3d37e07c6b38f.png


 

Now, I knew from the start that the big problem here was not mechs looking at the few colonists they can find, but that every mech considers whether it can rape any of my 100 ducks. I left this one last, as this is sort of functional change and needed to look if I wouldn't break anything. However, it seems that we currently not have any mech on animal action. In core RJW JobDriver_RapeEnemyByMech is the only driver applicable, and it only allows mechs to go after humanlikes. Guess someone could add their own JobDriver for some Mech x Animal in which case my changes would break it - let me know if you are aware of anything like that. For now however, the performance gain seems worth it:

Spoiler

3NoMechOnAnimalRjwThinkNodes.png.13fc819820c443d7c1e7848d684d368d.png



 

 

 

Now, JobGiver_RapeEnemy is still super expensive compared to anything else Rimworld does. This is the same scenario with RJW disabled:

Spoiler

NoRjwThinkNodes.png.523b2350904593058574b166def9131b.png


 

 

 

Having said that, the above made my game playable again, so for now I'm satisfied with the result. I have created a merge request for review, hope you like: https://gitgud.io/Ed86/rjw/-/merge_requests/143

Posted

 

8 hours ago, nugerumon said:

I only quickly glanced at you hugslib:

- Sort your mods. A guide can be found in the second post of this thread.

- Why are you using "The Birds and the Bees"? Its functionality overlaps with RJW.

 

I've been using RJW + Dubs Bad Hygiene for ages now and didn't have any issues with that combination.

 

Post HugsLog, we don't know which mods you are using.

 

I found the issue. The mod conflicting was Children and Pregnancy. I had to remove all my mods and re add few, test and re add another, until finally find the conflict. When I removed CnP, works fine.

 

And yeah, before do that, I saw I was using The Birds and the Bees mod that wasn't need along this mod. But only removing that wasn't enough to fix the problem.

 

I'm only sad because I like the children mechanics the CnP add to the game, but I like the idea of realistic sexuallity traits this mod adds too. Nothing is perfect at last hehe

 

Posted
1 hour ago, Arara said:

 

I'm only sad because I like the children mechanics the CnP add to the game, but I like the idea of realistic sexuallity traits this mod adds too. Nothing is perfect at last hehe

 

You can try Babies and Children

 

3 hours ago, grynn said:

Didn't notice anything obvious, but your list might be better with some reordering. The Vanilla Expanded mods are rumored to be coded badly and might lead to errors. You have Prepare Carefully in your mod list, do you actually need it? Have you pushed the button?

Apart from that, it might be Facial Stuff. Or another mod with compatibility issues. Facial Stuff workshop page says "Most likely not compatible with anything else which modifies the PawnRenderer (e.g. Show Hair With Hats or Hide All Hats, Headgear Frame)", and you are using one of them. Also Facial Stuff is for 1.1, and while most 1.1-mods work in RW 1.2, some don't. You might have to try disabling some mods and check if that makes it work.

Posted
3 hours ago, crow_mw said:

Hi. I have noticed a huge drop in FPS / TPS after a moderate size (~30) mech cluster landed on my moderate size ($30 colonist) colony. "trust me, I'm an engineer", so I have started by installing Dubs performance analyzer.

  Reveal hidden contents

 

It quickly became apparent, that there are massive spikes in JobGiver_RapeEnemy. After some try and error profiling, I realized that this is a lot of busy work, with mechs trying and failing to find targets. The most expensive thing appears to be the full map pathing search in FindVictim -> xxx.can_path_to_target. With a simple change of checking the fuckability treshold before the pathing checks, I was already able to make the game playable again:

 

  Reveal hidden contents


Now, since we have already taken the time to read the code, might as well look around some more. The CanReserveAndReach() call in initial generation of targets collection appears to be duplicate, as it is called again in IsValidTarget() (where it uses PathEndMode.OnCell instead of Touch, but this really shouldn't make a difference). Removed that one as well, resulting in visible gain in average call times (though surprisingly the gain wasn't as high as in previous one. Perhaps CanReserveAndReach() is much cheaper than FindPath() ? Maybe replacing FindPath with CanReserveAndReach in can_path_to_target can help even further?)

 

  Reveal hidden contents


 

Now, I knew from the start that the big problem here was not mechs looking at the few colonists they can find, but that every mech considers whether it can rape any of my 100 ducks. I left this one last, as this is sort of functional change and needed to look if I wouldn't break anything. However, it seems that we currently not have any mech on animal action. In core RJW JobDriver_RapeEnemyByMech is the only driver applicable, and it only allows mechs to go after humanlikes. Guess someone could add their own JobDriver for some Mech x Animal in which case my changes would break it - let me know if you are aware of anything like that. For now however, the performance gain seems worth it:

  Reveal hidden contents


 

Now, JobGiver_RapeEnemy is still super expensive compared to anything else Rimworld does. This is the same scenario with RJW disabled:

  Reveal hidden contents


 

Having said that, the above made my game playable again, so for now I'm satisfied with the result. I have created a merge request for review, hope you like: https://gitgud.io/Ed86/rjw/-/merge_requests/143

well yes... can_path_to_target is very expensive on big colonies/maps/mid games with lots of pawns, but thats the price of using real pather

i'd suggest using cellsdistance mode instead of pathing but i doubt any one reads settings descriptions

 

i guess i can split it in two, 1st pass - celldistance check and 2nd(after fuckability)  - real pathing

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...