devolution

Author Topic: General Discussion  (Read 3821668 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 #5985 on: October 04, 2015, 06:15:28 AM »
Then I added to char json "charisma": 50, nothing more.
For charisma:
Lvl 1: 30/60 - correct
Lvl 2: 49/65 - ???
Lvl 3: 40/70 - in theory it should be 70/2 + 2 from boobs trait = 37... But let's say it was a bit randomized or something.
Lvl 4: 64/75 - ???
Even levels always look especially weird for some reason. Odd levels are more or less ok, though their logic is a bit vague. But even ones break progression on spot.

How the hell are you testing? Are you just changing the level in data file??? Because that is not the same as leveling up. I'll take a look at the leveling func later but you should just add experience to character, leveling up function is NOT meant to mimic leveling in gameplay, at least not atm.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5986 on: October 04, 2015, 06:16:29 AM »
I read something about a new demo? Got the o.45 alpha version myself, havenĀ“t seen anything more recent around.

No, there was a video on youtube showing some of the new gui and features but no new releases.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5987 on: October 04, 2015, 06:26:42 AM »
Is it possible to use clipboard when using console? Ctrl+v doesn't seem to work, and writing long strings every time is very inconvenient.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5988 on: October 04, 2015, 06:39:15 AM »
Not really, it might be technically possible but that would be fairly hard to code and would require overwriting Ren'Pys base code.

You just need to enter the console in girls profile and write: char.exp += 1000 (or a proper amount)
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5989 on: October 04, 2015, 07:13:19 AM »
Ok, new test, same conditions, leveling via console from lvl1, no stats fields in json.
Lvl1: charisma 5 agility 0
Lvl2: 5/0 <- WRONG
Lvl3: 5/0
Lvl4: 7/0
It skipped level 2. I believe it doesn't work as intended in the case when there is no stat field in json.
But those fields are optional, it should work without them.

Let's add charisma:50 and agility:50 to json.
Lvl1: 30/12. Perfectly normal.
Lvl2: 32/11. Perfectly normal.
Lvl3: 32/11. Perfectly normal.
Lvl4: 34/10. Perfectly normal.

With charisma:0 and agility:0
Lvl1: charisma 5 agility 0
Lvl2: 7/0
Lvl3: 7/0
Lvl4: 9/0

Further testing might have issues with existing old mod field, so it's useless to continue until I get rid of it. I mean with levels higher than 4. From 1 to 4 level there should be no issues at all.
« Last Edit: October 04, 2015, 07:27:27 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5990 on: October 04, 2015, 08:29:19 AM »
Lvl2: 5/0 <- WRONG
It skipped level 2. I believe it doesn't work as intended in the case when there is no stat field in json.

Dark, I cannot investigate every possible scenario for you with a system this complex, if you want to see how barebone system is working, you'll have to create a test file with 0 effect traits and basetraits and work from there but that will not give you a good impression of the system (although there could still be random factors involved 2 char creation and with levels over 50).

The whole idea was to make sure characters are not linear and not the same and that different combinations of traits make them to a point unique. The only thing you should be careful with is not to create traits that can obliterate the whole systems logic/progression.

One point per level or two points per two levels is VERY generous for a non class trait like we've talked about earlier and should only be used for testing.

As to the issue in your post, Big Boobs have this:

Code: [Select]
    {
    "id": "Big Boobs",
    "desc": "This girl really has knockers.",
    "block_traits": ["Abnormally Large Boobs", "Average Boobs", "Small Boobs"],
    "min": {"charisma": 5},

"min": {"charisma": 5} means that a character is not capable of stating with charisma below 5, even if the real stat value and items mod value are both at -100 each. Do note that smallest max at the time that you've tested it was 10, I'll prolly change that back to 0 and push...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5991 on: October 04, 2015, 10:17:46 AM »
The only thing I don't understand is leveling system when you set level in json. It gives crazy stats to characters, and not even randomized, just crazy and illogical. Everything else is pretty clear.

I don't understand nevertheless how min charisma 5 that you mentioned prevents the game in the first test from giving +2 to charisma at level 2 as intended, making it 7. By level 4 it should be 9 already, instead it's only 7 for some reason. But once I add "charisma":0 to json, it suddenly works as it should. I suppose you misunderstood me.

In fact, stats fields in json are a very powerful thing, and should be used only when necessarily. So if the game begins to work weird without them, it's a bug.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5992 on: October 04, 2015, 11:30:49 AM »
The only thing I don't understand is leveling system when you set level in json. It gives crazy stats to characters, and not even randomized, just crazy and illogical. Everything else is pretty clear.

It is not crazy or illogical, it is a normalization routine. If you do some crazy sh1t like:

Let's see...
I've attached a json I used for testing. It's not exactly written by the rules

the game will try to fill in the blanks but after the character was created and leveled up. You need either to create a character by the rules or expect loss of control.

I don't understand nevertheless how min charisma 5 that you mentioned prevents the game in the first test from giving +2 to charisma at level 2 as intended, making it 7. By level 4 it should be 9 already, instead it's only 7 for some reason. But once I add "charisma":0 to json, it suddenly works as it should. I suppose you misunderstood me.

I think we'll need a stat normalization routine for this, I'll try to come up with one. What happens here is a trait that does not change a charisma directly on application application sets a minimum. That results in primary layer of stats ending up below the minimum layer.

In fact, stats fields in json are a very powerful thing, and should be used only when necessarily. So if the game begins to work weird without them, it's a bug.

They are percentages of the maximum possible. Levels ups should work in the same way. We used to have low random values for stats that are not provided in JSONS but you didn't like that, so it was removed.

===
I'll see what I can do for normalization, maybe it's even a sound idea to add it during any stats retrieval...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5993 on: October 04, 2015, 11:51:58 AM »
It is not crazy or illogical, it is a normalization routine. If you do some crazy sh1t like:
Stats are completely different for even and odd levels, as I demonstrated before. It's like there are different algorithms for odd and even levels. Charisma at lvl2 is much higher than at lvl3.

What happens here is a trait that does not change a charisma directly on application application sets a minimum. That results in primary layer of stats ending up below the minimum layer.
Are you telling me it's possible to have min charisma 5, while actual charisma is less then 5, thus when you try to increase it, it doesn't change?  ???
That's not how should work in any case, current charisma should always be >= min charisma.

They are percentages of the maximum possible. Levels ups should work in the same way. We used to have low random values for stats that are not provided in JSONS but you didn't like that, so it was removed.
I know all that. I'm not sure why are you telling me that. As I mentioned, with "charima:0" everything works as intended, without charisma field new mod field doesn't give stat at lvl 2. Even if there is a normalization of any kind, it still should not prevent traits logic from working as intended.
« Last Edit: October 04, 2015, 11:53:45 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5994 on: October 04, 2015, 12:01:36 PM »
Stats are completely different for even and odd levels, as I demonstrated before. It's like there are different algorithms for odd and even levels. Charisma at lvl2 is much higher than at lvl3.

I need a real example, with a properly setup character so I can explain what is happening in that particular case. I do not however believe that this particular field is broken.

Are you telling me it's possible to have min charisma 5, while actual charisma is less then 5, thus when you try to increase it, it doesn't change?  ???
That's not how should work in any case, current charisma should always be >= min charisma.

It was before, it's should no longer be possible with my last push about 10 mins ago.

I know all that. I'm not sure why are you telling me that. As I mentioned, with "charima:0" everything works as intended, without charisma field new mod field doesn't give stat at lvl 2. Even if there is a normalization of any kind, it still should not prevent traits logic from working as intended.

Sadly, it does. It's the order in which normalization currently takes place... Characters will be normalized only after they are created as the very last thing, that means all of the "must have" traits will be added post percentage bonuses that you get from stats field in characters JSON.

I suggest that you create a real character with as many fields preset as possible and test with it if you want to see the real game application. If you just want to follow the logic, you'll have to create dummy traits for all "must haves" and set them to your testing char (or read the admittedly complicated code even for someone versed in Python).
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5995 on: October 04, 2015, 12:51:29 PM »
Wait a sec. You wrote recently that
Quote
This can actually modify the amounts by which stats increase of levelups. Be VERY careful with this, at the time that I write this, every level-up increases max by 2 and lvl_max by 5.
But every time I level up character in the game, her charisma, constitution, etc. max levels in gui increase by 5. So you show in gui lvl_max instead of max? Because according to you max should be changed by 2, not 5. Are you sure it's done on purpose? It means you cannot see max, only lvl_max.
Either we should show both, or only max, because lvl_max alone will be super confusing.
« Last Edit: October 04, 2015, 01:27:39 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5996 on: October 04, 2015, 02:02:57 PM »
...

Neither is shown all the time, it is a minimum out of the two that is being used. At first LVL_MAX is more limited, it is the only way we prevent low level character from being capable of using the greatest items in the game to their full capacity, as LVL_MAX is preventing MAX bonuses from items to dash out their full effects.

You can torture the game mechanics in such a way that first few levelups give +5 to real max but that is a huge f*ckup in game design and shouldn't happen if traits are designed properly. But even in such case, game will balance itself out soon enough.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5997 on: October 04, 2015, 02:25:08 PM »
I see. It gives super confusing results when you test traits if you don't know about this feature of gui  :D

Looks like leveling works now as intended, at least at low levels.

But not leveling function when you set level in json. With "charisma":0 and big boobs aka min charisma 5 you still will have 5 charisma at lvl2 and 7 charisma at lvl 4. The same problem as normal leveling used to have before your last push.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5998 on: October 04, 2015, 02:28:49 PM »
But not leveling function when you set level in json. With "charisma":0 and big boobs aka min charisma 5 you still will have 5 charisma at lvl2 and 7 charisma at lvl 4. The same problem as normal leveling used to have before your last push.

That sounds perfectly normal, what's wrong with it?
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5999 on: October 04, 2015, 02:34:10 PM »
If you level character with big boobs normally, she will have 7 charisma at level 2 and 9 at level 4, because they give "mod_stats": {"charisma": [2, 2], "agility": [-1, 2]} currently for testing.
But if you level her from json, she will have 5 at level 2 and 7 at level 4, which is impossible in game unless you somehow reduced stats.