Hermenegild

Member
Sep 18, 2017
412
229
How? As far as I can tell most things are in name.xxx format but whenever I try with a random it gives a name or attribute error.
Instead of calling them by name (which is only available for special girls), interact with them and enter the console during the interaction. The girl will be in the variable called "the_person".
 
  • Like
  • Love
Reactions: dalzomo and Wraft

hyfka

Active Member
Mar 8, 2021
548
815
Too bad after a certain amount of gamplay you can meet every single person in the city. No new ones seem to spawn.
There aren't many games that have you build relationships with infinite NPCs.
"infinite" NPCs would have to be coded differently to avoid performance issues.
If you move and modify every NPC on each time step it's simply a lot of processing, see for example HHS+ or Strive for Power: Conquest

A workaround would be semi-randomly populating the cell the player is in and then only updating those NPCs, but that would need a complete rewrite of the code.
 

Diconica

Well-Known Member
Apr 25, 2020
1,100
1,149
There aren't many games that have you build relationships with infinite NPCs.
"infinite" NPCs would have to be coded differently to avoid performance issues.
If you move and modify every NPC on each time step it's simply a lot of processing, see for example HHS+ or Strive for Power: Conquest

A workaround would be semi-randomly populating the cell the player is in and then only updating those NPCs, but that would need a complete rewrite of the code.
Infinite isn't even a possibility thousands even a million can be done rather easily.
It depends though on the language you are using and what libraries you choose to use.

If you use renpy with the basic cpython 3.* your limitation is set by pygame for the most part.
Pygame:
If you have a 3ghz cpu you can update about 3000 items every 1/60th of a second if the update is done correctly and not to excessive. In short you won't be able to do it if you are using large nested if else methods.
Renpy:
It has a Rollback system that causes even greater limitation.

SDL isn't the issue. Using C/C++ on the same system you can update around 40,000 in the same 1/60th of a second.

If you use a well designed ECS(Entity Component System) system with C/C++ you can get a fairly decent boost in performance because of reducing upper cache and memory calls. You can move that into the hundreds of thousands even millions. If you don't have to render each and everyone of them you can save a good bit of performance as well.

Of course you could create update groups for real time systems. Objects/ AI's that are visible or with in eye sight are update instantly, the rest can be updated every other or even 3rd call. All the main calculations are time based anyways. Those that aren't it won't matter.

Back to renpy:
The biggest problem you have with large numbers of characters when it comes to renpy is he rollback system. Every time it updates and stores those variables takes time and the more you add the more it takes.
If you want to use a large number of characters getting rid of the rollback system is a good place to start. Fully disable it.
It might also be more preferable to use a database like SQLite to store all the characters in. You could then update them as needed through out game play and not have to do all of them at a single time.

Given games using renpy are generally not in Real time you don't have to finish in 1/60th of a second 200ms is fast enough in most cases to feel responsive. That means if you write your update system properly and don't uses stupid nested if else methods you could handle about 3000 x 12 Characters = 36,000.

Those numbers don't take into any account of other stuff Renpy may be doing that uses performance up.
It assumes the two primary and most costly factors are the use of pygame and the rollback system.
If they remake menus each time rather than work from a saved copy of the menu then that would also be something that causes significant performance hits. That's just one example.
Profiling it would probably give you better ideas on what else is a performance sink and bottleneck
 

markconnor

Newbie
Aug 31, 2020
90
586
Too bad after a certain amount of gamplay you can meet every single person in the city. No new ones seem to spawn.
I believe you can guaranteed spawn a new one through a random event downtown, and do so an unlimited number of times.

If I'm not mistaken, the event where you see a lady drop a wallet will always spawn a newly generated girl. If you keep the money, the new girl is deleted after the event. If however you catch up to her to return the wallet and money to her, then you've got a new girl that stays in the game and hang around the city in one of the areas.
 

XulOnTuesday

Member
Aug 7, 2022
172
207
Huh. Storing the character data in SQLite seems ... surmountable. Hell, you could even finagle a pretty fast rollback system, depending on how Ren'Py implements it. But would that be worth it? If you have too many NPCs, you get procedural soup. You stop seeing differences and start seeing similarities. Lab Rat's thirty or so is pretty much there already.

The real solution is not more NPCs, but fewer. There is no way for NPCs to permanently leave the game, and there should be. Be it death, emigration, or human trafficking, there needs to be a way to GTFO and make way for new arrivals.
 
  • Like
Reactions: 4GunZ

ramvivat

Engaged Member
Jun 28, 2022
2,569
1,499
Too bad after a certain amount of gamplay you can meet every single person in the city. No new ones seem to spawn.
you can generate new NPC in the bar.
you need "Order a drink for... >>"
and you get one ??? character in the list with named NPC.

=)
 

Diconica

Well-Known Member
Apr 25, 2020
1,100
1,149
Huh. Storing the character data in SQLite seems ... surmountable. Hell, you could even finagle a pretty fast rollback system, depending on how Ren'Py implements it. But would that be worth it? If you have too many NPCs, you get procedural soup. You stop seeing differences and start seeing similarities. Lab Rat's thirty or so is pretty much there already.

The real solution is not more NPCs, but fewer. There is no way for NPCs to permanently leave the game, and there should be. Be it death, emigration, or human trafficking, there needs to be a way to GTFO and make way for new arrivals.
Lab rats biggest issue when it comes to similarity is the face and hair styles.
Those two area's are were we as humans generally look at people and make associations.
You don't have different noses, mouths,eyes or ears and you only have a few hair styles.
You don't have changes in head shape, hair line, cheek bones...

You also don't have a lot of range in body types. In real life we have people with different length legs, torsos, wastes, butt shapes and sizes, and a lot more...

Then of course you have visual aging markers, and other characteristics that make them look different, tats, scars, ...

If the characters are 3D you can make all those chances a lot easier. If they are rendered images as they are it would take a lot of images to store all that information. The most simplistic method would use gigabytes of storage. Making better use of file space can reduce it some.
There are other options such as converting the rendered image to an SVG format. Then you can also store the offset changes for the different body parts and types. You can achieve photo realism with an SVG.

You could also store a modified version of the character model and clothing. Instead of rendering the objects normally create projection images of each character off the model. It would be using an old game programming style of rendering the image from back in the DOS days. You could however get lighting and so on. Texturing is fairly simple for it. You could generate textures at the start of the game the first time it is played. After that they would be stored. If a new character is generated it could create the few initial images needed then add to create others in the background. Unfortunately cpython has the GIL so running it on a separate thread isn't possible. But can be run when other loads aren't so heavy. If you wonder if there is enough performance to do it we were doing it on 33Mhz systems and now we are over 3Ghz. Even doing it with python vs C/C++ then you should still be running several times faster than we were then.

You can look the method up in books like the blackart of 3D game programming. Given it isn't needing to be rendered in real time you have more time to do stuff like add lighting and shadows in which is easy since it is projection.

Being that it would now have a 3D model you could change any of the features.
 
  • Like
Reactions: Edwarf

Strec

Active Member
Feb 20, 2018
576
367
Lab rats biggest issue when it comes to similarity is the face and hair styles.
Those two area's are were we as humans generally look at people and make associations.
Exactly.

When Vren announced at start " The game will feature procedurally generated girls " everybody was full of dreams. When the result seen is there are very few models everybody was very disappointed .

And it was 4 years ago and for 4 years Vren said "I'll correct this in next versions" and for 4 years nothing happened, and now we understand why...
 
Last edited:

Diconica

Well-Known Member
Apr 25, 2020
1,100
1,149
Exactly.

When Vren announced at start " The game will feature procedurally generated girls " everybody was full of dreams. When the result seen is there are very few models everybody was very disappointed .

And it was 4 years ago and for 4 years Vren said "I'll correct this in next versions" and for 4 years nothing happened, and now we understand why...
Vren's skills when he started the project is the biggest issue and still is.
He doesn't still possess the knowledge to see the greater picture of how something will play out effecting the project.
When he started he probably didn't realize like most people how much more work 2D is to create characters vs using 3D.
He probably didn't realize how much more space it would take up and other aspects. He sure as heck couldn't list off all the alternatives to do what he was doing. If he had he probably wouldn't have chose this method.
If you look at his choice to use "Live 2D" it shows he is still lacking in that area.
He isn't a professional developer nor does he have decades of experience in the field of software development or other stuff.

What I am seeing is exactly what I'd expect to see of someone at his skill level without a strong source to get information from.
There are plenty of good game dev communities but my guess he isn't on any of those forums.
Even if he was he would need to figure out who to listen to.

Having seen the changes in his code over the last while I can say he is definitely learning and improving. Maybe, not at the rate we all hope.

There are a lot of things he has done with the code which is a huge improvement but also lots of stuff that well is also a few steps backwards. That's another discussion though.
 

ffive

Forum Fanatic
Jun 19, 2022
5,251
11,392
Lab rats biggest issue when it comes to similarity is the face and hair styles.
Those two area's are were we as humans generally look at people and make associations.
I wouldn't say this is really an issue, not when you have tons of games with anime visuals being evident counterpoint in this regard -- with their one-face-fits-all approach and relying mostly on hair/eye color and (limited) number of hair styles to set characters apart.

Heck, quite a few VNs with rendered 3d characters reuse the same faces on different characters to save money, with little to no complaints.
 

Diconica

Well-Known Member
Apr 25, 2020
1,100
1,149
I wouldn't say this is really an issue, not when you have tons of games with anime visuals being evident counterpoint in this regard -- with their one-face-fits-all approach and relying mostly on hair/eye color and (limited) number of hair styles to set characters apart.

Heck, quite a few VNs with rendered 3d characters reuse the same face on different characters to save money, with little to no complaints.
Haha, you would think right.
If you looked at "quintessential quintuples" you would think it perfectly supports your premise.
It does in a way but not for the reasons you probably think.
The less realistic a face is the less the brain treats it as a face and so resorts to basically object mode identification.
In short it can't find the visual cues it normally looks for to identify who or who or what is what so then switches modes.

I'll give you a better way to visualize it. Take those girls heads and imagine putting the "cat's eye" or "City Hunter" girls faces on them.
The different level of detail would make them look out of place.
If you look at "Cat's eye" females they have a lot more detail outside the face as well. Hair as more ends curls, same with clothing and so on. But you don't look at the clothing to generally ID them.
If you look at the black and white images even when the girls were a similar out fit you can tell who is who why because facial features.

Less realistic anime you move to looking at shape, color, accessories and so on.

So it depends on what you are looking at as to if what you said is true. I said when we look at people.
Would you say Vren's renders more resemble realism or anime?
 

ffive

Forum Fanatic
Jun 19, 2022
5,251
11,392
So it depends on what you are looking at as to if what you said is true. I said when we look at people.
Would you say Vren's renders more resemble realism or anime?
They're 3d renders of reasonably detailed models, but this is why i also mentioned that even games which use such renders for their characters (and i mean Vicky4 sort of models here) evidently get away with using what's effectively clones with different wigs in their renders.

Put it differently, people who play porn games aren't overly concerned whether a character's nose is slightly bigger than that of another character, or if their jawlines are noticeably different. So i really think that trying to pursue some extra fidelity/variety in this area would be ultimately a waste of resources. Much like this whole Live2D thing for this matter.
 
  • Like
Reactions: Diconica

Diconica

Well-Known Member
Apr 25, 2020
1,100
1,149
They're 3d renders of reasonably detailed models, but this is why i also mentioned that even games which use such renders for their characters (and i mean Vicky4 sort of models here) evidently get away with using what's effectively clones with different wigs in their renders.

Put it differently, people who play porn games aren't overly concerned whether a character's nose is slightly bigger than that of another character, or if their jawlines are noticeably different. So i really think that trying to pursue some extra fidelity/variety in this area would be ultimately a waste of resources. Much like this whole Live2D thing for this matter.
The key words you used "Get away with".
It's not that people don't notice it they tolerate it.
Each person's interaction and reaction to a game is different. We all have different needs.
Some people like myself need the story line to make sense. Some can care less about story and just mash the button to skip dialog and fap. People have different needs. Face matter to some people not to others.
 
  • Like
Reactions: bloodbus

Ranker

Member
Jul 20, 2017
152
80
For the people paying patreon, what updates you all been getting? any new images or is it still the same?
 

Hermenegild

Member
Sep 18, 2017
412
229
For the people paying patreon, what updates you all been getting? any new images or is it still the same?
Even if you are a non-paying patron, you can see the fact that a creator posted something, you can even see the post's title, you just won't see the content of the post. So, no, the last post from Vren on Patreon was on October 30th, and it was titled "Next pose poll!".

swagfiend said Vren was more active on reddit. I don't have time to follow him there, however, so I don't know what his current situation is.
 
  • Like
Reactions: Ranker

Porrvald

Member
Sep 12, 2020
471
487
swagfiend said Vren was more active on reddit. I don't have time to follow him there, however, so I don't know what his current situation is.
I think you misunderstood regarding reddit. Not sure exactly what reddit-speak is but it was probably intended as an insult.

Unless Vren has multiple reddit accounts, he has been silent there for 8 months.
 
3.40 star(s) 127 Votes