Yeppers34

Member
Aug 11, 2021
279
1,123
i dont think the game is dead at this point, but inno is terrible at keeping up with deadlines, which probably leads to feeling depressed about misssing deadlines, which makes it harder to have the drive to work, which leads to more missed deadlines. its a vicious cycle.
I mean yeah sure that's probably the case but inno puts herself in that situation. She needs to either hand off the project to someone else who can handle it or hire people to help her with this.
 
  • Like
Reactions: 72 man

Gtfvicecity2

New Member
Sep 20, 2018
5
12
I mean yeah sure that's probably the case but inno puts herself in that situation. She needs to either hand off the project to someone else who can handle it or hire people to help her with this.
or just stop setting deadlines at all and just release shit when its ready. id personally rather a dev have a healthy mind and not have a set schedule for content releases than have a dev whos struggling with depression and other shit which makes the game suffer. also you cant count out the fact that there may have also been irl problems as well, which also take precedence over this.
 

Yeppers34

Member
Aug 11, 2021
279
1,123
or just stop setting deadlines at all and just release shit when its ready. id personally rather a dev have a healthy mind and not have a set schedule for content releases than have a dev whos struggling with depression and other shit which makes the game suffer. also you cant count out the fact that there may have also been irl problems as well, which also take precedence over this.
Well yeah I would also agree on that if this didn't happen habitually. It seems like inno is having irl issues on the near daily. Which yes she should stop setting deadlines and either one just put the game on hiatus until shit settles down, two hire people that could help her reach these deadlines they are setting or three just hand the game off to someone else. When you don't provide consistent updates and keep moving deadlines you just piss off the people who are giving you money
 

Qahlz

Member
Jul 25, 2023
157
116
Dumb question. Do you have to use a cheat or go to Loki to have her corrupted? The guide says she can be corrupted, however if those are the only two ways it seems like it is not her idea which mute the whole corruption business in my eyes. I keep playing and I see her disappear at the Tavern but nothing changes. Just wondering.
Uh, who's Loki? I thought I finished all available content, but no Loki shows up in the contact list and I can't remember anyone with that name. And your post is the instance of that name in this thread.
Also, which guide? A page or so back someone asked for a guide, and I don't see one linked in the OP.
 

quanticnoob

Newbie
Jul 25, 2018
20
39
I imagine Inno suffers from studnet syndrome. She only works hard when the deadline is looming, but when she passes it her efforts absolutely crash as missing the deadline she set for herself demotivates her.
I think she's said before that without a deadline she just procrastinates eternally.

So she's stuck between a rock and a hard place mentally, which results in getting tonnes of patreon bucks for doing essentially nothing, but wallowing in self pity.

I imagine this is made all the worse with the game's java based spaghetti code making even simple features take ten times as much effort to implement.
 

Draupnir7

Active Member
Sep 3, 2020
609
867
I imagine this is made all the worse with the game's java based spaghetti code making even simple features take ten times as much effort to implement.
That is what my point was earlier. I imagine it would be easier to be willing to work in the knowledge that whatever problem you currently have with the game engine is a MODERN problem, and you do not have to wait for some millenia-old eldritch wizard to wake up before it can be answered.
Not sure how an engine change is actually gonna be well received...
The endless delays are received well enough (outside of this thread). If it fixes some of the game's many under-the-hood issues, I would say go for it.
 

Noah Neim

Well-Known Member
Nov 25, 2020
1,090
2,156
The endless delays are received well enough (outside of this thread). If it fixes some of the game's many under-the-hood issues, I would say go for it.
From her fans maybe, this thread is alot tamer compared to the other delay and shit update monsters but the former case is mostly cause her discord server became such good friends they dont give a shit about the game anymore, how lucky of inno honestly. However there's more discontent people here
 

Sarkath

Active Member
Sep 8, 2019
529
887
I imagine it would be easier to be willing to work in the knowledge that whatever problem you currently have with the game engine is a MODERN problem, and you do not have to wait for some millenia-old eldritch wizard to wake up before it can be answered.
I don't consider Java to be the most modern language and framework, but I can very comfortably say that the problems with LT have absolutely nothing to do with Java.

Unless Inno has learned how to properly structure a project (or if someone with more experience handles the next port) it's just going to end up having the exact same problems, albeit with a shiny coat of paint. Dedicated game engine or not, you still have to have the fundamentals down first. Garbage in, garbage out.

From what I recall, people mentioned in this thread that Inno's response to the issues was to blame Java. To me that doesn't sound like someone who's improved their craft, but rather someone who blames their hammer for giving them a sore thumb.
 

Draupnir7

Active Member
Sep 3, 2020
609
867
I don't consider Java to be the most modern language and framework, but I can very comfortably say that the problems with LT have absolutely nothing to do with Java.
That is disappointing. That is about the only leeway I can give her.
Then again, even accepting that updating the engine would be a pain in the ass, it is still a decision she made to continue with an outdated version, so...
 
  • Like
Reactions: Sarkath

Sarkath

Active Member
Sep 8, 2019
529
887
Then again, even accepting that updating the engine would be a pain in the ass, it is still a decision she made to continue with an outdated version, so...
It's honestly less about using modern Java features than about how LT's engine is designed. It's been a while since I've taken a deep dive into the code so it's possible that some of these issues may have been corrected, but many of the performance issues step from a complete lack of understanding of how the tools work.

Memory thrashing was/is one serious issue the game had/has. There are several ways of dealing with large lists. A somewhat naïve but effective approach would be to grab the whole collection and cache it. A better approach would be to load bits of the collection on demand. The LT approach was to retrieve the entire collection every time it's needed. If it's used in a tight loop this can cause enormous performance issues. I remember seeing this pattern in a few places:

1. Grab a collection of objects to update (let's call it updateObjects).
2. Get the next item from updateObjects.
3. Grab a large list of supporting data and put it into a new collection.
4. Perform the update on the object.
5. If there are still objects to update, jump to 2. Otherwise, end.

The problem is step #3. It was causing the Java VM to allocate memory for the large collection, populate it, use whatever data is there, and then during the next iteration it would allocation another new collection, populate it, etc etc. Assuming the collection in step 3 is 200MB, if there are 100 objects to update in updateObjects, that's 20GB of allocations. That essentially forces Java to garbage collect (that is, clean up abandoned objects and collections) multiple times in a tight loop, which causes the game to grind to a screeching halt while Java desperately tries to clean up the mess.

To be clear, if this were done in non-GC language like C/C++ the game would crash at this point. Runtimes like Java or .NET will do everything in their power to keep applications available at the expense of performance, which is why laymen tend to refer to them as "slow." The JRE and CLR are actually bloody fast for what they are, but they can only do so much in these sort of conditions. Like I said before: garbage in, garbage out.

This isn't just a hypothetical situation, either. At one point I measured 48GB of memory allocations between turns (with one "turn" being moving a single tile on the map, or finishing a combat or sex action).

I've tried to correct some instances of these, but I recall running into a ton of breakage because there were a lot of unexpected dependencies elsewhere in the code. It felt like every correction I made would lead to hours of hunting down a bunch of random issues, and it really just wasn't worth it for someone else's project, especially given the shaky licensing terms it's released under. Refactoring isn't always easy or straightforward, but it really shouldn't be that bad.
 

Draupnir7

Active Member
Sep 3, 2020
609
867
At one point I measured 48GB of memory allocations between turns
The several hundred gigs of error logs is one thing, but this? No. Flat-out no. That might maybe be justifiable if more NPCs moved more places more often, but Jesus fucking Christ.
That is what I get for trying to be positive. I have seen the light.

Maybe I should use LT to cook my rig and bill the new one to her.
 
  • Haha
Reactions: Sarkath

Sarkath

Active Member
Sep 8, 2019
529
887
The several hundred gigs of error logs is one thing, but this? No. Flat-out no. That might maybe be justifiable if more NPCs moved more places more often, but Jesus fucking Christ.
Sorry to break your spirit. XD

If it helps at all, that scenario would only really pop up if there were a lot of NPCs in the world. Then again, that's kind of inevitable even if you don't breed like a rabbit, especially with the plan being to add areas outside of Dominion/Submission, all of which would end up creating their own persistent NPCs. Yeah, not pretty.
 

4access

Newbie
Dec 20, 2019
40
79
To be clear, if this were done in non-GC language like C/C++ the game would crash...
But on the developer's potato PC, before it ships.

Or alternatively someone writing C/C++ would know better algorithms than someone (mis)using "collections" in Java.
 

Sarkath

Active Member
Sep 8, 2019
529
887
But on the developer's potato PC, before it ships.
I had a bit of a brain fart in my initial post. Every "Learn C++ in X Days" course worth its salt hammers in the fact that new and delete are inseparable pairs, so "step 3" wouldn't crash—it would have the same rapid allocation/deallocation behavior as what I described, only the deallocation would happen manually instead of the GC stepping in. Result: the same thing that we're seeing here.

I also failed to consider that using smart pointers in modern C++ would allow someone to write their code the same way as they would in a managed language and the compiler would just toss that pesky delete in there for them, so they wouldn't really have to think about what they're doing in that situation, either.

Or alternatively someone writing C/C++ would know better algorithms than someone (mis)using "collections" in Java.
Implying that there aren't hordes of developers who hack away at C++ without understanding what's going on under the hood (original VVVVVV C++ source code, anyone? That version actually ran worse than the Flash version on the laptop I had at the time). Not to mention that at their core STL containers are functionally equivalent to .NET/JRE collections. A C++ newbie doesn't have to know a thing about binary search trees to use std::map, the same as someone who might use Java's TreeMap or .NET's SortedDictionary.

I can understand your point with C, but that's mostly because it forces developers to implement their own data structures. It also features a ton of ways for even experienced developers to slip up and shoot themselves in the foot in a way that won't necessarily crash the program straight away. The C standard library really hasn't aged well, and just looking through the insanity of its string manipulation functions is more than enough proof of that.

(I still love C, though.)
 
Oct 1, 2023
68
87
Every "Learn C++ in X Days" course worth its salt hammers in the fact that new and delete are inseparable pairs, so "step 3" wouldn't crash—it would have the same rapid allocation/deallocation behavior as what I described, only the deallocation would happen manually instead of the GC stepping in. Result: the same thing that we're seeing here.
I wouldn't be very surprised if in such a scenario Java would be faster than the equivalent C++ code. Using a GC language sometimes has unexpected performance benefits - C++ would drop each object as soon as it goes out of scope, whereas Java would keep them around until a GC pause and then collect in bulk, which can be more performant overall. This is especially true if, say, the whole hot loop can be done without a GC pause and the garbage collection can happen afterwards when the CPU isn't busy (though if there's more memory churn than there's available RAM, I think that can't be the case). In general, it's always possible to write code in a compiled language such that it'd be faster than Java, but it's not guaranteed at all that translating naively written code from Java to e.g. C++ would be a performance improvement rather than a malus.
 
  • Like
Reactions: Sarkath

Qahlz

Member
Jul 25, 2023
157
116
Looking through the maps, I notice there's a doll factory map and I don't know how to get there. Can we do that?
Not sure if that's exactly what you mean, but it's likely the sex toy shop in Lilith's quarter of Dominion. You can get a tour of the factory by speaking with shop owner.
 

anubis1970

Engaged Member
Mar 1, 2018
2,133
2,407
Looking through the maps, I notice there's a doll factory map and I don't know how to get there. Can we do that?
Not sure if that's exactly what you mean, but it's likely the sex toy shop in Lilith's quarter of Dominion. You can get a tour of the factory by speaking with shop owner.
My understanding is that the factory in the shop is just for show and the next update is supposed to include a side quest that allows you to sneak into the true factory.
 

TheSeaofCube

Member
Jul 11, 2018
129
51
Not sure if that's exactly what you mean, but it's likely the sex toy shop in Lilith's quarter of Dominion. You can get a tour of the factory by speaking with shop owner.
No, I know how to get there. I meant this one. Apparently, in the lore it's underground below the sex toy shop you mentioned, and the tour doesn't let me go there.
Screenshot 2024-10-11 142055.png
 
4.10 star(s) 122 Votes