devolution

Author Topic: General Discussion  (Read 3821434 times)

0 Members and 47 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2640 on: April 12, 2014, 06:06:08 AM »
Forget about "subjective messes", it's not really applicable since 90% of stuff in the game is debatable from perfectly logical viewpoints. You have an issue with calling a girl cute for example, I don't. We just need to set the concept and work with it.
They all are cute. Well, almost all. Thus, it hardly could be used in the game because if everyone are cute, then we might as well ignore this characteristic  :D

But if we'll have an item, like a dress, that gives cute trait when equipped because it is a cute dress, then it makes sense.

Stats are a very serious issue, especially from development perspective, they often repeat traits and consume insane amount of time to balance but have/will have purpose in future, like intelligence stat is currently being used only for guard even where an intelligent girl can find a way to resolve the situation peacefully. However in the future, we'll have stuff like Alchemy, maybe scrolls and it can find a very realistic uses there for example.

Charisma is already being used all over the place so getting rid of it will take time as it is... also it may be used for requests.
That's why I mentioned Valet approach. Just like with intelligence, where we have traits from retarded to genius, we could do the same with other stats, including charisma, from ugly (ok, we don't have ugly pics, maybe unattractive) to stunning. We even could use more "levels" for stats that could use them.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2641 on: April 12, 2014, 10:46:36 AM »
Here we go.

We probably should change all passwords, even google is affected  ::)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2642 on: April 12, 2014, 01:45:53 PM »
We probably should change all passwords, even google is affected  ::)

Would take days... is this confirmed by independent pros/tweakers or is this some bs again?

Never mind... looks like it's legit.
« Last Edit: April 12, 2014, 01:48:45 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2643 on: April 14, 2014, 05:21:46 AM »
Wow, we have a first independent pack maker :)
« Last Edit: April 14, 2014, 05:25:08 AM by DarkTl »

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2644 on: April 14, 2014, 06:20:29 AM »
Wow, we have a first independent pack maker
 I really hope that people understand that there will be changes that will probably require updates of girlpacks in the future.
« Last Edit: April 14, 2014, 06:50:22 AM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2645 on: April 14, 2014, 12:52:06 PM »
I am too tired tonight, but will look into creating a modding thread for independent packs in the future.

Edit: weird design, I am not entirely sure it's supported by the patches version, dev version should run it without any issues. The bottomline is that it's not tagged...
« Last Edit: April 14, 2014, 12:54:48 PM by Xela »
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2646 on: April 14, 2014, 04:18:20 PM »
I was checking tags in various places, and a place I have most issues with is the rest job. It uses some trait based selection of lines and pictures, which is not a bad idea, but in current implementation it results mostly in just showing profile pics (due to lacks such pics) to a point, where "rest" tag category (which is made for this) is only very scarcely used - and that just doesn't look very good.
There are some great texts (but some weird too) and situations, but I would like to achieve a bit better matching with pictures somehow.

Also some of rest pics have things that could never be trait dependable, like taking a walk in a park, sleeping... so adding some picture based texts can work there. (and, if girl have "reading" a book picture, why she have to be smart to display text that she is reading a book?)
Maybe we could use some sort of reverse technique, randomly selecting a "rest" picture first and then display text based on what other tags that selected picture have...

I would like to put some effort into this, but figuring out a good logic for this is probably a bit too much for me...

May I ask about your option there?

============

I studied jobs further:

Blowjob pics are not used at all, because deepthroat, footjobs and handjobs are taking priority over them (titfuck is not used at all). As normal blowjobs pics are the majority for most girls, this leads to displaying only very few pictures repeatedly.

Problem is, that for standard"blowjob"
pics.,there is no subtag to select them by it, so the game is taking then as leftovers, and never display them unless there is nothing else.

This is, more and less, repeated everywhere, for example "les" pics without secondary tags (imagine a pic with 2 girls close to each other but not doing anything yet example) are also not used.

So the question is, should we change the way we tag pictures (putting subtags everywhere? I do not mind, but I'm not the one with most girls) or could solution for this be coded in?


If not "read" tags, then maybe something alike .has_image but with option to select tags that must not be there (and excluding them later in show)?
« Last Edit: April 15, 2014, 03:48:58 AM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2647 on: April 15, 2014, 04:11:35 AM »
I was checking tags in various places, and a place I have most issues with is the rest job. It uses some trait based selection of lines and pictures, which is not a bad idea, but in current implementation it results mostly in just showing profile pics (due to lacks such pics) to a point, where "rest" tag category (which is made for this) is only very scarcely used - and that just doesn't look very good.
There are some great texts (but some weird too) and situations, but I would like to achieve a bit better matching with pictures somehow.

Also some of rest pics have things that could never be trait dependable, like taking a walk in a park, sleeping... so adding some picture based texts can work there. (and, if girl have "reading" a book picture, why she have to be smart to display text that she is reading a book?)
Maybe we could use some sort of reverse technique, randomly selecting a "rest" picture first and then display text based on what other tags that selected picture have...

I would like to put some effort into this, but figuring out a good logic for this is probably a bit too much for me...

May I ask about your option there?

Ghhm... I wouldn't say that I vividly remember that code, it's very old but maybe we could pick one of this solutions if you believe that there's a problem:

- Set self.img to rest picture at start of a job and perform checks before setting it to anything else but that (or maybe even running the traits checks).
- Perform tag checks at the same time as we check for matched trait
- Create a variable named tags and set it to the required tag instead of picking the image. Then:

default = self.girl.show("rest", resize=(bla, bla))
self.img = self.girl.show(tags, resize=(bla, bla), DEFAULT=default)

(basically a variation of first option)

There are other ways to go I expect...


I studied jobs further:

Blowjob pics are not used at all, because deepthroat, footjobs and handjobs are taking priority over them (titfuck is not used at all). As normal blowjobs pics are the majority for most girls, this leads to displaying only very few pictures repeatedly.

Problem is, that for standard"blowjob"
pics.,there is no subtag to select them by it, so the game is taking then as leftovers, and never display them unless there is nothing else.

This is, more and less, repeated everywhere, for example "les" pics without secondary tags (imagine a pic with 2 girls close to each other but not doing anything yet example) are also not used.

So the question is, should we change the way we tag pictures (putting subtags everywhere? I do not mind, but I'm not the one with most girls) or could solution for this be coded in?


If not "read" tags, then maybe something alike .has_image but with option to select tags that must not be there (and excluding them later in show)?

Really? I rushed that part... but I thought that was fixed! The simplest way of fixing that issue is to add the default action to the list. The way it works is as this:

- Game checks availability of images for a number of actions.
- If a picture for an action is available, that action is added to the list.
- Game randomly picks an action from the list and adds texts/picture based on that action.

So if a default action like just "les" is added to the list (maybe even two or three times), it will make improve the situation. It's obviously not a perfect solution but it will do for now. This might get better after we create a better version of how images are tagged...

========
Otherwise, the biggest problem with this is obviously that we check images inside of the jobs method :) It was simpler to code but it should be moved elsewhere and done once, at the game start. There is a very early version of that in Girls class.
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2648 on: April 15, 2014, 09:23:22 AM »
I may be able to do something like that... but the code may get really messy as a result.
So as you say, I suppose that running all these checks once at game start will be much better...

Maybe it will be best if I do something else for now----
« Last Edit: April 15, 2014, 09:37:58 AM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2649 on: April 15, 2014, 09:54:20 AM »
I'll do the run once thing myself :) Going to try to get back into 2 hours per day development soon cause clearing days as I've planned doesn't work out.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2650 on: April 15, 2014, 10:31:18 AM »
I'm still busy with g.e.hentai. Found tons of great backgrounds and some good npcs and mobs sprites, not to mention enough material for 8 high quality random packs. And I'm still at 96 page (approximately one-third) despite doing it for three weeks every working day, like 6-7 hours per day  :D

Maybe it will be best if I do something else for now----
We could use descriptions for effects. And race traits, as general as possible, like elven blood (any elf) or celestial origin (angels, goddesses, etc).

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2651 on: April 15, 2014, 03:11:03 PM »
@Xela: I'm sorry to ask again, but you never gave me answer that I could easily understand.


Girl"A" have two images, tagged as:
1. "Orange" 
2. "Orange", "Juice"


Girl"B" have only one image:
1. "Orange", "Juice"


I can be sure, with has_image function, that both girls have a "Orange"+"Juice" image.
So I can safely display that picture with text "This girl is drinking orange juice!"


I can display 1st. "Orange" image for Girl"A" using show "Orange" with exclude=["Juice"]
That should go with text "This girl is eating oranges!"
But when use it on Girl"B", I get text  "This girl is eating oranges!" with a picture with an orange juice. Not good.


Is there a way to know that Girl"B" have no image tagged just "Orange"? So I can know I should not try to look for it? And vise-versa, can I know there is one for "Girl"A"?


This is a little counter-intuitive, as a right text for "Orange" tag would be "This girl is enjoying the taste of oranges" or something else applicable for both cases, following our "Main tag" logic as we planned it. But sadly, the tags as we used them are not always like that.

 (sry for this lame example)
« Last Edit: April 15, 2014, 03:41:02 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2652 on: April 15, 2014, 04:23:36 PM »
There are ways but some things are just awkward I suppose, not mensioning resources hungry...

If you want to know if a girl has an image that is tagged JUST "orange", you'll have to make a list of all tags, then do something like:

Code: [Select]
exclude_tags = all_tags * 1 # (*1 basically copies the list instead of just assigning a label to the variable that point to the same list, it's a bit safer, you can also use copy.copy(all_tags), it's longer but better python).
exclude_tags.remove("orange")
if chr.has_image("orange", exclude=exclude_tags):
    # do something...

But it's slow (if done a few hundreds/thousands times) and awkward as I've already said... there is a lot that can be done about it like implementing memorandums or building the tags database differently or some combination of both but I don't know if it's all worth the effort.


=========
Edit:

If this is still in reference to the whore job thing, it's prolly simpler just to to add the default choice to the random choice list couple of times, it'll be an acceptable solution (I thought it worked like that already but I prolly forgot something somewhere).

Basically this does something like that:
Code: [Select]
                acts = list()
                # We'll be adding "les" here as Many lesbian pics do not fall in any of the categories and will never be called...
                acts.append("les")

BTW: If you're planning to put some serious time into jobs, I may have a task for you restructuring the way we handle texts, performance is not very good with lots of girls at the moment and there are many ways to improve upon it, one of those ways being this:

Right now we do either this:

self.txt = ""
self.txt += "First text"

or slightly faster:

self.txt = "".join([self.txt, "Second text"])

and so on. Both slow thing down somewhat and proper thing should look like:

self.txt = list()
self.txt.append("First text")
self.txt.append("Second text")

and in the end:

self.txt = "".join(self.txt)

It's not a big priority but it'll have to be done at some point and it looks a lot cleaner, not mentioning works faster (and Python on average builds strings 3x slower than Java/10x slower than C++ so making mistakes in that area is pricy...)
« Last Edit: April 15, 2014, 04:38:30 PM by Xela »
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2653 on: April 15, 2014, 05:16:14 PM »
Thanks a lot, this I can understand much better.


So it is possible, but not good for anything that is repeated a lot.

Doing it once in girl class could probably solve it then, but it's still awkward...




Then I suppose, having a "leftover" tag for every main tag category will be a best solution:


secondary "blowjob" for blowjob (need a better name)
"undefined position" for sex
"solo" for groups/bondage
"other activity" for rest
...


so we can do easy sorting and fast calls


============
Don't believe default choice can be a proper solution. It can improve it a bit right now, but it will suffer from bad texts like in that "orange" example, wouldn't it?

=============
missed your edit: Ok, I can look into that text think...


btw. It's not that I'm that much into this kind of work, but putting time into making a girlpack with all these time consuming tagging and then see that it it's not displayed properly is a bit irritating  :)
« Last Edit: April 15, 2014, 05:40:03 PM by CherryWood »

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #2654 on: April 16, 2014, 01:47:07 PM »
and in the end:

self.txt = "".join(self.txt)

How can I recognize where to create this "end"?