attributes, skills & level up

The tale of the siblings Althea and Shea https://www.winterwolves.com/seasonsofthewolf.htm
Post Reply
User avatar
Anima_
Druid
Posts: 345
Joined: Fri Mar 02, 2012 2:44 pm
Location: Germany
Contact:

Re: attributes, skills & level up

Post by Anima_ »

peregrin wrote:PS: Only just learned (or inferred, rather) that Anima is again doing the statistical bits. This is very good to hear. :-)
Thanks for the confidence. Though I don't work on Seasons Of The Wolf, only the framework from Loren is reused.
The current design for Planet Stronghold has no secondary attributes, everything is primary. So we won't have that problem this time.
RPG Programmer for Winterwolves, currently working on: Amber's Magic Shop
Part-time emotionless AI
Seloun
Young scout
Posts: 43
Joined: Sat Jan 19, 2013 9:37 pm

Re: attributes, skills & level up

Post by Seloun »

peregrin wrote: Claim: Mixing direct and indirect attributes makes the game less fun.
Consider a scenario in which STR is direct (it affects damage rolls) and CON is indirect (it affects the HP increase at each level-up).

Players Kali and Mero start with identical attributes (including derived attributes) at level 0.
Kali raises CON exclusively for 10 levels, then STR exclusively for 10 levels.
Mero raises STR exclusively for 10 levels, then CON exclusively for 10 levels.

Kali and Mero will now no longer have identical attributes. While their non-derived attributes are identical, Kali will have significantly higher HP. Thus, the attribute system not only allows for but also makes it very easy to experience wasted opportunities. Once Mero's player realises their mistake, they will probably choose to restart the game (which is "not fun").
This isn't really a matter of derived/direct/indirect as you've defined it (what you seems to be worried about based on the example is not that a stat is derived or indirect, but that the computation occurs at different times). Rather, what you seem to be referring to is path independence (or commutativity), that is, that the order of the choices made should not affect the outcome.

FWIW, your example is somewhat incomplete, in any case - having higher STR earlier (and thus higher damage) may have allowed for Mero in your example to overcome challenges Kali could have not (or the HP might have been more useful, still, in which case Mero is just really unhappy). Making attribute raises commutative is neither necessary nor sufficient to making attribute raises balanced or even fun (though it may help in making it *appear* balanced at first glance, which *may* influence fun; fun is pretty hard to measure, though). That said, being commutative tends to help balance simply because it drastically reduces the number of possible configurations at any given point in the game.
peregrin wrote: Raising attributes is not that exciting
...
Here's an alternative suggestion: everyone but the twins raises their own stats. This can be affected by three sources:
...
The third point is particularly interesting: the idea here is that the character will find out how they fit into the party and focus on attributes that are more beneficial towards their role. Here's a rough algorithm:
...
The problem with 'training' style stat raises is that it's hard to come up with one which isn't going to be manipulated to become effectively manual stat raises by anyone with a hint of powergaming (see: Elder Scrolls). Most such algorithms are also reactive, not active; I may know that I'm training Bob to be a mage, but right now all he can use effectively is a crossbow. In order to 'solve' this problem, you end up having to model a far more complicated solution that the problem really deserves.

A simpler solution if raising stats proves to be particularly tedious is to just be able to set automatic stat goal ratios and manage it that way. I'd argue that this only really proved to be an annoyance in Loren due to the sheer number of characters; levelling up wasn't so frequent that this was a huge problem that needs to have a complicated solution for. The solution of only selecting the PC's stat seems to recognize the root of the issue (which, again, is really a pretty minor issue...).

A pretty common semi-solution is to autoplace some of the points and let the user place the rest, or to have an autoplace checkbox.
peregrin wrote: [*] It would be great to have the ability to auto-use `buffs' before battles (except for ambushes and chain battles). In later stages, there is a tendency to develop a ritual of `Loren uses Rally and Apulimesho uses Regenerate and Dora uses Camouflage, and now let's see what battle we have in front of us here...', which doesn't add to the excitement; having auto-casting as a configuration option on the party setup screen would be great.
Isn't this effectively just passive skills? If it doesn't take a turn to apply, that's a change in mechanics, not just convenience. If it does, I'd question the value of it; if the buff is good enough to always be worth casting immediately or always worth spending the time to bring up, it probably is not balanced well. FWIW I don't think there were such buffs in Loren in practice.

However, what I think you are really trying to mention here (based on making an exception for ambush or chain battles) is a gameplay change where there is the possibility of 'prep' time before the battle. Which could be a cool idea (another thing that could be improved by stats => more choice dimensions => harder to balance but more fun to explore) but it's not really just 'autocast buffs'. This would be encroaching on the design space of initiative, however.
Seloun
Young scout
Posts: 43
Joined: Sat Jan 19, 2013 9:37 pm

Re: attributes, skills & level up

Post by Seloun »

jack1974 wrote: ...Having "leveling" skills, so that you don't just unlock a skill once, but you can spend more skill points in it to make it more powerful.

For example you have Heal. You put one point and you can use it, and each subsequent point increases the power:
Heal 1/5 point= heal 5% of target HP
Heal 2/5 point= heal 10% of target HP
Heal 3/5 point= heal 15% of target HP
Heal 4/5 point= heal 20% of target HP
Heal 5/5 point= heal 25% of target HP

This obviously would mean that I can't have anymore different skills like Heal I,II,III since the power is defined by the number of skill points you'll add :) So will need to review the various skilltrees, and that's more extra work. I'll have to see, maybe will try with one and measure how long it takes to do that, because I really like this idea.
I'm confused why this is really any different from having the current style, where you get three different skills (unless you specifically want to disable access to the older tier skills). Well, besides presentation; you could certainly save screen real estate if so inclined.

A secondary note (though I understand that this is a not necessarily representative example) the progression outlined above is probably not a good one - first, the skill already scales with game progression (it's percentage of target HP based) making it double-dip (so it'll improve quadratically). This means that Heal 1 and Heal 5 are really quite different in nature, not that Heal 5 is just the endgame Heal 1 (the way you would use Heal 5 is very different from the way you would use Heal 1). Second, the time cost isn't noted in the example, but linear-from-zero scaling is probably bad for active abilities, since the difference in effective cost of Heal 5 and Heal 1 is probably relatively small (time is probably the main cost, and presumably the time cost is comparable). Again, I realize it's a completely made up example...just an observation.
User avatar
jack1974
Pack leader
Posts: 15095
Joined: Thu Jun 16, 2005 4:43 pm

Re: attributes, skills & level up

Post by jack1974 »

Seloun wrote: I'm confused why this is really any different from having the current style, where you get three different skills (unless you specifically want to disable access to the older tier skills). Well, besides presentation; you could certainly save screen real estate if so inclined.
Yes I wanted to introduce limitation by level, in Loren you could have Loren's dual wield III skill very early in the game which was making her the ultimate damage dealer :lol: so if that could be limited by level, it would also be easier for me to balance, since I know that skill ABC can't be obtained until that character has level X.
Seloun wrote: Again, I realize it's a completely made up example...just an observation.
Yes, I really think I'm going to use fixed numbers skills only in this game, except a few skills. But using a percentage with HP/SP as you said has a different progression from what I intended to have!
User avatar
jack1974
Pack leader
Posts: 15095
Joined: Thu Jun 16, 2005 4:43 pm

Re: attributes, skills & level up

Post by jack1974 »

So FINALLY today I could resume thinking about this game ruleset. I made some tests with the attributes (I want to get the attributes sorted out before moving to the skills). Initially I thought something about this:

Code: Select all

            #HP derive            
            if self.charClass==Warrior:
                self.att["HP"] = int(self.att["Constitution"]*7)+self.level*5
            elif self.charClass==Thief:
                self.att["HP"] = int(self.att["Constitution"]*5)+self.level*5
            else:
                self.att["HP"] = int(self.att["Constitution"]*3)+self.level*5
so in practice the HP you get on level up would depend on the character's level multiplied by 5, and then on the Constitution attribute, multiplied by a factor that would reward more Warrior class, then Thief and then Mage.
However I also thought that unless I give a lot of attributes to assign on each level up, no Mage would want to gain only 3 extra HP for each point spent in Constitution. So I'm going to have attributes caps instead, since I think makes more sense. Like the Mage can have maximum 20 Constitution attribute, Warrior can have max 60 and so on. This way if a player wants to experiment could assign the CON attributes points early and have a Mage with more HP, but of course the tradeoff would be that he'll be less powerful in other areas.
But at least with this system, it does make sense for any class to spend points also in attributes that normally aren't made for that Class, because they all get the same benefits: the only limit, is the attributes cap for each specific Class.

I think will build the game like this and have an early Alpha to test and see if my theory makes sense :mrgreen:
User avatar
Lonestar51
Elder Druid
Posts: 504
Joined: Wed Sep 05, 2012 6:12 pm

Re: attributes, skills & level up

Post by Lonestar51 »

Why not something along these lines:

Code: Select all

#HP derive           
            if self.charClass==Warrior:
                self.att["HP"] = int(self.att["Constitution"]*5)+self.level*7
            elif self.charClass==Thief:
                self.att["HP"] = int(self.att["Constitution"]*5)+self.level*5
            else:
                self.att["HP"] = int(self.att["Constitution"]*5)+self.level*3
meaning: If a thief or mage puts attributes into constituion, he gets the same out of it as a warrior (or ranger, I think, you decided to call the class...) But the base HPs, derived from the Level, are dependend on the class. (For SP it would be the other way round.)

Or possibly give warriors a constant bonus to the hitpoints (though that might be overpowered early on, and meaningless for experienced characters).
User avatar
jack1974
Pack leader
Posts: 15095
Joined: Thu Jun 16, 2005 4:43 pm

Re: attributes, skills & level up

Post by jack1974 »

Yes that was another thing I considered, but this way I would basically force the player to have high level Warrior always have more HP, reducing a bit the freedom. For example some players might want to put more points on other attributes to make a Warrior more fast or with more SP instead. Not saying that it will be a good move, but I think players would like it, they can always "follow the standard path" or experiment a bit :)
Anyway as said will experiment a bit more with my system and see if works. I have the following attributes:
"Strength","Wisdom","Skill","Agility","Will","Constitution"
each one will influence a thing on the battle, though the first two will be probably the most important (STR=HP, WIS=SP) but if I manage to balance it well maybe not (a Mage might have few SP, but have spells much more effective).
It's very hard to do it properly, but I'm trying :)
Seloun
Young scout
Posts: 43
Joined: Sat Jan 19, 2013 9:37 pm

Re: attributes, skills & level up

Post by Seloun »

jack1974 wrote:However I also thought that unless I give a lot of attributes to assign on each level up, no Mage would want to gain only 3 extra HP for each point spent in Constitution. So I'm going to have attributes caps instead, since I think makes more sense. Like the Mage can have maximum 20 Constitution attribute, Warrior can have max 60 and so on. This way if a player wants to experiment could assign the CON attributes points early and have a Mage with more HP, but of course the tradeoff would be that he'll be less powerful in other areas.
But at least with this system, it does make sense for any class to spend points also in attributes that normally aren't made for that Class, because they all get the same benefits: the only limit, is the attributes cap for each specific Class.
There's a couple of issues here. First, the value of HP is already different for the different classes (or at least different roles). 1 HP is much more useful to a warriors with high mitigation (1 HP is more of a single hit) and high threat (more likely that 1hp will be useful). For the mage who never gets hit, and even if they do get hit they die in 2-3 hits, raising HP ends up being a non-choice.

This would suggest that mages and ranged should get -more- hp than warriors in general per point of constitution, though this may end up looking unintuitive to your average player (likewise for will/wis to SP - people who do not benefit in other ways from will/wis should get more SP per point). One solution that's commonly used is diminishing returns, either absolute (e.g. sqrt of your stat is what's actually used for computation) or level scaling (e.g. you get full benefit upto stat == level, get half upto stat == level*2, get quarter beyond that); this can often effectively lead to the same results (better scaling for people who value the stat less) without looking arbitrarily inverted ('why is my warrior getting less hp per con?' even if that makes sense from a balance standpoint).

Second, HP (and SP) is almost always less useful that the multipliers (mitigation, damage, or other effectiveness measures) because more HP and SP doesn't reduce the time it takes for a battle (in general; you could argue you do save *some* time by not having to heal or pot as much, depending on the style of the game). It's way better to do double damage than it is to have double the longevity; in both cases you can deal the total net damage, but doing it faster is almost always better. In many cases it's probably better to do even just 10% more damage than it is to be able to do the damage twice as long (again, this is contextual with the nature of the game) since you always benefit from doing more damage; you typically only benefit from an extended pool for a very small subset of encounters. This is another reason to argue for diminishing returns - it provides a way to somewhat automatically handle the scaling. Otherwise, there's always a point where more HP/SP become effectively worthless (though it may happen at scales the game can't reach).
User avatar
jack1974
Pack leader
Posts: 15095
Joined: Thu Jun 16, 2005 4:43 pm

Re: attributes, skills & level up

Post by jack1974 »

In this game I plan to have attack do less damage than in Loren - you won't see the 120dmg each hit. So I'm going to tweak the HP gain to see at which point will be worth it even for Thief/Mages, maybe will be more than 5HP each attribute. If a hit on average does 10-12hp of damage (average, of course) then 10hp more can make some difference. Also I plan to have the long range attack miss more if you try to hit the second row characters, so that should balance the fact that mages stay back.
But in any case I think is normal in RPG, and has always been, to have some "preferred stats" for each Class. I don't want to spent too much time making every single attribute having an impact for every single Class, since I think I should spend the time to make the battles more balanced :wink: as long as the player has a choice should be fine. For the Mages you might want already to spend more point in Agility (boosting speed) or Will (increasing spells power). I mean as long as there's ENOUGH choice I think will be OK.
But I'll try to make spending point to increase HP worth it (or at least not totally worthless!) also for Mages! :)
User avatar
jack1974
Pack leader
Posts: 15095
Joined: Thu Jun 16, 2005 4:43 pm

Re: attributes, skills & level up

Post by jack1974 »

Image
made some good progresses today! is cool to see immediately the effect of your choices with the attributes.
Post Reply