Author Topic: General Discussion  (Read 3806529 times)

0 Members and 3 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9330 on: January 15, 2017, 09:44:27 AM »
I made her level 2 to test the terminate option. At 2 level she will easily die without terminating BE. The results are the same.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9331 on: January 15, 2017, 09:48:39 AM »
Code: [Select]
            # Decreasing based of current health:
            healthlevel=(a.health/a.get_max("health"))*0.5 # low health decreases attack power, down to 50% at close to 0 health.
            attack *= (1-healthlevel)

See if this could be culprit, I don't believe this does what you expect it to. Also you're dividing two ints, possible expecting a float as result so both logic and python are unsound.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9332 on: January 15, 2017, 10:09:56 AM »
I already commented it out, the result is the same.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9333 on: January 15, 2017, 10:15:56 AM »
Hinata and Nami both get huge amount of XP every time you start BE testing scenario, she gets stronger, attacks vs her get weaker.

Remove health lines and check if you still get erratic damage results.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9334 on: January 15, 2017, 10:23:26 AM »
I think that the huge damage difference between the attacks were due to the faulty health formula.

Nami getting more l33t with every BE iteration, is due to initial_levelup(n, 50, True), that increases her EXP every time you start the BE. You may have noticed that her health is also "magically" restored and she gets more health and MP.


I cannot find any more flaws and I spent 3 or 4 hours on this (just going over code)...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9335 on: January 15, 2017, 10:25:15 AM »
But their levels stay the same. How is it possible?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9336 on: January 15, 2017, 10:35:59 AM »
But their levels stay the same. How is it possible?

The function has "initial" in it for a reason, it is game breaking to use it on a character more than once (or not from level 1), it may not cause ctd, but it messed up stats. Her leveling system is reset, but her stats are not... so you get moar and moar stats every time it's used.

There is no place in code where this can happen in the game, this is my setup for dev testing mode...
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9337 on: January 15, 2017, 10:42:06 AM »
One last thing...

I improved code for loading mobs a bit (logic remaining the same, except for stats: {} dict). It will now crash the game on faulty skills, traits and stats so a number of mods can no longer be loaded. I am beginning to take a more aggressive stance towards catching errors cause we're moving closer to beta release.

Gonna take a long walk after going over BE and Char code :D
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9338 on: January 15, 2017, 10:46:02 AM »
Yeah, I don't see any more problems with damage. I'll have to change BE testing mode to allow multiple runs without such issues.

There is a lot to balance, starting from class and elemental traits, they are too powerful.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9339 on: January 15, 2017, 10:51:33 AM »
I updated mobs recently, there shouldn't be any faults - there are none in the dev log atm. All errors go from hardcoded arena and old characters jsons.

However,
Code: [Select]
Lilica has a string location: citysince when it's an error?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9340 on: January 15, 2017, 12:04:55 PM »
I updated mobs recently, there shouldn't be any faults - there are none in the dev log atm. All errors go from hardcoded arena and old characters jsons.

These guys all have issues, mostly with BE Skill names I believe. You rename them but forget to do the same for mobs/chars. You can just load them in console with build_mob("Seductive Slime") to see what's causing them exactly.

CRITICAL PyTFall 0.56 Step by Step... Seductive Slime
CRITICAL PyTFall 0.56 Step by Step... Undine
CRITICAL PyTFall 0.56 Step by Step... Harpy Queen
CRITICAL PyTFall 0.56 Step by Step... Link Wolf
CRITICAL PyTFall 0.56 Step by Step... Wind Spirit
CRITICAL PyTFall 0.56 Step by Step... Seraph
CRITICAL PyTFall 0.56 Step by Step... Wild Dryad
CRITICAL PyTFall 0.56 Step by Step... Heaven Guardian
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9341 on: January 15, 2017, 12:10:27 PM »
since when it's an error?

It should be a warning, not an error (pretty sure that it is). Aimed at me, more than at anyone else. I wanted all locations to become class instances at some point.

You can log with different messages:
Quote
Logger.info(msg, *args, **kwargs)

    Logs a message with level INFO on this logger. The arguments are interpreted as for debug().

Logger.warning(msg, *args, **kwargs)

    Logs a message with level WARNING on this logger. The arguments are interpreted as for debug().

Logger.error(msg, *args, **kwargs)

    Logs a message with level ERROR on this logger. The arguments are interpreted as for debug().

Logger.critical(msg, *args, **kwargs)

    Logs a message with level CRITICAL on this logger. The arguments are interpreted as for debug().


There is a lot to balance, starting from class and elemental traits, they are too powerful.

Goal should be to make class traits and elements meaningful, so it's not too big of a stretch that they are a bit overpowered. Spells also got to be balanced to cause more or less the same amount of base damage. We're using menu_pos to try and guess power of a skill and they are not all on the same level.

I also believe that spells should cost a lot more. Percentages in damage and cost of skills also need to be kept in check or we'll have weak chars casting powerful sh!t or do good amount of damage at far less of a cost than powerful chars.

System is in a fairly decent shape, you can tweak it or even rewrite it but it is playable as it is. Main issue are super spells atm, whoever gets a chance to attack first, wins the round :D
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9342 on: January 15, 2017, 12:24:03 PM »
Elemental traits are a part of this. Cataclysm, as the highest fire spell, is dangerous as it is, but with Fire trait it just wrecks everything.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9343 on: January 16, 2017, 06:42:52 AM »
Well, that's interesting. In "mobile" version on external hdd I killed Nami in the testing rpy a few weeks ago to test graveyard, and forgot to restore her. Yet all this time it wasn't a problem for BE testing mode, she was there  :D

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9344 on: January 16, 2017, 07:24:56 AM »
We're using menu_pos to try and guess power of a skill and they are not all on the same level.
It's not a very accurate way, especially for weapon skills. Weapon with higher amount of skills will have higher max menu_pos, no matter how strong these skills are.