crash.7ds

Active Member
Nov 18, 2018
920
783
That just might change my opinion about where this game's going if that actually happens. Lag is one of the main killers for me right now, that and how shallow virtually everything is in the game.
 

ebonheart2319

Member
Jul 21, 2017
135
428
Gotta agree with you guys there...
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.")
 

EmDotRand

Active Member
Sep 7, 2020
857
1,408
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,529
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
131
242
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
535
912
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,529
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
535
912
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,286
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,411
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,563
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,286
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
535
912
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,236
16,709
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
535
912
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,563
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,286
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?
 
4.10 star(s) 123 Votes