Sarkath

Active Member
Sep 8, 2019
535
912
Since there isn't a whole lot going on upstream, how about we talk about how LT will happily allocate a total of 41GB of RAM for about two minutes of gameplay?

1635827923012.png

Granted, that was using my and I was doing a lot of travel, but still. It's no wonder people with lower spec machines have issues getting this thing to run.

I'm going to see if I can do something about this. :HideThePain: Kinda seems like most of the allocations get done during the save process (i.e. converting NPC data into XML).

Edit: Jesus tap-dancing Christ, why is multi-cock implemented like this?

1635829010780.png

Edit²: Some explanation is probably warranted for this outburst/tangent.

There's a few reasons this is bad. For one, you're limited to two penises. Second, what happens when something can have four dicks? There's only two Penis variables!

In programming, there are constructs called lists. These allow you to store an indeterminate number of objects in a single variable, and also gives you the ability to dynamically add and remove items from the list to your heart's content. If you want to give your character another cock, just add it to the list. If you want to emasculate them, just clear the list and all the schlongs be gone. Plus, it makes it really simple to save your willies: just loop through the list and…that's it, really.

Using the current system, you have to be careful to assign your new dong to the right variable, and clean up after yourself if you remove one. Instead of simply calling an add function, you have to check both values to see which one is free. When you remove them, you need to make sure you move the tallywhacker stored in secondPenis into the main penis variable, otherwise the game might skip over your remaining meat and two veg.

tl;dr this should be a list why the fuck isn't it a fucking list
 
Last edited:

lagaard

Member
Jan 25, 2018
266
134
Man, it's weird to think of how long this has been updated for.
And I still have this weird love-hate with it. On the one hand, its actually kinda fun. But then I run into my real dilemma:
I prefer female protagonists for some things, and dressing up. But the male protagonist also has a lot of content I enjoy, but then I can't have fun with dressing up! Tch. Same thing with Degrees of Lewdity for me, really.
And yes I guess futa is an option, but that's kind of a cop-out.

Also still surprised there isn't like, a strip dice game or something. or any kind of mini-game in that vein.
 
  • Like
Reactions: Jrar

Dr.Feelgood

Member
Sep 21, 2018
182
228
Edit: Jesus tap-dancing Christ, why is multi-cock implemented like this?
Pretty sure this is a clear indicator that Inno is throwing things at the wall and running with whatever doesn't immediately blow up in her face. I can't possibly imagine how a few YEARS of coding with this mindset led to the problems she is facing today.

Now, in regards to the content implemented in update 4.2... who the fuck are Monica and Kay? I want to say Kay is somehow involved in Nyan's updated clusterfuck of a romance quest, but I got nothing for Monica. Seriously, which one of the two dozen unremarkable and redundant NPCs in Ellis was she? A merchant? Guard? Centaur? 4.1.19 addition that anyone who feared an update even Inno described as 'unstable' wouldn't know about?
 

Bocoboco

Member
Jan 18, 2018
174
190
Pretty sure this is a clear indicator that Inno is throwing things at the wall and running with whatever doesn't immediately blow up in her face. I can't possibly imagine how a few YEARS of coding with this mindset led to the problems she is facing today.

Now, in regards to the content implemented in update 4.2... who the fuck are Monica and Kay? I want to say Kay is somehow involved in Nyan's updated clusterfuck of a romance quest, but I got nothing for Monica. Seriously, which one of the two dozen unremarkable and redundant NPCs in Ellis was she? A merchant? Guard? Centaur? 4.1.19 addition that anyone who feared an update even Inno described as 'unstable' wouldn't know about?
Monica is the cow girl in at the Wall's End in Elis, and the reason for the delay before this most recent delay.
 

NoStepOnSnek

Well-Known Member
Apr 29, 2018
1,167
1,286
Edit: Jesus tap-dancing Christ, why is multi-cock implemented like this?

View attachment 1480372

Edit²: Some explanation is probably warranted for this outburst/tangent.

There's a few reasons this is bad. For one, you're limited to two penises. Second, what happens when something can have four dicks? There's only two Penis variables!

In programming, there are constructs called lists. These allow you to store an indeterminate number of objects in a single variable, and also gives you the ability to dynamically add and remove items from the list to your heart's content. If you want to give your character another cock, just add it to the list. If you want to emasculate them, just clear the list and all the schlongs be gone. Plus, it makes it really simple to save your willies: just loop through the list and…that's it, really.

Using the current system, you have to be careful to assign your new dong to the right variable, and clean up after yourself if you remove one. Instead of simply calling an add function, you have to check both values to see which one is free. When you remove them, you need to make sure you move the tallywhacker stored in secondPenis into the main penis variable, otherwise the game might skip over your remaining meat and two veg.

tl;dr this should be a list why the fuck isn't it a fucking list
If it's any consolation, that code is ancient so there's at least a chance the actual implementation will be saner.
 
  • Like
Reactions: Sarkath

Sarkath

Active Member
Sep 8, 2019
535
912
If it's any consolation, that code is ancient so there's at least a chance the actual implementation will be saner.
Yeah, I know. From what I've gathered, GameCharacter is one of the oldest classes, so it's one of the most likely to have nuggets like this scattered around. It's just that seeing that while mucking about with thousands of lines of XML and hand-spun serialization code just kind of broke me. :p

In fairness, I suppose at this point in development this bit of low-hanging fruit would be a bit deceptive. Updating this to use a list would require saved games to be handled with care, otherwise NPCs/players could very well lose their package(s), and it would require the alternate load routine to stick around for a while since all previous saved games would need to be converted to use an array/list. Ugh.

That said, I do kinda think that saves are going to have to break at some point. I don't think the current serialization system is really tenable as the game world expands, and the more I look at it the more I suspect that the current system is going to have to be gutted and replaced with something more memory efficient.
 

BBGunna

Newbie
Aug 27, 2018
37
113
Wouldn't be enough. 0.3 released back in late 2018 and we've only reached 0.4 this year.

Inno is a freeform developer; instead of taking a formulaic approach to development and planning ahead, she just goes with the flow and works on whatever strikes her fancy at the moment. This is both good and bad. It can good do something else when you're at a roadblock and need to take a break. On the other hand, too much of it and before you know it 6 months have passed and you're still going side-ways, adding minor content that is probably going to require you to refactor the code on top of it just to make it work. This has been LT in a nutshell since 2018.
My god Inno really is the George R.R Martin of h-game development eh
 

Quintilus

Engaged Member
Aug 8, 2020
2,720
7,880
Edit: Jesus tap-dancing Christ, why is multi-cock implemented like this?

View attachment 1480372
From what I get from reading source, its made (game I mean) by "professional enterprise programmers", which strictly follows task. I.e. "how much dicks should we implement? 2? Okay.
private PlayerDick first_dick;
private PlayerDick second_dick;

Damn Im good. Let get some coffee."

Updating this to use a list would require saved games to be handled with care, otherwise NPCs/players could very well lose their package(s), and it would require the alternate load routine to stick around for a while since all previous saved games would need to be converted to use an array/list. Ugh.
Introduce save versioning system and create additional class (or how it named in Java, interface?) SavesCompatibility, which would fix all "serialized errors", before passing save game data furter into the deeptness of a game.
 
  • Haha
  • Like
Reactions: oracle255 and Jrar

BobaTheOrc

Newbie
Nov 21, 2018
34
130
Not pleased with her output. At all. My job piles more and more responsibilities onto me by the day while median wages and benefits refuse to budge and the cost of living explodes out of control, all while I have little to no time for myself. I'm writing this while on the bus. She's not the only one with problems to deal with, and we certainly don't get paid nearly as much as she does to handle them from the privacy and safety of our own home 24/7.

I know it's cruel, but I hope someone reverse engineers her code, rewrites it to avoid all the pitfalls being used as an excuse to do nothing, and then just steals all the attention being given to her project out from under her. The groundwork for a really good game is in the works here, and she keeps bungling it for an ever-increasing variety of excuses, despite how much she's receiving on Patreon.
 

X3h0n

Newbie
Jun 18, 2020
24
17
The game is open source. You can download it, make changes and compile your own version. The problem is that the codebase is a hot mess and anyone seriously thinking of succeeding the project would need to spend about a year deciphering and rewriting a lot of code and plan out a future direction for the game without the original author. At that point you might as well do your own thing.
 

Sarkath

Active Member
Sep 8, 2019
535
912
From what I get from reading source, its made (game I mean) by "professional enterprise programmers", which strictly follows task. I.e. "how much dicks should we implement? 2? Okay.
private PlayerDick first_dick;
private PlayerDick second_dick;

Damn Im good. Let get some coffee."
I think you're overselling "professional enterprise programmers" a bit. I've worked with a few of them at my last job and Inno could code circles around them.

Yes, I'm serious. :p

Introduce save versioning system and create additional class (or how it named in Java, interface?) SavesCompatibility, which would fix all "serialized errors", before passing save game data furter into the deeptness of a game.
Yep. That sort of cruft still bothers me, though. I don't mind it when there's a damn good reason for it (breakage due to natural evolution, etc), but it feels like a bit of a kick in the dick when versioning has to be used to fix a problem that shouldn't have existed in the first place.

Not pleased with her output. At all. My job piles more and more responsibilities onto me by the day while median wages and benefits refuse to budge and the cost of living explodes out of control, all while I have little to no time for myself. I'm writing this while on the bus. She's not the only one with problems to deal with.
It wouldn't be so bad if her SubStar didn't continue to grow in spite of the lack of output. A year or so ago you could make the argument that she couldn't afford to hire help or pay for bug bounties, but that's certainly not true now.

I know it's cruel, but I hope someone reverse engineers her code, rewrites it to avoid all the pitfalls being used as an excuse to do nothing, and then just steals all the attention being given to her project out from under her. The groundwork for a really good game is in the works here, and she keeps bungling it for an ever-increasing variety of excuses, despite how much she's receiving on Patreon.
I've mulled over starting a community mod/revamp project (sort of like what people did with Rack 2…which has an even lazier developer who's making even more money), but I'm hesitant to go too far with it. See, the code is freely available for LT, though it's not released under an open source license. If someone did hijack the project and Inno felt so inclined she could DMCA the modded version out of existence.

Another issue with LT is that as it stands it's a very fragile base. The memory and CPU usage is already out of control and the causes aren't particularly trivial to fix (I've cut down CPU usage fairly significantly with one of my patches, but that only partially solved the rampant memory allocations). On top of that, the entire game relies on a JavaScript engine that was deprecated in Java 10 and has been completely removed from 17+, so when Oracle finally pulls support for Java 8 things are going to get very "interesting." It's already more difficult than it should be to run LT on macOS and bleeding edge Linux distros without screwing around with JREs and OpenJFX installs because of this.

If the goal is to make LT good, the best way to do it would be to start a new community project with similar systems and goals. Free and open would be best, as 1) it eliminates the usual Patreon/SubStar slack that generally occurs, 2) it would encourage communal development, and 3) people (myself included) contribute to LT despite it effectively being a paid product, so it's not that people would be unwilling to contribute to something of that nature.

There are some potential legal issues with community projects (content ownership, yadda yadda), of course, but that should be manageable with the right licenses and a friendly approach to content removal and community interaction.

The game is open source. You can download it, make changes and compile your own version.
The game isn't open source, it's source-available. Check the . When you contribute code or content, you are giving Inno sole ownership of your contributions.
 

X3h0n

Newbie
Jun 18, 2020
24
17
On the topic of compiling the source code. Is anyone experiencing worse performance with their own compiled versions of the game vs. the provided binaries? I followed the instructions given on github on how to compile it, but even without any changes to the source I'm getting significantly more lag right out of the gate and an increased amount of memory leakage. I'm not all that experienced in Java, but is it just me or are the compiling instructions bad?
 

Sarkath

Active Member
Sep 8, 2019
535
912
On the topic of compiling the source code. Is anyone experiencing worse performance with their own compiled versions of the game vs. the provided binaries? I followed the instructions given on github on how to compile it, but even without any changes to the source I'm getting significantly more lag right out of the gate and an increased amount of memory leakage. I'm not all that experienced in Java, but is it just me or are the compiling instructions bad?
Make sure you're not attaching a debugger to the game if you don't have to. That will cause things to move noticeably slower.

One thing that might help is to pass the Xmx parameter to the JRE to increase the maximum heap size (i.e. -Xmx8096M for 8GB). I haven't used the release build in forever, but I wouldn't be surprised if it allocated a larger heap than an IDE would. LT allocates memory at a staggering rate, so that should help smooth things out considerably.
 

X3h0n

Newbie
Jun 18, 2020
24
17
Make sure you're not attaching a debugger to the game if you don't have to. That will cause things to move noticeably slower.

One thing that might help is to pass the Xmx parameter to the JRE to increase the maximum heap size (i.e. -Xmx8096M for 8GB). I haven't used the release build in forever, but I wouldn't be surprised if it allocated a larger heap than an IDE would. LT allocates memory at a staggering rate, so that should help smooth things out considerably.
I've been using the Xmx parameter while running my JREs, the problem isn't even that the memory heap get's full. Curiously enough my JRE takes up less initial memory than the official binary (imported new game, skipped intro, JRE takes about 360MB while the binary takes about 1.2GB). However, if I open up the inventory, switching between items is significantly laggier with my compiled version on a fresh start. The UI lag is overall several times greater.

I haven't actually tested how quickly the memory allocation grows over time official version vs. compiled. That just feels much greater on the compiled version, but maybe you're right and the heap size for the official version is way higher than the 8GB I'm giving to my compiled version out of 16GB that my system has.

I don't know how to use the eclipse debugger, so I assume it's not on by default. Doesn't seem like in the build settings.
 
4.10 star(s) 124 Votes