devolution

Author Topic: General Discussion  (Read 3821722 times)

0 Members and 23 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2700 on: May 30, 2014, 03:43:46 PM »
I've experienced the negative stats during training bug.  It seems to relate to armor being worn.  For Example, If the MC was wearing the plate armor with -30 agility and then trained with the arena girl; the MC would lose between 20 to 30 agility.  Conversely, If the MC had the +10 constitution bracers on and trained with her and the training resulted in a constitution gain, then the +10 from the bracers was added to gain.  It was the same with training charisma with the leprauchan girl if wearing the +charimsa coat.  I don't know if this will help you figure it out in the code, but it's just what I observed.

I remember how the bug was reported but like I've said, I did just that with multiple items and different stats/levels using the developers console and was not able to replicate that. Neither was I able to find any likely explanation in the code.

Are you basing those stats increases/decreases on Next Day report or actually checking MC profile screen? I'll tweak next day reports to exclude changes changes made by items in the future...
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2701 on: May 31, 2014, 06:51:35 AM »
Decided to move finance related stuff to a separate module after all. Will prolly be easier to work with in the future.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2702 on: May 31, 2014, 07:12:01 AM »
Alright, I'm done with db folder. Mobs, npcs and backgrounds that I found are there as well, converted if needed and sorted.
I also have about 5500 pics for random packs, but they will wait until we done with balance and stuff.

What I'm going to do now:
* balance jobs profits and salary;
* balance items, both prices and stats;
* improve traits system, right now it seems a bit messy;
* improve tags system;
* balance arena.

What we might need for that from the viewpoint of coding:
* slots of some kind for traits; a purely cosmetic thing to sort traits by types and make girls gui less messy;
* number of uses for misc items; while some of them can be indestructible indeed, others are defenitely not;
* another system for mobs strength based on levels and max stats values, just like for girls and MC; the current system is almost impossible to balance properly unfortunately.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2703 on: May 31, 2014, 08:17:46 AM »
For now I am setting up some backbone code for Difficulties, Balance and unified Finances to make it easier to work with in the future. I don't have time to get a lot done but if I manage to set up some groundwork until mid-June, it'd be awesome.

* balance jobs profits and salary;

Ok, don't forget upkeep and slave related calculations. Profits/salary are more of a free girls sort of thing. Also see if you can make a sheet of different (basic) dwelling (rent/purchase prices) and meal types so we can add that the game at some point.

* balance items, both prices and stats;

That's your domain.

* improve traits system, right now it seems a bit messy;

Yeah, don't forget that traits are now applied completely differently (effects are not applied at game start but gradually, progressive as girl is leveling up).

* improve tags system;

Include CW into this as well, he's had experience applying tags in the game.

* balance arena.

There's too many factors to consider here. Some base should be written first.

What we might need for that from the viewpoint of coding:
* slots of some kind for traits; a purely cosmetic thing to sort traits by types and make girls gui less messy;
* number of uses for misc items; while some of them can be indestructible indeed, others are defenitely not;
* another system for mobs strength based on levels and max stats values, just like for girls and MC; the current system is almost impossible to balance properly unfortunately.

* Stots for traits is prolly an overkill, there aren't that many. In fact there we're even enough categories to split the file (your own opinion btw).
* We already have that? Do we not? I think you even made a could of those.
* Please don't do that, I believe that the relative-stats + multipliers system that we've create is VERY good and it'll get better as we work in difficulties, improve BE and Arena. So what I'm saying is that we shouldn't redesign mobs but work on other aspects of the game instead or maybe improving/advancing the existing system.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2704 on: May 31, 2014, 12:21:40 PM »
Ok, don't forget upkeep and slave related calculations. Profits/salary are more of a free girls sort of thing.
That's the problem, right now slaves can earn the same amount of money, yet they don't need a salary. And it's illogical to force upon them high upkeeps. No matter how much money they might need to keep themselves in shape, free girls still need more becuase they do have a choice, thus they prefer better food, rooms, etc.

What we can do here:
- lack of motivation; if you don't pay anything to slaves, they will be much less interested in job (even if trained perfectly), and if you pay them about the same amount of money that you would pay a girl with the same stats, they will do their job as well as free ones;
- slower skills/stats progression; they may need more exp for leveling and/or max levels of stats may grow more slowly;
- hardcoded limitations in equipment; as we know, slaves are not allowed to fight, thus no weapons at very least, plus maybe neck slot should always be filled with a slave collar;
- responsibility before the law; if a free girl commits some crime (attacks a customer for example), your reputation might be damaged, but it's still her own problem; while slaves are your property, if they commit something, it will be only MC's fault from the point of view of the law;
- living rooms; while free girls live somewhere else (we could add an option to settle free characters with high disposition in MC house, but definitely not in brothels), slaves require enough free rooms;
- I'm sure I'll come up with more later.

Yeah, don't forget that traits are now applied completely differently (effects are not applied at game start but gradually, progressive as girl is leveling up).
Could you quote this part of code or specify the place? I forgot the details.

* Stots for traits is prolly an overkill, there aren't that many. In fact there we're even enough categories to split the file (your own opinion btw).
In fact I already have them in traits file as comments. I mean general ones, like appearance, mentality, origin, etc. BUT not enough to split the file at the same time.

The thing is that I'm not satisfied with traits system yet. While that old idea of (iirc) Matt with slots for traits is way too simple even for simpler games, the very concept of more strictly structured traits is interesting and useful for us.
I'll also add general race traits during it, and I believe race traits could actually use a separate slot in any case.

* We already have that? Do we not?
I believe we don't. Right now items are:
1) destructible or not; meaning that either they will dissappear after 1 use or will exist forever;
2) reusable or not; meaning that either one character can use them once or unlimited number of times.
No middle ground.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2705 on: May 31, 2014, 01:21:51 PM »
That's the problem, right now slaves can earn the same amount of money, yet they don't need a salary. And it's illogical to force upon them high upkeeps. No matter how much money they might need to keep themselves in shape, free girls still need more becuase they do have a choice, thus they prefer better food, rooms, etc.

What we can do here:
- lack of motivation; if you don't pay anything to slaves, they will be much less interested in job (even if trained perfectly), and if you pay them about the same amount of money that you would pay a girl with the same stats, they will do their job as well as free ones;

Upkeep is higher on slaves so it's not all that bad but there is no way around that slave labor is cheaper...

- I really hate this idea.


- slower skills/stats progression; they may need more exp for leveling and/or max levels of stats may grow more slowly;

Slower stats gain is definitely a very good option. Slave labor is cheaper but it has been proven inferior to free labor times and times again, usually due to motivational and psychological factors.

- hardcoded limitations in equipment; as we know, slaves are not allowed to fight, thus no weapons at very least, plus maybe neck slot should always be filled with a slave collar;

Another good option. Block some eq slots...

- responsibility before the law; if a free girl commits some crime (attacks a customer for example), your reputation might be damaged, but it's still her own problem; while slaves are your property, if they commit something, it will be only MC's fault from the point of view of the law;

We already have some base code for that and this is definitely something we should do but it requires a better developed world. One step at a time...

- living rooms; while free girls live somewhere else (we could add an option to settle free characters with high disposition in MC house, but definitely not in brothels), slaves require enough free rooms;
- I'm sure I'll come up with more later.

- I couldn't come up with a good rooms solution other than if you do not have rooms available right now, slaves will slowly be damaged while free girls live at the place of their own.

Other options that are readily available to us:
- Higher initial price!
- Client preferences (percentage of clients would oppose slavery and be looking for free girls along)

Could you quote this part of code or specify the place? I forgot the details.
Code: [Select]
                    for trait in _traits:
                        if not self.level%5:
                            for key in trait.mod:
                                if key not in ["disposition", "upkeep"]:
                                    if key in self.stats:
                                        mod_value = int(round(trait.mod[key]*0.1))
                                        self.mod(key, mod_value)

Basically this means that during levelups, every 5 levels 10% of the value specified in the modding file will be applied. If a girls earns a trait at higher levels effects will still be applied fully. The idea is that girls are learning how best to use their traits to their advantage as they gain experience.

The thing is that I'm not satisfied with traits system yet. While that old idea of (iirc) Matt with slots for traits is way too simple even for simpler games, the very concept of more strictly structured traits is interesting and useful for us.
I'll also add general race traits during it, and I believe race traits could actually use a separate slot in any case.

I don't remember what we've decided, will race be a trait in itself or will there be traits available only to unique races?

I believe we don't. Right now items are:
1) destructible or not; meaning that either they will dissappear after 1 use or will exist forever;
2) reusable or not; meaning that either one character can use them once or unlimited number of times.
No middle ground.

Ah ok, I misunderstood the request. You want a misc item that can be used a limited amount of times on any character and than self-destruct.

It's definitely not worth the effort it would take to code. We can do something line having a misc item class that applies all of it's bonuses at once after being worn for a number of turns. Otherwise what we have right now (self-destruct after being used on the same character for a number of turns) is the best we can do.

Reason for that is that items instances are not being tracked individually so there is no decent way to implement a counter. There is one of every item as far as the game is concerned and the rest is tracked by the character classes.
Like what we're doing?

Offline Ogami

  • Newbie
  • *
  • Posts: 7
Re: General Discussion
« Reply #2706 on: May 31, 2014, 05:25:53 PM »
Sorry if i interrupt this thread but i followed this discussion for a while.
Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.
Of course slave girls should be a lot cheaper in upkeep then free girls. Maybe 50%.
 So you could have low class brothels full of slave girls and later if
you made enough money you could train free girls to be high rank prostitues.
Maybe even make it a condition to buy the  higher class brothels.
For example something like " To buy this property you must have at least 3 girls of rank 4".
So  at the beginning players can concentrate at building up money  with slave girls  and low class brothels and
later beginn to train free girls to rise in status.   Would also lengthen the game play quite a bit.

Its just something which came to  mind when i was reading this discussion.
« Last Edit: May 31, 2014, 05:30:31 PM by Ogami »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2707 on: May 31, 2014, 05:36:27 PM »
Sorry if i interrupt this thread but i followed this discussion for a while.
Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.

That's F@cking brilliant idea!!! Well done! I am definitely in favor of this approach.

Otherwise, it took me almost 7 hours but I finally got Finances onto a separate module, obviously changes this large and broad (in the code, nothing changed in gameplay) require extensive testing. Girls class is now down to a very manageable 1100 lines of code instead of 3600 before the code review.

SF Updated:

- Finances have been unified and moved to a single module.
- Difficulties class prototype.
- Number of bugsfixes
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2708 on: May 31, 2014, 06:35:35 PM »
- I couldn't come up with a good rooms solution other than if you do not have rooms available right now, slaves will slowly be damaged while free girls live at the place of their own.
Perhaps another upgrade for brothels, slaves living rooms or something. Minus one upgrade if you want to use slave labor in brothel.

- Higher initial price!
- Client preferences (percentage of clients would oppose slavery and be looking for free girls along)
Yup, those are good options as well.

Speaking of prices, I'm still not sure if we should add an auction of some kind in the slave market. While a decently coded, interesting and fun auction will be useful for the game, I have yet to see such an auction in h-games. Usually it's just several AI opponents with a simple algorithm. To keep things interesting, some kind of minigame required.

I don't remember what we've decided, will race be a trait in itself or will there be traits available only to unique races?
Ok, now that's an interesting concept you suggested here  :)

The last time we decided that race will be a trait, and as general one as possible to cover as much as possible, ie for example not dark elf/forest elf/whatever elf, but elven blood for all of them.

If races also will have some unique features or abilities, I'd prefer to put them beyond traits system, for example into a skill tree or effects system. Otherwise traits won't be general enough.

Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.
Of course slave girls should be a lot cheaper in upkeep then free girls. Maybe 50%.
Yup, great idea indeed. We could also cap reputation and fame for slaves, if it won't be enough.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2709 on: June 01, 2014, 04:39:39 AM »
Perhaps another upgrade for brothels, slaves living rooms or something. Minus one upgrade if you want to use slave labor in brothel.

I've tried that, it doesn't really work all that well in code and in practice. If we ever turn rooms into objects, that'll become a decent option.

Speaking of prices, I'm still not sure if we should add an auction of some kind in the slave market. While a decently coded, interesting and fun auction will be useful for the game, I have yet to see such an auction in h-games. Usually it's just several AI opponents with a simple algorithm. To keep things interesting, some kind of minigame required.

This we can add at any point in the game, I think it may be more fun in a better developed world with more NPCs.

Ok, now that's an interesting concept you suggested here  :)

The last time we decided that race will be a trait, and as general one as possible to cover as much as possible, ie for example not dark elf/forest elf/whatever elf, but elven blood for all of them.

I'd like them to be traits as well, just blocked on race filter.

Did we? I recall coding it as a field in girls data file after out discussion but I may be mistaken. For "mixes" we could actually use a race field and mix of traits from both races.

Yup, great idea indeed. We could also cap reputation and fame for slaves, if it won't be enough.

I'll code this in today. I really like the concept.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #2710 on: June 01, 2014, 05:20:11 AM »
The field doesn't do anything, it's just a string. While races could give some small bonuses, like agility for elves, and be flags for various checks. So Cherry suggested to actually use traits here.

* We probably could use both race traits and field. For example, string field Dark Elf and trait Elven Blood for all dark elves.

* Another problem is that race traits and fields might replace Not Human and Alien. Artificial Body is not affected, but those traits are. Moreover, traits like elven blood or furry should be considered as not human, while celestial origin or demonic origin as alien during checks in the code.
Thus, either we'll add another field to race traits, or keep Not Human and Alien and use them on pair with race traits.

* We don't have to use race traits, I can just create a json with general race types and bonuses for them, and when you set race for a character, you also will have to specify a general race type for it.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2711 on: June 01, 2014, 05:33:17 AM »
Ok, it was actually very easy, just two lines of code and disabling the rank checks during the job (until we figure out how it should work or maybe that's not required at all).

Small sf update. I doubt I'll have time for anything else any time soon other than small stuff and bugfixes. First thing I'll do when I can really get back into development is prolly to recode the whole next day reports screen.

The field doesn't do anything, it's just a string. While races could give some small bonuses, like agility for elves, and be flags for various checks. So Cherry suggested to actually use traits here.

* We probably could use both race traits and field. For example, string field Dark Elf and trait Elven Blood for all dark elves.

* Another problem is that race traits and fields might replace Not Human and Alien. Artificial Body is not affected, but those traits are. Moreover, traits like elven blood or furry should be considered as not human, while celestial origin or demonic origin as alien during checks in the code.
Thus, either we'll add another field to race traits, or keep Not Human and Alien and use them on pair with race traits.

* We don't have to use race traits, I can just create a json with general race types and bonuses for them, and when you set race for a character, you also will have to specify a general race type for it.

We'll figure it out. I like races as fields... It makes more sense.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2712 on: June 01, 2014, 05:56:54 AM »
Wanna pick your brains:

Right now one very easy way of cheating (or exploit) remains. Since everything is coded to be automated during the next day and there are no limitations set on the amount of days that can be spent in the game, making sure that one or two girls are profitable and simply keeping clicking the next day button can get player to a mil pretty fast. Especially with couple of stops to rank up girls in between.

What can we do to prevent that (simple solutions that do not require coding entire new modules would be great).
Like what we're doing?

Offline Ogami

  • Newbie
  • *
  • Posts: 7
Re: General Discussion
« Reply #2713 on: June 01, 2014, 07:34:10 AM »
Maybe make 2 game modes.
One timed mode where you have to pick a time limit at the start.
Something like  200-500 days.   At the end of the time limit you get a final score and rank, composed
of the stuff you managed to do in your playtrough. Much like in the Princess Maker Games.
Number of Brothels, Girls, Prostitute ranks , Arena Rank and so on.
This would also give the game a "goal".
That would make "Next Day" spamming pointless because you could spend the time much more efficent by doing other
things.

The second gameplay mode should be a Sandbox Mode without  time restrictions. If people want to exploit they could do it there.
This would also be useful as a training mode to develop strategies for the timed modus.

Like before, just a idea that came to mind.



Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #2714 on: June 01, 2014, 08:22:46 AM »
Maybe make 2 game modes.
One timed mode where you have to pick a time limit at the start.
Something like  200-500 days.   At the end of the time limit you get a final score and rank, composed
of the stuff you managed to do in your playtrough. Much like in the Princess Maker Games.
Number of Brothels, Girls, Prostitute ranks , Arena Rank and so on.
This would also give the game a "goal".
That would make "Next Day" spamming pointless because you could spend the time much more efficent by doing other
things.

The second gameplay mode should be a Sandbox Mode without  time restrictions. If people want to exploit they could do it there.
This would also be useful as a training mode to develop strategies for the timed modus.

Like before, just a idea that came to mind.


We could do a 1000 days limit for normal gameplay and we'll have to do something along those lines eventually but doing that right requires a bit of work.

Lets see if there are any other idea, I am thinking along the lines of forcing player to pay taxes manually instead of automatically and maybe some events that would require immediate attention. Time limit is a definite possibility.
Like what we're doing?