Page 1 of 1

Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 02:57
by Daggtex
This thread is in response to some from Xua Xua's stat balancing thread wanting to see my take on balancing. Keep in mind, this is my own project, a work in progress, inspired by Crawl. I do plan to use it in my own game, so criticism would helpful, but I never expect this to actually be used in Crawl (unless people love it excessively for some reason), so do not criticize how it would affect the current Crawl balancing. I was also told this could be put here in the GDD forum, but if mod finds fit to move it, go ahead.

This first post will cover an idea of the game set up (it's a rogulike), the next will have specific formulas.

SO, firstly, going off of Crawl's idea of having 3 basic stats that roughly translate to the 3 basic classes (str for warrior, dex for rogue, and int for mage), I also choose those 3 names and class ideas. Basically, warrior should be the close-combat tank, rogue should be the flighty ranged, and mage should be the more random gimmicky bits like stat effects and teleportation. Being like that, warriors and rogues need to balance strictly, mages can then be balanced in after by tweaking the random things they get to do. Also, hybridization should be completely possible.

Some basic understanding of what each stat currently affects:
str- carry weight, hp, physical damage, blocking, throwing heavier things
dex - speed, evasion, accuracy, regen of hp & magic
int- auto-IDing, accuracy, magic pool, magic resistance, enemy detection, number of spells known, enchantment power

Some basic understanding of how each class basically would work:
warrior: Weapons are some combination of slash, stab, bludgeon, or whip (along with having a base accuracy, weight, damage, and handedness). Each gets a bonus against a specific armor (cloth, leather, metal, & shield respectively) Your level in each applicable to the weapon is added together and used in the damage formula. Almost all weapons have either a cleave, reach, or other similar way to hit more than one enemy a turn. Blocking is less special; it just uses shields better dependent on str. Because powerful armor and weapons are heavy, extra strength is useful to overcome weight speed penalty. Unarmed uses only strength for damage calculation.
Skills: slash, stab, bludgeon, whip

rogue: Weapons are either a launcher of some type with one of a few cross-launcher ammo types, or a hand thrown item, giving 2 skills of hand & launcher. There is some overlap with melee, like with dagger. Each weapon also has a damage type associated with it for its different armor damage bonuses. Ammo is permanent, and time will have to be spent trying to maneuver around enemies to pick it up or run away if ammo runs out. Luckily, dex increases movement speed. The range that can be hit from is determined by launcher (farther) vs hand (shorter) & str, whereas accuracy is impacted by dex. Being weak, its also useful that they can avoid damage by dodging with dex
Skills: throw, launch

mage: spells are gotten permanently from randomized scrolls which give randomized effect combinations, costs, durations, or powers from the schools of transmute (handles stats, warping, slow, polymorph), elemental (aoe, zap, and energy shield), and Death (necromancy, poison, vampiric drain, fear). More int means more spells can be kept and gives a larger magic pool to use them. More armor on an enemy can cause spells to become more potent; more armor on you does nothing. Accuracy is still affected by dex.
Skills: transmute, elemental, death

Some basic info on equipment:
You wear 1 armor, 1 hat, 1 necklace, and 10 rings (maybe 6 if 10 is too much). You can wield melee weapons 2 handedly (increases damage a bit) or have a weapon and a shield. Ranged weapons require a both hands if a launcher, 1 if thrown. Mages don't really have much to hold, but they could grab a weapon with a useful enchant or something.

Some basic info on leveling:
The character starts with 6 points distributed in stats of your choosing, 0 in all skills, and a basic armor & weapon. After that, use of skills (please note all skills are offensive) causes them to level up, and upon leveling up enough in the branch of a stat, that stat also increases. As the overall total of all skill levels increases, the amount of experience required to level up a skill increases. This makes it so situations like 5 points in slashing and 5 points in stabbing is comparable to 10 in just slashing. There is no level cap.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 03:17
by Daggtex
FORMULAS

Here are the basic combat formulas which virtually all range & melee will work off of. I'm still missing armor (which will be a percentage off), evasion (which will be random chance of no damage), and shields (which will be matched to average with evasion, but work based on a random damage threshold), as well as range for throwing, and leveling up. Magic isn't even touched upon yet, but it will be much less formulaic and will probably balance based on how games go when I eventually program it.

accuracy:
note baseAcc is most important

1 - 1/(1 + sqrt(skill)/6 + baseAcc/5 + sqrt(DEX)/4)

damage:
note skill > str for damage

baseDam * (1 + sqrt(skill)/3 + sqrt(STR)/11 + sqrt(skill + STR)/7)

moves per time unit:
note the penalty from holding/wearing heavy (and thus more powerful) things

cubert(DEX) * [1 + (STR - weight + 10)/(2.5 + abs(STR - weight + 10))] / 2

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 03:20
by savageorange
@ original post:

This seems a bit like POWDER. Have you investigated that game for ideas?

Some general thoughts:
* More formatting, eg "rogue: Weapons are either", would make it much easier to read. Some things would benefit from becoming proper lists too.
* I assume that you're going to make fixedart/ randart rings much rarer than they are in crawl, given that you have 10 of them. if you went for, say, 6 rings (3 per hand, on the little, ring, and middle fingers, because this interferes least with gripping) this would be a little less of an issue.

I haven't read your second post yet.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 03:26
by Daggtex
I've never heard of POWDER, but I should look it up. Also, yes, the formatting is terrible. I'll add recaps on relevant skills so that it is a bit better. And lastly, enchants are going to be weaker in general unless you have higher int. And 10 may be too many, I was just kinda wanting to be able to use all my fingers, but it is true that that would make actually holding things a nightmare. Maybe I'll drop it to 6 like you said.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 09:55
by savageorange
Well, I don't actually care if it's unrealistic, but I -do- care if I have all those slots to manage, so I'd want to keep the options easier to choose from. Less slots is less management.
Someone who's won an Octopode would probably have some good feedback on this subject

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 14:20
by Galefury
Octopodes lose a bunch of other slots, and you usually have more ring slots than useful rings for a pretty long time. So managing equipment is actually fairly painless for Octopodes at first, because you don't have to swap rings so much. As you find more universally useful rings such as slaying, evasion and protection, it gets closer and closer to other races again.

Daggtex: how do you handle leveling of skills? Just number of uses? Or do you actually need to do damage? If the latter, what about effects that don't do damage?

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 15:14
by Lasty
It sounds like this design would include victory-dancing, which I know most forumites at least were happy to see die.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 16:38
by and into
Lasty wrote:It sounds like this design would include victory-dancing, which I know most forumites at least were happy to see die.


Well, there are ways to do it as OP proposes without victory dancing, one way would be like having automatic skill leveling (as it is in Crawl) except without a manual setting. If the game were designed with this in mind, that would be perfectly fine.

The problem with auto skilling for things in Crawl is that, other than for Berserkers and other very straightforward builds, you run into the fact that many abilities are worth getting online and reliable, but aren't things you want to cast regularly, and thus aren't going to be auto-trained, and you don't have lower leveled "training wheel" spells or abilities in same skill type accessible. Or, perhaps you do have access to such lower-leveled abilities that would train the appropriate skill, but you have no interest in investing in them or using them regularly, only as stepping stones, in which case making you use them in order for the corresponding skill to be trained would leads to tedious play.

Now, I could see auto training working really great for all characters in a game that had relatively few, and more general skills. (Like if game were designed such that only a few branches of magic, a few of melee, a few defense, and a few miscellaneous skill lines existed, and this somewhat more compact group of skills regulated the success rate and power of all spells and abilities.)


EDIT: Or you could have many skills but let the boundaries between them be fuzzier, so leveling up any particular magic skill or melee weapon gives some collateral competence in other magic or other weapons. Switching to something else is then a non-trivial decision, as it should be, and may mean downgrading power slightly for a period of time, but it isn't prohibitively difficult to switch to something else, nor to develop a backup weapon or alternate means of defense on the side. Crawl kind-of has this with cross-training, having a mechanism like that, but much more so, could make a fully automated skill leveling system playable without victory dancing. Alternately, have fewer "levels" for spells and abilities, and have enough useful spells and abilities throughout those different levels, and you never have to resort to victory dancing. There could then, in practice, nearly always be a way to implement into your play style a tactically meaningful, useful ability that is also linked to any skill you want to keep training.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 17:43
by Lasty
and into, I don't think any of your proposals would actually remove victory dancing, they would just reduce to varying degrees the level of incentive provided by doing so. All of them still include the idea that to pick up a new skill, one must engage in actions related to that skill, which necessarily implies that if you want to train something you rarely use in the course of gameplay, you are incentivized to find opportunities to use that skill when it isn't needed solely for the purpose of improving in that skill.

This is worst when whatever you're trying to get better at is something you can't use in the course of standard play until you get it high enough level, thus effectively forcing players to victory-dance the skill until it gets good enough to actually use, but even when this is not the case, incentives to take actions solely for the purpose of enhancing a skill encourage frustrating play.

For a system to not promote victory dancing, it needs to be the case that (e.g.) you don't raise Hexes skill faster by casting Corona on every popcorn enemy you meet.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 18:16
by BlackSheep
As long as his system doesn't use an XP pool, it doesn't have victory dancing. Needing to use a skill to level it up is more simulation-y, than is crawl, but unless you can level a skill in his game by swinging a sword at plants or throwing darts at the wall, it doesn't have victory dancing.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 19:42
by and into
Lasty wrote:All of them still include the idea that to pick up a new skill, one must engage in actions related to that skill, which necessarily implies that if you want to train something you rarely use in the course of gameplay, you are incentivized to find opportunities to use that skill when it isn't needed solely for the purpose of improving in that skill.


As Blacksheep said, victory dancing in the strict sense had to do with an exp. skill pool that you accumulate and then have to spend through actions after getting the experience.

But even in the more general sense, of grinding up skills by using ones that aren't tactically necessary are meaningful, in order to allocate experience where you want it to go. The things I suggested weren't really proposals, but more like different directions one could go in that, assuming good execution or implementation, could reduce grinding to a miniscule amount, if not remove it completely. Crawl now has its own way to do this, and it works well for Crawl, but if one were to build a new game from the ground up, there are other ways of approaching the same problem. What I suggested wouldn't work for Crawl, but I wasn't suggesting it for Crawl.

I think it is fine to force an automatic experience allocation system on the player, it just has to be well designed with respect to the game as a whole. The simulation value isn't the only reason to do so, either. I think it is reasonable that a game designer might want the emphasis in his game to be on combat rather than character-building (though still having elements of the latter), to give just one example. I have no idea if Daggtex wants that, of course, just speaking hypothetically.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Tuesday, 1st October 2013, 21:00
by Daggtex
No victory dancing.

Each enemy has set an amount of exp (dependent on difficulty) to give out that is added to the appropriate skill upon being attacked with an attack related to that skill. Remember, the only "skills" are offensive, and melee weapons are often related to 2 or more skills & spells are often the conglomerate of multiple magic schools. So attacking with my <bludgeon/whip> flail adds equal exp split into the bludgeon/whip categories. Then, when the monster is attacked enough, 1 of 2 things happens: 1) it dies, giving its remainder exp into the skill that hit it last, or 2) it runs out of exp to give, so no more can be done (removes farming, and I may add a small exp for killing the monster to encourage killing it regardless). Same exp is given no matter how long it takes to kill. Upon leveling up skills enough in a specific stat category, that stat will then increase. Also, due to often training multiple skills at once, it is easier to switch over: My <slash/stab> sword doesn't seem as good as this <stab/bludgeon> morningstar; I can switch and still retain half of my weapon combat skill.

Another relevant point is that there are not "tiers" to worry about in my design. There are weapon types that can have stats determined randomly within certain bounds, set to become better as you go deeper. I'm with Crawl on the whole "don't show every number" thing, so in order to determine how good it really is you need an ID scroll or higher int.

to be clear, these are the skills as it now stands:
int: transmute, death, elemental
str: whip, bludgeon, stab, slash
dex: throw, launch

[edit] Also, it is worth mentioning that many enchantments will affect stats directly, so if you want to have a higher dex without training it, you can simply grab for the right enchanted ring. And experience potions (although kinda rare) will also allow a player to permanently boost a stat of their choosing.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Saturday, 26th October 2013, 03:25
by omndra
This isn't very contrucive but...
Whatever you do make sure your game has Dwarfs in it.

Re: Game Balancing (not necessarily Crawl)

PostPosted: Saturday, 26th October 2013, 05:01
by Daggtex
Dwarves it is :P I think I'll name each initial stat spread after a race, and dwarves can be... maybe str4 int2 dex0.