devolution

Author Topic: General Discussion  (Read 3821642 times)

0 Members and 28 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3075 on: August 04, 2014, 11:12:25 PM »
SF Updated:

- Fliped "fatigue" stat into vitality
- Rescaled some code
- Added Auto-Buy Method
- Improved equip_for method and added a function with the same name (takes jobs as argument)
- Fixed gold/exp not being applied for the items (don't remember if that was blocked intentionaly or not)
- Added auto-buy routine to the next day (rest related)
- Added auto-equip routine to the next day (rest related)
- Improved Inventory method (Yes, again :D)
- Added Auto-Buy/Auto-Choice controls to girls control screen (Depends on dispositon and status)
- Added Auto-Equip when setting a girl to a task

Picz:



- Highlighted idle Arena as possible city map buttons concept, right now idle buttons are simply invisible...
(Not sure if I prefer it that way, any opinions???)



Last Update:
- On advice of PyTom, I've removed all .gif files from the game/animations
- Maybe it's my imagination, but performance seem to have improved even in screens that never used those animations.
« Last Edit: August 05, 2014, 12:20:24 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3076 on: August 05, 2014, 04:35:33 AM »
Do we still have Sexy Air trait, some items try to apply it?
Damn, forgot to add it during the review. Will do it tonight.

About AB/AE systems, don't forget that we have Always Hungry trait and food type items, if you know what I mean. Either you'll hardcode it, or I'll add it everywhere as a good trait.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3077 on: August 05, 2014, 06:33:38 AM »
So, continuing our discussion about girlsmeets.
1) Job. Either job bar will be a new variable, or it will be calculated on spot doesn't matter much from the viewpoint of gui. IIt should depend on girl's current job, MC's fame and reputation, her own fame and reputation, friend/lover status.
Before making a proposition, also at least 50 disposition should be achived. Then depending on job bar value there will be a chance to hire a girl (like 500 job = 50%). Multiple propositions in case of failure will greatly reduce disposition and thus job bar itself.
Hired girls have job bar too, as I mentioned. When it becomes 0, they will quit on spot. You still can try to hire them again later, after it restores.

2) Friendship status. You gain it at 600 disposition, and it will be there until disposition drops below -100. It gives more freedom with girl's inventory, unlocking direct equipment instead of autoequpping only, also more dialogue options and more things in the future. There could be other statuses in the future, like best friends at 900 with more options.

3) Lover status. That might be a tricky one, because in AG/AA games you don't need high friendship to have high love. If we take AA2 system as a base:
- The moment when love points begin to increase depends on girl's traits and occupation. Strict morals dandere warrior needs very high disposition for a start, while pervert nymphomaniac prostitute don't care about it at all.
- Love and disposition are poorly connected. Love unlocks its own options, friendship unlocks its own. They can spend nights together, but lover with 0 disposition will not go with MC into some dangerous dungeon. Max love + max disposition is better than any other combination.
- You gain lover status after either MC or a girl propose to go out, and the other side will agree. The more love value, the better chances here. We could use others statuses, like sex friend from AA, if you feel like coding it.
- Lover status unlocks various intimate options with 100% of success. But as soon as love drops below some value (not sure about numbers here), you loose that status, as Cherry suggested.
- To rise love bar, you need to give good presents (not money!), spend time together (explorations), live in one house (I mean MC house with rooms for girls), try intimate options (with less than 100% chance). I'm sure we'll come up with more here.
- You cannot have every girl as a lover. In fact, unless we introduce misc items that rise love daily, it would be impossible.

Any thoughts so far?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3078 on: August 05, 2014, 07:38:53 AM »

Any thoughts so far?
Whoa, now it went from too simple to complicated in my option  :)   Ok, my 2c

1) I agree with using this "job bar" stat. But I'm personally imagining it as a simple one "persuade to work" button in girlmeets for a start, where most of this calculation you mentioned will take place to decide how much this stat will increase. Then we could do easy balancing like for example 10 job talks = common girl hired, unrelated to disposition much.
- because this variant is probably the only one that I'm able to work on myself, as it would be simply a label + text answers + modifiers to stats like current girlmeets.

Keeping this stat for hired girls sounds ok, it could be where current untraceable effect like unhappiness take place, reducing job bar instead of counting days behind the screens like now.


2)I can't comment the numbers as I didn't yet looked at the balancing (waiting until 1. is solved as it depends on it a lot) and I don't know how many interactions that represents.

3)Dunno. To be honest, I don't really think that the game at this point even need a complex lover status, as there is simply no content for that now or even concepts for future (same for friendship). All you mentioned sounds nice, but I would personally go with just high disposition proposal because of that...
So if you want to work on it, then it's up to you, I just know that I will not do more than adding some more girlmeets (or job offering if we agree on that) texts in current fashion, a bit balancing for that and maybe some simple dates in the near future. What to do with friends or lovers afterwards they become one is bit out of a scope of my current girlmeets thinking.

So my option in a short is adding a job bar, job talk, a friend and lover flags that won't really do anything now, revisit lines and balance numbers and call it a day.
Let's hear the other guys options now ;)
« Last Edit: August 05, 2014, 08:45:44 AM by CherryWood »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3079 on: August 05, 2014, 09:54:47 AM »
1) Persuade to work button is everything we add here. The difference is, you cannot spam it for 10 turns and expect good results. You should rise disposition, improve your establishment, increase MC fame meanwhile. And it probably will be even faster than 10 job talks for common, unemployed girls, because 50 disposition is all you need. Maybe less for beggars with 0 stats  :)
The bar just shows you how close are you to your goal. We discussed before that famous, strong characters should not be available in the very beginning. All that will be a part of job bar calculations, it's not too hard.

2) No strict numbers yet, just the idea. I figured we will advance faster discussing the concept step by step.
Considering that max disposition is 1000, 500-600 seems good for friendship.

3) I don't like the idea of bounding love to disposition if it means that high disposition will inevitably lead to lover status, while this is not true irl. I guess we don't need a new stat to prevent it though, but it's the simplest way.

Since we agreed to separate meeting and dating, we just separate our lines. It doesn't mean that we'll need a lot of new content. It just means no more sexual harassments for random girls on streets that never seen you before  :D All those "kiss N" options go there.
« Last Edit: August 05, 2014, 09:59:15 AM by DarkTl »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3080 on: August 05, 2014, 10:15:53 AM »
- Highlighted idle Arena as possible city map buttons concept, right now idle buttons are simply invisible...
(Not sure if I prefer it that way, any opinions ??? )


I like it. Not sure what else could be done. You mentioned animation, but I wonder how are you going to animate something here.

- Maybe it's my imagination, but performance seem to have improved even in screens that never used those animations.
But definitely better on screens that had those animations.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3081 on: August 05, 2014, 10:19:18 AM »
I know it doesn't really show in drawing styles of manga or anime, but some characters are stated to be more beautiful then others in the series.
It could be probably simulated just by starting stats in json, but these have very little impact on the gameplay now.
Yeap. It's still very subjective trait, but not nearly as subjective as was Cute. And unlike stats, it cannot disappear at all, just like girls pictures cannot be changed at all.

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3082 on: August 05, 2014, 10:32:42 AM »
@DarkTl
Ok,I understand. I don't really mind anything of this - even current girlmeets work somehow, so what can go wrong?  :)


You right with the spamming... that's the part I'm most worried about. If we move the intimacy options out of meeting, will there be enough things to do? Until now, on disposition based recruiting it was pretty much spamming options too, but it at least didn't look that obvious with so many options, even if most of them were much alike.
Only thing I feel is in somewhat ok shape for that is that asking about her traits...


If I let my imagination go wild, then I could see stuff like playing the underground boss there and getting the poor girl kick from her job, or threatening her friends, or otherwise show her that this is not an offer she could refuse... but I seriously doubt I can write something like that that wouldn't feel totally stupid...



but on the other hand, If you can just go and buy a new slave in two clicks, then recruiting a free girl after a few talks may not be something to be that worried about...
« Last Edit: August 05, 2014, 10:43:55 AM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3083 on: August 05, 2014, 11:43:56 AM »
Girlsmeets:
1)
- I dislike the idea of any bars or variables being visible during girlsmeets, disposition should be obfuscated in the profile screen as well. We need to quantify relationships to have a working game, that doesn't mean that we got to shove those numbers into players throats.
- "Job" variable, I would like to propose a slightly different concept for that:

*True Disposition (tr) or TD derivative:
** Disposition in itself IS and SHOULD REMAIN as it is now: A combination of how well girls are treated in your service (partly, joy does almost the same thing, only short term) and how much time MC spends interacting with the girl.
- Will be a (potentially) very complicated function taking into account the actual disposition, classes, traits, stats (including reputation/fame), amount of days in service of the player (if any) and whatever else we can come up with.
- Disposition should decrease daily by 1 - 5 points by default (towards 0, not -1000 obviously) depending on how long girl had been in your service and friendship/lover status (those should increase it daily).
- We should only use disposition during Next Day calculation and tr/disposition during the day.
- Hired girls will already leave based on joy and normal disposition.

2) Friendship status:
- I am not sure about giving inventory access just because of friendship...
- Becoming "Friends" should come with some baggage, for example, unless girl is off on an exploration tour, disposition will diminish unless you've at least visited her interactions screen (I'd prefer interacting, but I am not sure how to automatically handle that atm) once every 5 days or so.
- Advantages: She's happier, easier to keep her disposition high, other stuff as we think of it.

3) Lover status: ** I kinda agree with CW, it may be too early to implement this atm.
- This one should be td related. Really awesome MC should be able to sweep some poor girls off her feet without too much fuss.
- Should be heavily reliant on traits, having more than one lover and traits that would not support that position should be very dangerous (breaking relationship, girls leaving, disposition thrown into below - 500 areas).
- I think lover status should enable only if girl/mc ask to be lovers, friends/colleagues can go out as well.
================================================================================================

General thoughts:
- Girlsmeets work like:
1) Asking for interaction.
2) Disposition based choice if Positive, Negative and neutral responses.
3) Those responses should be VERY general, traits based and simple so they can be used in as many labels as possible (AA2 approach).
3) Spamming... with the stuff I ccan do with Python/Ren'Py nowadays... I could prolly come up with a way to automatically flag amount of interaction on per-girl/per-label basis with clean and simple code, basically every time any single interaction is used, corresponding counter (defaulting to 1) would get -0.2. All disposition gains from that label would be calculated with disposition change * counter, providing diminishing results... Every one - three days, counter will count backwards until it reaches 1 again.
* Note, while it can be done with disposition, it would be smarter to create a new attribute so there is one less check during the NextDay disposition increases. We can name the stats something like intd (interactions disposition) and batch rename in girlsmeets/interactions files.
4) Interactions and dispositions should work off the same label, with some choices blocked where applicable.
5) I'll rework the system using better/more powerful/faster code when I get my hands on it. There will be no changes to labels themselves (Other than maybe names)
6) Dates/Sexual interaction should work like this:
- Screen fading to back
- Nice transition sound
- New background fading in
- Corresponding pictures/short texts.
================================================================================================

I am going to look into blocking inventory control for free girls tonight, maybe more (FG improvements) if that proves to be easy (I am not sure yet).
« Last Edit: August 05, 2014, 11:45:58 AM by Xela »
Like what we're doing?

Offline MrKlaus

  • Full Member
  • ***
  • Posts: 144
Re: General Discussion
« Reply #3084 on: August 05, 2014, 12:56:33 PM »
Girlsmeets:
1)
- I dislike the idea of any bars or variables being visible during girlsmeets,

Throw in a psychic or a fortune teller NPC to the mix. For a small amount of money (100-200$) it would let the MC check his footing with the girls. Something like the Jinzo in AA. The difference would be, that on display would be only the avatars of girls that he already met (not all possible free girls in town) and he could check only ONE girl for that mentioned small sum. In the future, the clairvoyance could be expanded to show the relationships with the city guard(s), high status people and Crime Lords running the ghetto. Also could be a start of a quest something like: “I see a great danger approaching you”. Or just a place to meet a girl that is into things like fortune telling and occult.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #3085 on: August 05, 2014, 01:59:48 PM »
- Will be a (potentially) very complicated function taking into account the actual disposition, classes, traits, stats (including reputation/fame), amount of days in service of the player (if any) and whatever else we can come up with.
MC's stats are not the only thing that should be considered here. The bar represents the difference between MC's and girl's social status. When status is too different in a bad way, you have to work hard to hire a girl, and vice versa.

- I am not sure about giving inventory access just because of friendship...
What else could possibly enable it? Lovers only? Best friends (disposition 900+)? Or you would prefer to not unlock it at all, except slaves?

2) Disposition based choice if Positive, Negative and neutral responses.
Well, in AA2 they use a combination of rng, disposition, girl's mood and dialogue history (the game tracks results of ALL your dialogues with every single character).
Maybe we should try to use percent based system too, when there's a chance of successful interaction depending on several variables (of course we shouldn't show it). During spamming the chance drops greatly.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3086 on: August 05, 2014, 02:28:09 PM »
What else could possibly enable it? Lovers only? Best friends (disposition 900+)? Or you would prefer to not unlock it at all, except slaves?

Full access = Lovers only, yes.
The way I will be trying to code it tonight is:
- Full, unrestricted access == Slaves (Lovers in the future).
- You can always give items to a girl.
- You can take away only items you've given to her and NEVER consumables or misc that self-destruct (so only equipables + normal misc).
- You can have any girl use consumables unless eqchance is below 20 (really bad items, she'll tell you to go to hell then).
- After disposition reaches 950 (I think, number is not yet decided), you can disable free girls auto-equipment system and equip her yourself unless disposition falls down again. But you will still not be able to "steal" items that she bought on her own.
- Auto-buy can be disabled at higher disposition as well, but that's stupid.

Interactions (girlsmeets or not) will take care of forcing free girls to give up their money/items with often severe consequences. After we have enough of this kind of interactions and events, we can implement alignment mechanics (would be useless atm).

Well, in AA2 they use a combination of rng, disposition, girl's mood and dialogue history (the game tracks results of ALL your dialogues with every single character).
Maybe we should try to use percent based system too, when there's a chance of successful interaction depending on several variables (of course we shouldn't show it). During spamming the chance drops greatly.

That's over-complicating again. I don't know, it's hard to say if a system like that is affordable in an indie game (development time wise). We can implement my system now and build up on it towards percentage (complex calculations) in the future. I'd love all systems to work at base level and offer some decent game play, we can build upon them later.

* Note that we can save every interaction if that makes sense as well, that's a lot easier than you may think :)
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #3087 on: August 05, 2014, 03:56:11 PM »
@Xela
So we have totally different options it seems... that's a pity. I can just wish you luck then... I have no other ideas so would be only repeating myself otherwise.

==================edit=

You changed the girlmeets files I was working on... It seems that you just renamed "random.choice" to "choice" and "random.randint" to "randint", so I did the same in my file... but I'm sorry in advance if that was not all and I messed something.  :( 


With this I pushed about 100 added girlmeets lines. But I also removed the egocentric, unsociable and mature personalities, as the corresponding traits doesn't exist anymore and I need to figure out a new combination of traits they would fit on... (kinda clueless now). So the number of texts maybe actually decreased  :D
Anyway, I'm stopping adding new texts for a while, so the files are free for changes.


I think I look at the exploration now if there is something fun to do with it...
« Last Edit: August 05, 2014, 04:35:44 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3088 on: August 05, 2014, 04:49:36 PM »
@Xela
So we have totally different options it seems... that's a pity. I can just wish you luck then... I have no other ideas so would be only repeating myself otherwise.

How do you figure that? If anyone wants to write 10000 lines for girlsmeets/interaction, it's perfect. But we need to come up with some base responses, I don't suggest throwing away everything that was done already.

*Also note that I do not force these things, especially in places where someone else done most of the job (tagging, girlsmeets, items, traits). I think that the counter approach is a very good option to mitigate spamming and interface should be redesigned. Otherwise, you'll have to clarify whats "totally" different is there :)

You changed the girlmeets files I was working on... It seems that you just renamed "random.choice" to "choice" and "random.randint" to "randint", so I did the same in my file... but I'm sorry in advance if that was not all and I messed something.  :( 

Yeap, I did that with all the files in the game for consistency.

With this I pushed about 100 added girlmeets lines. But I also removed the egocentric, unsociable and mature personalities, as the corresponding traits doesn't exist anymore and I need to figure out a new combination of traits they would fit on... (kinda clueless now). So the number of texts maybe actually decreased  :D
Anyway, I'm stopping adding new texts for a while, so the files are free for changes.

I''ll take a look. All files are free for changes, that's the whole point of version control :)
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #3089 on: August 05, 2014, 10:22:16 PM »
Some info:

After receiving PM from livingforever who tested loading from json vs reading info off filesnames performance, I've decided to try that in PyTFall:

I wrote a script into Ren'Py that used internal database to remap all tags into pairs of two characters and then renamed all images accordingly.
Then instead of loading from json, game analyzed the filename string and mapped that back into tags.

JSON:
Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: JSON Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24352 images from tags.json files
INFO     PyTFall 0.47 Alpha It took 2.25699987411 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Characters
INFO     PyTFall 0.47 Alpha It took 0.337000131607 secs to execute!



Filenames:
Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Characters + IMAGENAME Tags Database!
INFO     PyTFall 0.47 Alpha.tags loaded 24335 images from filenames
INFO     PyTFall 0.47 Alpha It took 1.56299996376 secs to execute!

Overall there is a 1.1 second improvement, which is significant. I guess this would be very harddrive dependent as well (JSON depends more on CPU). There is sufficient reason to use filenames instead of json files I guess but that would require yet a new tagger...

**It should be noted that JSON loading is not optimized. I've hardly revisited that code since Rudi wrote it and we seem to have a lot of tags that are not related the the game at all (some of which are removed through iteration over the whole database further slowing down the process). Basically, loading from filenames time is as good as it gets and JSON can by improved somewhat...

Any thoughts?

(This is what it looks like)


Update:
Binary (cPickle (No optimization)):

Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Binary Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24327 images from binary files
INFO     PyTFall 0.47 Alpha It took 0.880000114441 secs to execute!

This is another option...
« Last Edit: August 06, 2014, 12:54:15 AM by Xela »
Like what we're doing?