EmDotRand

Active Member
Sep 7, 2020
942
1,604
Just tried putting wings on a slime for the first time in ages, only to find out they can't fly anymore. When did that happen?
 

mrttao

Forum Fanatic
Jun 11, 2021
4,521
7,536
We have magic maps that somehow are able to track our children for us
wait really? the game actually track each child individually as they move around the map?
no wonder this game is so goddamn laggy.

There is a reason why coc abstracted this into just having a list of the number of kids.
Then you do something like "X% chance to encounter tamani's daughters" instead of actually tracking every single one of them individually at all times.

I mean, the whole "child is instantly 18 with inherited knowledge and leaves home" is literally a perfect setup for saving resources by not having to track any children.
 

DirtyMare88

Member
Jun 26, 2020
133
245
wait really? the game actually track each child individually as they move around the map?
no wonder this game is so goddamn laggy.

There is a reason why coc abstracted this into just having a list of the number of kids.
Then you do something like "X% chance to encounter tamani's daughters" instead of actually tracking every single one of them individually at all times.

I mean, the whole "child is instantly 18 with inherited knowledge and leaves home" is literally a perfect setup for saving resources by not having to track any children.
well the kids aren't "moving" around the map on there own or anything until you encounter them, but they will massively slow down a game when you have large numbers of them.
The map can be useful for this, lets you summon your kid, attack them, banish them from the game (delete them essentially) It's kinda morally fucked up, but so is enslaving and raping them, but that's the game.

I did that process in my current game today, went through and "deleted" 30-40 uninteresting kids, saw a pretty massive performance boost for the game.
 

Sarkath

Active Member
Sep 8, 2019
541
919
wait really? the game actually track each child individually as they move around the map?
no wonder this game is so goddamn laggy.
The problem isn't so much that the kids move, it's that the game calculates status updates in a naïve and wasteful way. The only status that needs to be processed every turn regardless of position is pregnancy, but the game will perform status update calculations on all NPCs regardless of where they are in the world.

I wrote a patch a while back to defer most status update calculations until the player lands on a tile with an NPC and saw a huge increase in performance with a slight decrease in memory allocation.

Considering the patch specifically mentions performance updates related to "unmet children," I'm curious as to how much of an impact it'll have when there are a lot of active NPCs in the world. I assume the patch ensures that unmet children aren't impacted by status calculations, but I haven't looked into it yet.
 

ebonheart2319

Member
Jul 21, 2017
135
428
wait really?
A major source of lag is the fact that the code runs the numbers for every npc's sperm count, cooch drip, and saliva viscosity every tick.
And... so... much... more. ... as in thousands of lines referenced per NPC per tick. EVERY tick. Universally.
And it does so in vaguely the same way as a day trip from Seattle to LA by way of London and the Moon.

Hence the RAM usage that makes Cyberpunk 2077 blush.

But thats in ADDITION to the known memory leak that degrades the game over time.
 
  • Like
Reactions: mrttao

mrttao

Forum Fanatic
Jun 11, 2021
4,521
7,536
The problem isn't so much that the kids move, it's that the game calculates status updates in a naïve and wasteful way. The only status that needs to be processed every turn regardless of position is pregnancy, but the game will perform status update calculations on all NPCs regardless of where they are in the world.

I wrote a patch a while back to defer most status update calculations until the player lands on a tile with an NPC and saw a huge increase in performance with a slight decrease in memory allocation.

Considering the patch specifically mentions performance updates related to "unmet children," I'm curious as to how much of an impact it'll have when there are a lot of active NPCs in the world. I assume the patch ensures that unmet children aren't impacted by status calculations, but I haven't looked into it yet.
Did inno reject your patch?
 

Sarkath

Active Member
Sep 8, 2019
541
919
Did inno reject your patch?
Nope, I haven't opened a PR yet for it yet.

I haven't given it enough testing with the latest versions of LT to feel comfortable submitting it just yet. I'm also curious to see what Ace changed with their performance patch.
 

NoStepOnSnek

Well-Known Member
Apr 29, 2018
1,167
1,287
I read that and had a laugh. The couple people insisting performance was way better in the current version because Inno said there would be an update from Ace, when it wasn't in the patch notes at all.

Turns out it wasn't in this version at all.

That explains why it still plays like shit lol
Or we could be looking at two unrelated fixes to different, specific issues. But yeah, lets go with your assumption because "hurrdurr bad dev" :rolleyes:
 
  • Like
Reactions: mrttao

IvoryOwl

Active Member
Mar 29, 2017
761
1,413
Just tried putting wings on a slime for the first time in ages, only to find out they can't fly anymore. When did that happen?
I don't remember a specific date but it was long time ago.

EDIT: I tried to look it up but the best I could find was some people mentioning their slimes couldn't fly anymore back in 2018... so around or prior to that?
 
Last edited:

tehlemon

Well-Known Member
Jan 26, 2021
1,224
1,565
It shouldn't be taxing or difficult.
Its dialogue tags flagged for specific triggers.
Money, Quest Completion, Slave#, Spa, Kid#, Sub/Dom#, Corrupt#... ect.

Or at least it SHOULD be simple.
This is the kind of flavor filler busywork that modders and contributors should easily slip in.
Its one of the systems that SHOULD be simple and easily expandable.

IIRC the game ALREADY tries to do it as the guard dialogue treats you like shit until you have inhuman traits, but does not seem to be expanded beyond such basics.

It just highlights the severity of the coding issue.

Note: This is NOT the "Meaningful" conditional options during events, just NPC flavor text.
(Though the majority of those are already just "oh yeah... walls vs wings.")
It should be that simple, but we know its not. The content pipeline wasn't something that was really considered when designing this game, which is why basically every part of it has been or will be completely re-written lol

Nope, I haven't opened a PR yet for it yet.

I haven't given it enough testing with the latest versions of LT to feel comfortable submitting it just yet. I'm also curious to see what Ace changed with their performance patch.
It sounds like Ace's fix is only targeting unmet children. I'm betting, or at least hoping, he went through and re-worked it so that unmet children are just placeholders and not fully realized NPCs until you meet them. That's less of an aggressive fix than I remember yours being, so the two could probably play well together.

Or we could be looking at two unrelated fixes to different, specific issues. But yeah, lets go with your assumption because "hurrdurr bad dev" :rolleyes:
I wasn't making fun of Inno with that one. I was making fun of the commenters here.

This was another "the devs changed onyxia" moment. Nothing changed but people insisted things were very different anyways.
 
  • Like
Reactions: Admiral Thrawn

playerme

Newbie
Jun 3, 2018
90
41
It depends on which distribution you're using. If you're using Arch, install the java8-openjdk and java8-openjfx packages. If you're using Ubuntu, install the openjdk-8-jre and openjfx packages. Later versions of OpenJDK might work as long as OpenJFX is also installed, but JRE 8 is the developer recommended version.

I wouldn't bother with Wine. Aside from having pretty specific requirements the game works very well under Linux (as well as Lilith's Throne can run, anyway ;)).
Yeah, trying under Wine was ... far from satisfactory.
Thank you so very much. I find it interesting that even though we're to Java SDK 17, only 8 is working for games. I couldn't play any Jar files until I just finished installing 8. I'll see if I have openJFX running, but I believe it was one of the items i changed as well. I'll have to try it and verify it before getting back to you.

Thank you for taking the time to try and help.
 

NoStepOnSnek

Well-Known Member
Apr 29, 2018
1,167
1,287
It sounds like Ace's fix is only targeting unmet children. I'm betting, or at least hoping, he went through and re-worked it so that unmet children are just placeholders and not fully realized NPCs until you meet them. That's less of an aggressive fix than I remember yours being, so the two could probably play well together.
That is the gist of it, yes.
I wasn't making fun of Inno with that one. I was making fun of the commenters here.

This was another "the devs changed onyxia" moment. Nothing changed but people insisted things were very different anyways.
People with a bunch of slaves stalking them at home and/or in the city should see an improvement in those areas since that was what's addressed in the current update. If you just park a handful in a milk room, yeah, no shit you don't see a change.
 

Sarkath

Active Member
Sep 8, 2019
541
919
Thank you so very much. I find it interesting that even though we're to Java SDK 17, only 8 is working for games. I couldn't play any Jar files until I just finished installing 8.
Minecraft 1.18 is going to target Java 17, so that's something, I guess? Apparently 17 is the latest LTS release (the previous was 11, I think), so I suppose that makes sense.

As for LT, the only thing that technically ties it to Java 15 and below is its use of the Nashorn JavaScript engine, which was deprecated in Java 11 and completely removed in Java 16. JavaFX complicates things a little bit, since it was included in Java 8 before being split off into its own project. Depending on how your distro's packages are set up, you might be able to get away with using a slightly newer version.

I'll see if I have openJFX running, but I believe it was one of the items i changed as well. I'll have to try it and verify it before getting back to you.

Thank you for taking the time to try and help.
Sounds good! Let me know how you make out.

One other option if all of that fails is rolling your own builds. I do pretty much all of my LT hacking on either Linux or macOS using IntelliJ (which, as an added bonus, can manage its own JRE installations outside of the constraints of what your distro offers), so if you wanted to take that approach instead I can step you through it. I've been around that proverbial block quite a few times at this point. :)
 

a1fox3

Loving Family Member's
Donor
Respected User
Aug 8, 2017
24,332
16,829
Don't know if this has been posted yet or not but here it is.

Monday, 22 November 2021



Hello again,
This is just a small post to let you all know how things are progressing towards v0.4.2.5's release. Since the last post (and the release of v0.4.2.3), I've mainly been working on getting a large pull request merged (PR#1622 from AceXP) that should significantly improve performance and save file sizes in games where you have a large number of unmet offspring. I've also been fixing some bugs and getting some other minor things addressed.
Starting tomorrow, I'm going to move on to adding the content for the other shops in Elis's shopping precinct. I'd also like to get a few more bugs and other minor issues sorted out, so while I initially was aiming for a release around the middle of this week, it's highly likely that v0.4.2.5 will now be out at the earliest on the evening of this Saturday, 27th (as a preview release over on SubscribeStar). If it's looking like there's going to be a delay, I'll try to let you know a day or two in advance.
My next post will likely be the release (or delay...) post of v0.4.2.5, so I'll see you again then.
 

Sarkath

Active Member
Sep 8, 2019
541
919
It sounds like Ace's fix is only targeting unmet children. I'm betting, or at least hoping, he went through and re-worked it so that unmet children are just placeholders and not fully realized NPCs until you meet them. That's less of an aggressive fix than I remember yours being, so the two could probably play well together.
I just took a look at it, and that's exactly what it's doing. It should decrease the size of the save files pretty drastically as well.

I agree that the two patchsets should compliment each other well. I'd say that Ace's patch will help early game breeders significantly, since it's unlikely that you'll have an active NPC on every tile, but mine should help smooth things out as the game drags on and more proper NPC classes are initialized.
 

tehlemon

Well-Known Member
Jan 26, 2021
1,224
1,565
People with a bunch of slaves stalking them at home and/or in the city should see an improvement in those areas since that was what's addressed in the current update. If you just park a handful in a milk room, yeah, no shit you don't see a change.
Yes. NEXT patch.

But I was talking about the people who were saying this last patch increased the games performance because of the change Inno was saying Ace made.

You know, the change that's coming in the next patch.

So not out now.

I just took a look at it, and that's exactly what it's doing. It should decrease the size of the save files pretty drastically as well.

I agree that the two patchsets should compliment each other well. I'd say that Ace's patch will help early game breeders significantly, since it's unlikely that you'll have an active NPC on every tile, but mine should help smooth things out as the game drags on and more proper NPC classes are initialized.
That'll help a lot in general. Like, it's pretty easy to keep the spawned NPCs pretty limited, but if you bang someone with the wrong perks you could balloon the children list in a fucking hurry. And with children being completely invisable until you meet them it's really easy to forget that they're taking up resources or how many you currently have in your save.

For your average player who isn't specifically playing to test shit or min/maxing for performance, this'll probably be the best change in years.
 

NoStepOnSnek

Well-Known Member
Apr 29, 2018
1,167
1,287
Yes. NEXT patch.

But I was talking about the people who were saying this last patch increased the games performance because of the change Inno was saying Ace made.

You know, the change that's coming in the next patch.

So not out now.
I am well aware what you are talking about but boldCaps don't make it any more true. Which part of "two different changes" is so hard to understand?
 

IvoryOwl

Active Member
Mar 29, 2017
761
1,413
Yes. NEXT patch.

But I was talking about the people who were saying this last patch increased the games performance because of the change Inno was saying Ace made.

You know, the change that's coming in the next patch.

So not out now.
No. In the PREVIOUS update there was an actual patch meant to improve the performance in the game.

Improved Encounter generation code, improving performance in Lilaya's Home and Dominion tiles. (by AceXP)

The NEXT update is just a continuation of the bug fixes and performance improvements we have been getting lately, but this time it will (supposedly) fix some of the lag caused by having a large number of offspring.

One thing doesn't invalidate the other. You've been making fun of people who had legit improvements in their game, because of a legit fix. (Your mileage may vary as every PC is different.) Cmon bud, you need to read the changelog more carefully else you'll end up eating your own foot like this...
 
Last edited:
  • Like
Reactions: NoStepOnSnek

playerme

Newbie
Jun 3, 2018
90
41
Sounds good! Let me know how you make out.
:)
Sigh, not well, is how I made out.

~/Games/Lilith's Throne/Lilith's Throne Exe$ java -jar LilithsThrone_0_4_2_3.jar
Error: Could not find or load main class com.lilithsthrone.main.Main

That's with openjfx 11.0.7+0-2ubuntu2

Running on Linux Mint 20.2 Uma 64bit
Linux Kernel 5.4.0-90-generic x86_64
Mate 1.24.0 Desktop
Metacity Theme

12GiB ECC RAM -- in triple channel interleaved --
Dual Intel Xenon E5620 Quad Core Hyper-threading processors @ 2.40 GHz. x 16 effective cores
With PNY NVS 300 /PCIe/ SSE2 NVIDIA Quadro Graphics 256 MB DDR2 VRAM

Assuming any of that means anything to you.
 

IvoryOwl

Active Member
Mar 29, 2017
761
1,413
With PNY NVS 300 /PCIe/ SSE2 NVIDIA Quadro Graphics 256 MB DDR2 VRAM
I don't know what your specific issue is but I do know that GPU is not going to cut it. Contrary to popular belief, even simple text games can be resource intensive if built on poor engines by inexperienced devs. Such is the case with Lilith's Throne. Heck, even strong PCs struggle with it! I highly doubt burning your hardware on a text porn game is on your bucket list of things to do so I strongly advise you look for another game to play (or at least one that is better optimized). lol

Jesus, a 256MB card... haven't seen one of those in over a decade.
 
Last edited:
4.10 star(s) 124 Votes