Author Topic: General Discussion  (Read 3821809 times)

0 Members and 25 Guests are viewing this topic.

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9030 on: November 29, 2016, 05:40:57 AM »
Whoa.. just noticed a drop in quality using avi(jpg) versus normal transparent png to make webm
As your using webm it would be best to make a animation you might need using pngs them making a webm out of it like i did before


Im rendering the same 3 poses as before with the higher grade school uniform i just made..

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9031 on: November 29, 2016, 06:11:44 AM »
Care to suggest some improvements?  8)

I would love to go over your entire code thoroughly to see what everything does, there is barely time to write my own and even when there is, I am too tired to :(

Besides the design which I called "unnecessary complicated" as I do not understand why it was required, obvious flaw is:

Code: [Select]
        def setSelection_for_chars_list(sel, lst, value="from_lst"):
            for l in lst:
                sel[l.name] = l if value == "from_lst" else None

char_list_selection = { c.name: None for c in char_lists_filters.sorted }

Names are not guaranteed to be unique (it's even possible to rename character in the profile screen unless someone disabled the button), this does not look like it'll benefit from being a dict either. If you make it a set:

Code: [Select]
                    button: # select all on current listing, deselects them if all are selected
                        xysize (66, 40)
                        action Function(setSelection_for_chars_list, char_list_selection, chars_list[0] + chars_list[1], value=None if all(char_list_selection[x.name] for x in chars_list[0] + chars_list[1]) else "from_lst")
                        text "These"

would become something along the lines of:

Code: [Select]
                    $ chars_on_page = set(chars_list[0] + chars_list[1])
                    button: # select all on current listing, deselects them if all are selected
                        xysize (66, 40)
                        if char_list_selection.issuperset(chars_on_page)):
                            action SetVaraible("char_list_selection", char_list_selection.difference(chars_on_page))
                        else:
                            action SetVaraible("char_list_selection", char_list_selection.union(chars_on_page))
                        text "These"

it's clean, efficient, everyone knows what it does and it doesn't require writing extra function. (code is unchecked/untested, I just typed it out in the forum) But even if you don't likes sets, you can use Chars as keys in the dict, it'll be safe and reliable as well and you can just toggle the False/True as values.


I have no clue what problems you were trying to solve with 200 lines of "delegator" classes, the tasks as I see them:

1) Create a group (set) of characters in the listing screen.
2) Pass the group to other screens, like equipment/training and etc.
3) Fix the interface on those screens through isinstance(Char/set) checks whereever required.
4) Write a number of funcs or update existing once to get the group functionality working.

there are no issues with this that I can foresee but I obviously never actually tried adding this functionality.

Code: [Select]
                elif isinstance(var, (dict, renpy.python.RevertableDict)):
                elif isinstance(var, (Char, rChar))

Python will check parent classes as well so:

Code: [Select]
elif isinstance(var, dict):
elif isinstance(var, Char):

will work in the same way.


I'll have a LOT more time for development starting around mid December, I can take a look at the rest of the addons then (but only if something is broken, rewriting code without a good reason is unwise, not before Beta release anyway).


I don't think items transfer is working correctly, you are supposed to have the same characters in both viewports! The screen itself will make sure that you cannot pick two of the same character from both sides. It's a simple func if I recall correctly, you can take a look at how it's done in the buildings, just copy/paste the code and change the container (at least I hope that it's this simple*).
« Last Edit: November 29, 2016, 06:17:40 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9032 on: November 29, 2016, 06:33:45 AM »
Names are not guaranteed to be unique (it's even possible to rename character in the profile screen unless someone disabled the button)
I think in the old gui you had to click on character name to rename her. It doesn't matter now, because in the new gui screen char_rename is not used anywhere.

According to the code (action Show("char_rename", char=hero)) it should work for MC, but it doesn't.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9033 on: November 29, 2016, 06:37:36 AM »
I think in the old gui you had to click on character name to rename her. It doesn't matter now, because in the new gui screen char_rename is not used anywhere.

According to the code (action Show("char_rename", char=hero)) it should work for MC, but it doesn't.

Yeah, we need to come up with a proper renaming screen, especially now that renpy allows greater input convenience. I think we have like two or three different ways atm and none of them is using new toolz :(
Like what we're doing?

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9034 on: November 29, 2016, 06:51:19 AM »
Depending on her disposition and love for you it would be nice to be able to call her silly names and ask her to call you master or something alike ( but her profile tab would show her real name or something ) if you didn't ask for it.


Of course she may refuse and lose dispo/love..


(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..


May as well use dispo for that
« Last Edit: November 29, 2016, 06:54:13 AM by lamoli »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9035 on: November 29, 2016, 07:18:45 AM »
Depending on her disposition and love for you it would be nice to be able to call her silly names and ask her to call you master or something alike ( but her profile tab would show her real name or something ) if you didn't ask for it.


Of course she may refuse and lose dispo/love..


(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..


May as well use dispo for that

We have a fairly basic friend/lovers system setup, with plans to expand the logic in the future. There are also "nicknames" but no petnames (yet).
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9036 on: November 29, 2016, 07:32:55 AM »
this does not look like it'll benefit from being a dict either. If you make it a set:

This explains almost exactly the same issue: doesn't need to be a dict cause it's recreated for every new use and membership testing mimics booleans.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9037 on: November 29, 2016, 08:44:52 AM »
(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..
Slaves don't have a choice.

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9038 on: November 29, 2016, 09:07:28 AM »
Poorly trained slave ( not 1 from slave market ) might resist like a normal girl would.. but slave sold from market do not have a choice but to accept


Not sure if your gona implement a girl capture from quest or converting a normal girl ( random / unique ) to a slave girl.. and so on so planning ahead its not a bad idea to leave her the choice to refuse as long as we do not meet the right parameters
« Last Edit: November 29, 2016, 09:32:06 AM by lamoli »

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9039 on: November 29, 2016, 09:13:24 AM »
Hmm 3 layer of clothing is too much for me atm as each layer may bounce to disturb the others while switching poses and i have a hard time controlling them.. so i guess for now my limit will be 2 layer of clothing with clothing physics for animation.. without animation there is no problem no matter how much layers i have.. and the clothing drape alright on any pose..


Looks like im close to that 3 layered sample ( but errors remains ) and im not even sure you want those animations yet..
But they will work for sure in scene where there is no more than 2 layer of clothing like sex/training scene and as for profile.. well we could add animation but im not planning on making those as im making parts for paper dolls with fixed poses to visualy see what your making her wear( it was just simpler to show dress on profile poses thats all )
« Last Edit: November 29, 2016, 09:28:37 AM by lamoli »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9040 on: November 29, 2016, 09:32:22 AM »
Poorly trained slave ( not 1 from slave market ) might resist like a normal girl would.. but slave sold from marked do not have a choice but to accept yes

Resist or not, name gets changed anyway... we can resolve them starting a fight over it or disposition falling with interactions.

Not sure if your gona implement a girl capture from quest or converting a normal girl ( random / unique ) to a slave girl.. and so on

Converting, prolly not for beta. We will have capture for sure, it's half done already. We are planning a whole political module that will deal with rules set to the world, such as: is slavery allowed, where does the city money get invested to (what kind of clients you get/what workers are attracted to city/what businesses or practices are banned and etc.), what other states/empires pytfall is friendly with (depends on government system in place) and etc.

Converting and rules for converting will be added once that is in place. Maybe we'll do something simple for now but I doubt it.
Like what we're doing?

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9041 on: November 29, 2016, 09:47:17 AM »
This new clothing technique is a bit of a pain atm as its new to me but it will be perfect for lets say ( opening clothing like blouse/shirt.. pulling up/down bra shifting panty left/right making the girl strip and so on as space between vertex making the clothing keep a constant distance calculated by fabric property or elasticity factor that you add or not.. and of course draping all the clothing making it look real all the time with collision and wrinkles..


While i would spend days trying to move vetrex to something close to 1 of those results above.. it would take only a few minutes pulling it in the new program like you would do in RL to get the right result..


As for adapting clothing to char with different height and weight im getting better at understanding what need to be changed for the fit so its not really a problem anymore ( that said.. this process will limit who make the clothing unless a person who wants to make some learn how to use Marvelous Designer )
« Last Edit: November 29, 2016, 09:49:25 AM by lamoli »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9042 on: November 29, 2016, 09:51:58 AM »
im not even sure you want those animations yet..

What we all want is a dedicated random girl pack with normal images, just like in other packs (for starters ;) ).

Else-wise, for future, absolutely perfect dreamcase would be:

On different layers for each image:

- Body (skin) (maybe for recoloring)
- 3 Boobs sizes
- Clothing that adapts to that (maybe also for recoloring?)
- Hair separately (for recoloring in the engine)
- Eyes (iris) separately (for recoloring in the engine)

Anything that can be recolored, preferably rendered white (ish?).

But we don't need "absolutely perfect dreamcase" or "perfect dreamcase" or even "dreamcase" :-) Any one from the above as an extension to the normal pack would be great. Any animations you feel that are worth rendering to be added are great but those are likely to break consistence of any recoloring we (could possibly?) do or would require a lot of work/messing around.

It's not my call, I am just hoping that we'll get a couple of cool packs rendered for the game. I don't know which way this should be heading to, I am not even sure which way it can (technically) be heading to according to how your rendering routines are setup. For Beta release, just the normal packs would be great.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9043 on: November 29, 2016, 09:56:30 AM »
I think this girl was my fav: http://pixxxels.org/image/n8qo19dh5/

But other are awesome too :)
Like what we're doing?

Offline lamoli

  • Hero Member
  • *****
  • Posts: 553
Re: General Discussion
« Reply #9044 on: November 29, 2016, 10:11:01 AM »
Allright...


Like for the stripper dress up example i previously posted.. a scene with naked body as first layer where you add panty as second layer then dress as third..


For me it would be the same to extract what you want.. a scene with naked body as first layer then panty on second dress on third eyes on fourth and hair on fift..

what need to be tested is the coloring.. i can get everything needed as white with darker areas  for shadows but i need to test if the diffuse (natural color spill) of other nearby colors still work in the same way on the item.. else it woulnd look as good after coloration.. unless you can colorize above a withe with shadows/color spill base..

worst case.. you rerender the items with the color you want instead of coloring afterwards ( witch make 1 more file for the same item but with another color.. like a replace image item 20 by item 20 x to change result on composited layered result