Regen rate ... bug or intentional?

Discussion in 'Suggestions' started by decarthado, Aug 5, 2011.

  1. decarthado

    decarthado Member

    I haven't seen a thread on this, so don't complain too much if I'm rehashing something.

    The base HP/MP regen rate is 1 per 7 turns, and it can't get better than 1 per turn at a regen bonus of 6+. What if some crazy player gets a bonus of 10 to HP/MP regen? Shouldn't that character get a second natural recovery point every few rounds?

    Seems to me the formula for this thing could do with a rewrite. If I could somehow manage to get an MP regen of 12, then I'd like to get my 2 MP per turn on 6 out of 7 turns, plz. :3
     
  2. marsgreekgod

    marsgreekgod Member

    I think a law of diminishing returns would be needed, something like at 7 you get 1 a turn at 9 you get 2 and at 13! you get 3. or even MORE.
     
  3. Ratha

    Ratha Member

    Not capping the regen rate at less than 1 per turn would probably unbalance the game significantly. Ive never had that much regen on my characters, but its very noticeable if you play on the easier difficulties, in fact on easy mode its very hard to ever run out of mana as is. With all the walking that i do to go back to brax and sell things in most of my going rogue games, i almost never have to use a mana potion, even at default going rogue regen rates.
     
  4. decarthado

    decarthado Member

    Well, the way I understand how this thing works, mechanically (the real math might be different), is that there's a counter which starts at 0 and it increases by 1 every time you move. The point at which you regen is normally 7, but if you have, say, 2 points of regen, then the target number is reduced by 2. This means you get a regen point every 5th turn (and then the counter resets). If you have 10 points of regen, for example, then the formula decides you get 1 regen point per round because your counter is equal to or greater than the target regen variable.

    This formula will never work for the purposes of gaining more than 1 HP/MP per round, you see. A totally new formula would be needed for that. That being said, you can, of course, get 2MP/round if you drink booze, but that's only because of a totally separate check to find out if you've got a regen bonus from something else entirely.

    The easiest way around this would be to replace the formula with a hard-coded set of regen rates and implement a 7-turn counter to determine how much regen you get each turn.
     
  5. Patchumz

    Patchumz Member

    I believe it was simply an oversight. I expect it to get fixed in time, like all things.
     
  6. Ratha

    Ratha Member

    @Patch - I cant claim to know the developers intentions, but i believe that a regen rate of or higher than 1 per turn was never intended. It certainly wouldnt fit balance wise with the game in its current state so im not sure that regen rate is broken in the sense that you cannot get more than a set amount of benefit from it. Being able to regen naturally at a rate faster than you can with food (which is the primary method of healing item in the game) seems a bit out of balance.
     
  7. Patchumz

    Patchumz Member

    @Ratha you should be allowed to become as overpowered as you want if you stack enough of a certain stat type. They shouldn't become 100% useless after only a couple pieces of gear.
     
  8. 123stw

    123stw Member

    I personally never use regen. Without abusing Archaeology regen are not very easy to come by.
     
  9. Patchumz

    Patchumz Member

    Same, but I've gotten extremely lucky before with mana regen, and it annoyed me that I hit the cap.
     
  10. Zakastra

    Zakastra Member

    If you go with a full wizard build involving blood mage, Ley lines and dual-wield orbs it dosn't take much at all to hit the cap on Going rogue, and even less of dwarven moderation ley lines gives +3 Blood mage buffs give +1 all the mid-high tier orbs give +2 each so you hit the cap even before you get anvil/artifact bonuses or useful items like the mana torus which is a real shame, because for a caster, mana regen is one of the strongest, rarest and best stats, for it to become arbitrarily useless after a low cap when it should be a great stroke of luck feels rather sad. I feel that recoding it to have no upper limit, but break points where it hits diminished returns would be good however. Example, it works as normal until you hit 1 mana per turn. The next point gives you one mana per turn, and 2 mana every seventh turn, next point gives 1 mana per turn and 2 mana every sixth turn until you hit 2 per turn, then it gives 3 mana every seven turns. this may seem overpowered until you consider that the amount of investment to get rates up to 2/turn is huge. and would be very unrealistic to achieve, but at the same time, allows the extra stats to still be useful, albeit the usefulness of the point that gives you two mana every seven turns, is vastly less cost effective than the point that gave you one mana every turn, up form one mana every other turn.
     
  11. decarthado

    decarthado Member

    Balancing how difficult the game is shouldn't be a question of nerfing what the player can do (in a single-player game, anyway). The game should be set to be as difficult as the designers want it to be given how far a decent player can push the system they're working within. I say let the players nuke a room of monsters with fireballs and let the players beat the holy hell out of monsters with a Whacky Ugly Stick +Awesome ... but design the monsters to be more or less evenly matched against common build types unless you plan on having automated rebalancing vs different player styles.

    The concept of changing the rate at which the additional gains are given to a player should be worth looking into, but I'm not sure it's totally necessary. Anything can become a balance/OP issue after a certain point. I'd be fine with the current scaling of the HP/MP regen bonuses which are already strapped to equipment if the 1/turn cap is lifted.
     
  12. NefariousKoel

    NefariousKoel Member

    In my experience, the bonuses to items and stats gives you a maximum of one per turn but you can get more by drinking mana items.

    I suspect it's a hard limit that was intended.
     
  13. Marak

    Marak Member

    I dunno, if it works like decarthado says, it really can't go above 1 health/mana per turn. Also, a system that gives you some odd fraction of regen (1 per turn and then 2 on every X turns) might not work properly with the different regen rates of the 3 difficulty levels.

    Besides, if you really NEED MORE MANA, you should DRINK MORE BOOZE!
     
  14. stevebrixius

    stevebrixius Member

    After hitting the mena regen cap I try to increase spell power which not only increases the power of my spells also reduces the casting cost. Therefor allowing me to cast more often after my mana pool reaches zero.
     
  15. SanderJK

    SanderJK Member

    I do not mind the cap of 1/1, but the scaling on mana regen seems really off. Right now, the first few points of regen do next to nothing, then suddenly it becomes really good, then it does completely nothing. this seems somewhat counterintuitive.

    Right now, default manaregen / turn is:
    0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 (etcet) where every point of manaregen removes a 0, until they are all gone, and it caps:
    1 1 (etcet)


    If instead, for every point of manaregen you change a 0 into a 1, you could a more spread out system, that caps at the same point:
    0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 (etcet for 2 mana regen for instance).
     
  16. Derakon

    Derakon Member

    Or alternately, you could replace the current system with "every N turns, regen M points of mana." N changes with difficulty, and M changes with stats. Then each additional point of +regen gives a constant return in terms of mana/time, and decreasing percentage returns (first point doubles regen, second gives +50%, third +33%, etc.). This would mean though that towards the late game you'd get this giant dump of mana on specific turns, and nothing on other turns.

    Going off of what SanderJK suggested, something like this ought to allow regen to sensibly scale indefinitely (written in Python):
    Code:
    print "base  bonus  adjusted rate  turn  regen"
    for baseRate in [5, 7, 9]:
        for rateBonus in xrange(0, 15, 3):
            # Floating point rate, for comparison
            floatRate = float(rateBonus + 1) / baseRate
            # How much to give every turn
            intRate = (rateBonus + 1) / baseRate
            # How frequently to give a bonus
            bonusRate = 0
            if rateBonus % baseRate != baseRate - 1:
                bonusRate = float(rateBonus % baseRate) / baseRate
            total = 0
            for turnNum in xrange(1, 2 * baseRate + 1):
                amount = intRate
                if float(turnNum % baseRate) / baseRate <= bonusRate:
                    amount += 1
                total += amount
                print "%4d  %5d  %13.2f  %4d  %4d" % (baseRate, rateBonus, floatRate, turnNum, amount)
            print "total: %4d compare %.2f\n" % (total, floatRate * turnNum)
    The output indicates that there's a bug somewhere in there (e.g. if baseRate is 5 and rateBonus is 9, then over 10 turns we give 22 mana instead of 20), but otherwise appears to be accurate in my limited tests. This was surprisingly harder to work out than I anticipated.

    EDIT: a friend of mine came up with this much simpler and more robust version:
    Code:
    def regenLoop(turns, base, bonus):
        points = 0
        for i in xrange(turns):
            points += (1 + bonus)
            regen, points = divmod(points, base)
            yield regen
    
    for base in [5, 7, 9]:
        for bonus in xrange(0, 15, 3):
            total = 0
            print "Base",base,"bonus",bonus
            for i in regenLoop(base * 2, base, bonus):
                total += i
                print i
            print "Total",total
    divmod() is a built-in Python function that returns the quotient and remainder for a given division operation. "yield" is a Python keyword to return a value from a function without halting function operation; you could replace it with a return statement by moving the "for i in xrange(turns)" line outside of the regenLoop function and passing the current turn as an argument.
     
  17. Hahnsoo

    Hahnsoo Member

    Having more than enough regen for the 1MP per turn, at least on the mage side, allows you to wear heavier armor without negatively impacting your regen. This is a great bonus, even with the minor additional penalties to spellpower. Besides, I've never run dry once I hit 1MP per turn, especially when you have so much available booze sitting around.

    I'm fairly certain that the cap of 1HP/turn and 1MP/turn is intentional.
     
  18. I dunno about MP regen (the last caster I played seemed powerful enough), but I like the idea of stacking HP regen making "Warrior" types ever so slightly more self-sufficient. I mean it's hard to find a lot of the stat anyway, so it's not big deal either way, but when I get a Walk It Off proc, I'd kind of like for my other regen buffs to not be going to waste for the duration.

    But I guess as much as I don't like the slight inconsistency of regen having a cap where most other stats don't, it'd be an even worse inconsistency to have one regen stat capped but the other not. (Okay, so crafting skills and trap affinity and I guess block/dodge/counter/dodge reduction are capped too..that sound you hear is my point dissolving)