@duckswimming
I though I explained it better what I am trying to do.
What I am thinking about is not a drastic change. It will still use most of the old code in the background.
The longer I wait to change it, the more time it's gonna take.
Right now, the scenes are a mess as far as requirements are concerned. There is no consistent logic behind it. One day it did it with little requirements, another day with a lot higher for something that is similar.
Reducing the number of "levels" for affection/love/anger to 6 (0 included) will be even easier to understand than the 0 to 100 value range.
Right now each check requires a lot of code, that's the reason why what you are suggesting about the anger (which is already implemented btw) is only done in some places.
I don't like the idea to use anger to cap certain other attributes. I've thought about it before and discarded it for different reasons.
What you suggest anger could be used for sounds fun. I think I will add some of that to one of the next versions
The new framework I'm thinking about should be better and more flexible in almost all ways.
Using the 5 hearts (or other symbols for affection, etc.) instead of a 0 to 100 range is just a simple translation and could be replaced where it is displayed only.
Another option would be to only replace the logic and not switch from the 0 to 100 bars to hearts.
With the hearts, I would have to find a good way to integrate/match it with the existing UI without making it look out of place.
So maybe this would be a viable option.
I though I explained it better what I am trying to do.
What I am thinking about is not a drastic change. It will still use most of the old code in the background.
The longer I wait to change it, the more time it's gonna take.
Right now, the scenes are a mess as far as requirements are concerned. There is no consistent logic behind it. One day it did it with little requirements, another day with a lot higher for something that is similar.
Reducing the number of "levels" for affection/love/anger to 6 (0 included) will be even easier to understand than the 0 to 100 value range.
Right now each check requires a lot of code, that's the reason why what you are suggesting about the anger (which is already implemented btw) is only done in some places.
I don't like the idea to use anger to cap certain other attributes. I've thought about it before and discarded it for different reasons.
What you suggest anger could be used for sounds fun. I think I will add some of that to one of the next versions
The new framework I'm thinking about should be better and more flexible in almost all ways.
- use the girls character type(s) to influence checks (is partially done already)
- define expandable sets of checks for certain circumstance:
e.g. a list of objects that include the checks: anger, affection, love, lust, influence of charm, looks mabye
Each one gets a name: e.g. "basic action": anger <= 4, affection >= 1, love >= 0, lust >= 0
The check is a method of the girl class. To execute it, all I have to do is $ char1.execute_check("basic_action")
It would even be possible to have whole check sequences with OR, so e.g. (love >= 3 and lust >= 3) OR (love >= 4 and lust >= 2) - these sets will be reused and linked to each achievemet. So you can know what the requirements are exactly and maybe even display them
- this would allow to have different difficulty settings without much trouble
- it would also allow to change requirements in general for all similar scenes/events, without having to adjust 50+ places in the code
Using the 5 hearts (or other symbols for affection, etc.) instead of a 0 to 100 range is just a simple translation and could be replaced where it is displayed only.
Another option would be to only replace the logic and not switch from the 0 to 100 bars to hearts.
With the hearts, I would have to find a good way to integrate/match it with the existing UI without making it look out of place.
So maybe this would be a viable option.