jujuteux

Newbie
Oct 22, 2017
27
29
*cracks knuckles* I haven't done one of these kind of posts in a while.
[...]
thanks for taking your time writing something pretty nice

"So here's the deal. LT calls a fully-featured JavaScript engine to handle simple expression parsing. You can get some pretty significant gains from using a dedicated, lightweight expression parser. Let's be clear: I would be completely on-board with them using JS as a scripting language to decouple some of the game logic from the Java core, but that's not what's happening here. "

i don't really get what you mean by that
the data IS parsed, all of it takes about 100ms tops, but the biggest slowdown is the webui loading the raw html text, the average screen is about 500k characters and it takes over 500-1000ms to display it
 
  • Like
Reactions: Sarkath

tehlemon

Well-Known Member
Jan 26, 2021
1,224
1,564
This makes more sense why you guys all act like this. He comes here and reads this stuff, gets upset, and then you get a thrill out of it
Thrill is probably the wrong word. More of a laugh.

I don't know about you, but I hate read reddit on the regular.... Still manage to get my work done.

I mean, I kinda wish more people then just AceXP made actual content modes. And maybe moding in legit quests will be added.

As it is scripting isn't really a thing, you cant have more then an NPC trigger and have some dialog.
Don't distract AceXP, they're busy making the majority of the improvements to this game. I imagine all progress would have stopped by now without them.

alright then
First: if you doubt their work quantity, check their activity on github, not in pulls but in sheer amount of code, and at least double it for anything not XML
the amount of shit done is huge and everytime a mechanic is added it often becomes part of the shit to take into account when making anything new

second: what you described isn't what inno is doing and isn't what i'm doing or telling people to make.
I'm talking about PR'ing it to the github to have it as more than a mod.
i'm not talking about mere XML files, and even for those now you can already start to make significant content and quest stuff with the xml support code.
You can definitively PR XML stuff but nowhere is it written you can't PR java code

third: the performance issue i can't really say much but i've use jProfiler and it's really some html webengine stuff doing 60%+ of the time and it's a java thing, not the code.
Ah yes, the Elon Musk approach to judging quality code. Don't forget to print all those lines off on paper so they can be reviewed. He's definitely demonstrated that it's the best possible way to manage a project and judge how good programmers are at their jobs.

I don't think I need to really explain why everything you said is incorrect, Sarkath did a better job than I would have with way less snark.
 

jujuteux

Newbie
Oct 22, 2017
27
29
Ah yes, the Elon Musk approach to judging quality code. Don't forget to print all those lines off on paper so they can be reviewed. He's definitely demonstrated that it's the best possible way to manage a project and judge how good programmers are at their jobs.

1) this isn't what happened with twitter's problems
2) the line count stands true for over 90% of the meaningful shit, you can give more importance to other classes but in itself that's how it works for any meaningful use in the average project

my work right now is nearing a few thousand lines and pretty much every single one is core to it, any dialogue is XML'd
 

lefteyehawk

New Member
Feb 5, 2018
9
4
i was bored, so i ask chatgpt about this game, it knows this game and the what is.... and chatgpt is at the same time so wrong, try it for a giggle
 

Sarkath

Active Member
Sep 8, 2019
535
912
i don't really get what you mean by that
the data IS parsed, all of it takes about 100ms tops, but the biggest slowdown is the webui loading the raw html text, the average screen is about 500k characters and it takes over 500-1000ms to display it
Things might have improved since the last time I looked at it (it's been well over a year since I've really done a deep dive on the source), but the way the JS engine was called before wasn't very efficient. If I remember correctly, it would set up and tear down the interpreter every time it ran an expression. That is, anything contained within square brackets in the XML, such as "[npc.Name] takes a closer look at [npc.herself]". Plus, "npc.Name" and "npc.herself" would both be evaluated by a heavy JS parser, which is quite heavy.

It's only really used for variable substitution and simple evaluations. Replacing it with a lighter-weight expression parser (Spring EL) sped things up a bit, especially in more complex scenes. I just ran out of free time and couldn't properly test it while the project steamrolled on, lol.

aight, i did some checkins and can tell you can't do shit to fix that unless you entirely change stuff for things like JxBrowser and other html renderers that can multithread, render with GPU acceleration and other stuff
I was honestly kind of surprised at how old and clunky JavaFX's WebKit build seems to be. JxBrowser seems like it would be a good replacement in this case, perhaps with JFX controls for other parts of the UI.

JxBrowser also has its own JS engine. I wonder if that could be used independently of the rendering engine, and if it would outperform Nashorn. Might be worth looking into.
 

BobCarter

Active Member
Jan 28, 2018
955
732
Don't distract AceXP, they're busy making the majority of the improvements to this game. I imagine all progress would have stopped by now without them.
Oh no, we might miss out on more sexual interactions and, what else? Minus a few NPC interactions it's hard to even think of what you mean by improvements to the game.

The small additional drips of content added (striped content) that are added are the only really notable improvements to the game I can think of, and you're saying those aren't what your talking about.

I haven't seen any QoL, Optimizations, or note worthy engine changes minus the bondage applier thing finally working.
 

jujuteux

Newbie
Oct 22, 2017
27
29
Things might have improved since the last time I looked at it (it's been well over a year since I've really done a deep dive on the source), but the way the JS engine was called before wasn't very efficient. If I remember correctly, it would set up and tear down the interpreter every time it ran an expression. That is, anything contained within square brackets in the XML, such as "[npc.Name] takes a closer look at [npc.herself]". Plus, "npc.Name" and "npc.herself" would both be evaluated by a heavy JS parser, which is quite heavy.
yeah inno made her own custom parser, all in all even if it ends slow (i don't think it does, it'd need a lot of parsable stuff) it's far from the biggest problem

I was honestly kind of surprised at how old and clunky JavaFX's WebKit build seems to be. JxBrowser seems like it would be a good replacement in this case, perhaps with JFX controls for other parts of the UI.

JxBrowser also has its own JS engine. I wonder if that could be used independently of the rendering engine, and if it would outperform Nashorn. Might be worth looking into.
iirc there could still be many ways to make the base webEngine faster like async renders for parts of the screen but it clearly ain't there (and would prolly ask for a ton of UI bs)
jxbrowser really seems like the one true way to fix it, in the worst case scenario it's 3x faster, and since it'll allow gpu acceleration and so much more i expect the wait time between anything to be much more affected. it's not like there's complex stuff, just a fuckton of stuff
 
  • Like
Reactions: Sarkath

Demosthenes

Newbie
Nov 28, 2017
50
86
Since I've derailed this thread too much at this point, this is my last post regarding Erosomnia on LT page. Everything else mentioning this game will be in my own (upcoming) thread, for the sake of keeping this one clean. As for a date, I can't make any promises except it's a matter of less than two weeks and a half at worst, but if you're interested in tracking development and getting access to some playable stuff, contact me. (contact info above)
Sorry to bother you in this thread, but it's been a month since you've last said anything regarding your game. Will you be creating a thread for it soon?
 

Skooky

Member
Nov 3, 2021
135
380
Its been 6 years, how are we still not able to actually fully fuck Rose yet? I legit check on this game every quarter to half a year and it feels like we are being cucked with the character, its been 6 damn years and still nothing x.x

Like for a game that focuses pretty heavily on kink play, we are really being limited with one of the first important characters we meet.
I think she's just not into the player character.
 

Draxeid

Newbie
Oct 14, 2018
85
45
I think she's just not into the player character.
First, I don't think that's really an issue for a game like this, and second, Rose quite literally does stuff with us on a couple of occassions, not something you'd normally do with a person you are not into.
 
Last edited:

shiromanoko

New Member
Apr 17, 2023
3
2
Game in developement yet, but it already have a lot of content. Spent my time to finish what`s out yet, got a little bit sad that there are no more quests, but game is good.
 
  • Like
Reactions: johnson.lv42

Sarkath

Active Member
Sep 8, 2019
535
912
yeah inno made her own custom parser, all in all even if it ends slow (i don't think it does, it'd need a lot of parsable stuff) it's far from the biggest problem
Yeah, I remember memory allocations being a pretty big issue, especially at the end of a turn. The game seems to allocate, populate, and dispose of a ton of lists fairly rapidly, to the point where available memory bandwidth makes a significant difference. The game would perform okay on systems with a dedicated GPU or systems but would flounder on standard DDR4 systems with an iGPU. That sort of thing would generally only happen when you did a lot of breeding, given that it's tied to NPC count, but it's something that could naturally happen as the game world itself expands.

Life ended up getting kind of busy for me around when I was trying to untangle that, so I wasn't able to get too deep into that issue. I might start to look into it again now that things are settling down…we'll see.

It's worth noting that someone (AceXP, I think) improved the offspring system to mitigate this issue. I think the workaround here was to only initialize offspring NPCs when the player actually encounters them into the world.

jxbrowser really seems like the one true way to fix it, in the worst case scenario it's 3x faster, and since it'll allow gpu acceleration and so much more i expect the wait time between anything to be much more affected.
Holy shit, that's a pretty solid improvement.

it's not like there's complex stuff, just a fuckton of stuff
Yeah, not to mention an eternity of testing. Implementing new features is always a lot more fun than refactoring/rewriting old code. Plus, it's kind of hard to justify to the end user why you need to spend X amount of time rewriting something that "works perfectly fine" (and knowing what I know about many computer users, the damn thing could be on fire and spewing out plumes of radioactive gas and they'd still say it "works fine," lol).
 

Daba

Member
Jan 22, 2018
284
239
Any way to change slave personality? I really hate lack of class that slovenly personality has and most bandits you capture have slovenly personality.
Thanks in advance.
 
4.10 star(s) 124 Votes