Balance
I'm doing the first major balance pass for Flare's first game.
Here is a build for Windows users; others can use svn: http://code.google.com/p/flare-engine/downloads/detail?name=flare_win_r2...
I suggest starting a new game (exit the game, erase or rename save1.txt, restart the game).
Expect many iterations of balance changes.
Right now I'm focusing on the core gameplay for typical builds, more focused on early levels (1-5). Look for these changes:
- Physical characters have a lot more health and should feel tougher
- Shock now costs mana, but mages have more mana to spend. They do deal with being OOM after large battles.
- Archers with pure-offense are still powerful, but are at risk of being two-shot in the caves.
- Physical + Defense characters with proper gear can handle large crowds of enemies. Haste is added and Block is more powerful.
My main concern with the latest changes is that mages still suffer if they run out of mana. Ways I might solve this:
- A low level potion or mana drink, cheaper than a mana potion (e.g. restores 25 mana over 5 seconds, interruptable by damage, for 25 gold)
- Drop the power Lore and place a weak, zero-mana spell (e.g. like Wanding in WoW)
Please share other balance concerns, and feel free to share suggestions.
Updates in r295
The starting vendor has the potions, and the cave/captured vendor has flasks.
The easier-to-attain potions should help with low level survival and mana issues.
Windows download: http://code.google.com/p/flare-engine/downloads/detail?name=flare_win_r2...
Some obvious balance issues that are simply due to being Alpha:
I wonder if you should gain some hp just because of new level. Maybe some small amount (+2 for example). That way even when you're magical hero, you will feel that you're progressing, cause it's also a bit harder to kill you.
michal, that's a nice idea. I could give a small bonus for each level e.g. 2 hp, 1 hp regen, 2 mp, 1 mp regen, 2 accuracy, 2 avoidance, 1 crit. Either way, the engine should support auto stat gains on a level up.
Ok how about giving stat bonuses per level based on skill stats for example you get an extra 1Hp (per Phyisical def. point) per level and an extra 1Mp (per Magical def. point) per level this way not only you encorage a "pure class" chracter but making a "multi class" character suffer from stat loss witch will be ok since they get skills from different classes.
So ...
Level 2 Level 3 Level 4 Results
Warrior Hp 20(+2) Hp 26(+3) Hp 31(+4) 31
MP 4 (+1) Mp 5 (+1) Mp 6(+1) 6
Mage Hp 16(+1) Hp 17(+1) Hp 18(+1) 18
Mp 8 (+2) Mp 14(+3) Mp 19(+4) 19
Hybrid Hp 16(+1) Hp 20(+2) Hp 26(+2) 28
Mp 8(+2) Mp 14(+2) Mp 14 (+3) 17
Skill based ability gains on level-up introduces another element of planning. Do I max Physical first to gain the most HP, or some other stat? Do I ignore all other skills to maximize my main stat, and possibly suffer a poor character during that time?
This can occasionally be fun (struggling to get a more powerful character in the end), but also really boring if you feel "forced" to do it (by game balance or be "everyone else" doing it in a multiplayer game).
I've done an extreme of this once, where I had a medium-level character doing the same damage as a level 2-3 because of "build" considerations (maxing per-level hp gains early).
To ceninan
True but since high level spells cost more mana a "pure class" mage can cast more lvl 2 spells at level 4 (since he has more mana) then a level 4 "multi class" warrior/mage besides the multi class guy may have more HP or MP but he can't use level 4 mage gear (since he lacks the skills) ... +1 Hp is a BIG bonus it can be 0.25 or on time bonuses , for every 3 points you get a fixed value to your Hp/Mp Pool.
Withount dought this bonuses will mean a lot in PvP and can lead to OP builds if not implemented corectly but it cold add a lot of fun and flexibility in the long run
I'll probably add a simple point award system per level. So that each formula is like this:
HP = hp_starting + (hp_per_level * level) + (hp_per_physical * physical)
Example usage:
(note, in the actual calculation "level" and "physical" would be "level - 1" and "physical - 1")
It's close enough to how it's done in most games of the genre, and plugging those values into a config file will be easy enough for people playing around with the engine.
You could have enemies drop small magical orbs that replenish your mana the moment you pick them. Sort of life health packs in FPS games, but for mana.
Revision 306.
I'm facing my first minotaur at character level 2. I chose Defense, I have leather armor, Heal spell and fists. The creature feels like the Butcher. It doesn't belong there unless you want players to run away... ?
b0rsuk: the final game won't have random wrong-level enemies like that (unless they serve some story or environment purpose).
Yes, but in the meantime are playtesters supposed to run past tough monsters to be able to level up and test more stuff ? Or grind on initial level ?
Playtesters are supposed to get killed by the minotaur. Then learn to avoid him until they're high enough level to get revenge.
I killed him after 1 lvl up :). He doesn't have any ranged attacks, so I just shot him with my slingshot. Lots of times of course, but you can run, run around a pillar and run the other way.
If you are good, you can do the same thing with your fists. With one point in defense, let the minotaur run up to you, hit him with Blood Strike and then run away (you are faster than he). Wash, rinse, repeat. It's slow, but it works. Also note that you want to not kill him with Blood Strike, because if the bleed damage kills him, you don't get the XP (bug?).
pennomi: I'll check on that. Sounds like a bug.
(update)
Yep, bug. Fixed in r307
New windows binary of the latest.
http://code.google.com/p/flare-engine/downloads/detail?name=flare_win_r3...
Barring any other major issues, I'll probably let these latest wave of balance changes be the last for a while. Just to get some testing time in.
I know the minotaur can be killed early with enough [i]patience[/i], but it's extremely boring. I've found hit&run tactics to be most effective in melee. Because attack animation takes time, it's best to swing the weapon before enemy is in range. The enemy will walk into your swing, often be stunned for a while, and you can safely run back. So, in a way, you can overcome stat deficiency with finger dexterity. But a single misstep can cost you life. Sometimes the minotaur will hit you, sometimes not. Sometimes he'll stun you, sometimes not. When he hits, there's a chance you will never recover.
For those of you who've played Diablo1 recently - can you perform the same sort of cheesy run&attack tactics ? I mean does Diablo1 allow you to attack *in melee* before target is in range ? I think it worked only if enemy was very close, but I may be mistaken. I know you could force ranged attacks with shift, so perhaps the same could be done with melee ? If yes, then perhaps a sorceror could kill the Butcher in melee without taking any damage ?
-Offtopic-
Yes the hit and run attcs are present in Diablo I (Hellfire and PS1 version) and yes you can force attk by holding <Shift> (Melee or oderwise) in fact its kida popular while holding a horde of udead in a doorway ...
Killing the Butcher by hit and run tactics NO since hes to fast and has a perrty good Rot (Rate of Fire) but as a mage you can kill him using the lvl 1 Wall of Flames as long as you have mana.
-On topic-
Most monsters in "Flare" have 2 attks (like the skeleton using the crossbow and the sword) so this should not be a problem ... you can fix the problem by editing the range of melee wpns (not recomended) or making the move Minotaur faster or having biger range on his Axe.
In a future AI pass, I could give monsters better tools to avoid this melee kiting. Something like this:
If I'm approaching the hero, and one more step would put me in his melee range, and the player has started his attack animation, I have some % chance of stopping.
Or similar: if I'm within melee range of the hero, and my attack is on cooldown, and the player has started his attack animation, I have some % chance of blocking.
I'm okay with some monsters being melee-only, but I'll try to make them feel unique somehow (e.g. a ton of hit points but low speed or damage, or later some creatures will learn how to Block). I could give minotaurs throwing-axes. But the fun part of this minotaur is if he catches you in melee range, his stomp + axe combo is lethal.
I hope you won't settle for "one size fits all" solution. While consistency is nice in code, in gameplay it can lead to boredom. Variety is fun ! Jeff Lait, the developer of Powder (the roguelike game) has said he tries to only implement spells which require new code. And I think it shows !
Another way to make minotaurs resistant to excessive kiting is giving them health regeneration proportional to max health. This would make them hard or impossible to kill on low levels, but wouldn't make them more lethal or harder to run away from. A high-level character wouldn't be bothered as much by health regeneration.
More on the solution Clint proposed (reacting to player behavior): If you want to be really mean, you can have minotaurs continue advancing but from another side. So if player is swinging his weapon east, minotaur (attacking from east) goes *north*west and the attack will not hit him. But I think a less strict AI will be more fun. Let monsters make mistakes at least once in a while. It's not just that perfect AI (perfect is possible in simple situations) could be frustratingly hard. It just limits options available to player. Succubi in Diablo1 (Hell levels) were very frustrating for Warrior players, and their run away AI was by no means perfect.
I kinda disagree with the HP values of enemies even a "feeble monster" should have more then 1 HP besides the "hero" starts with 10 HP so most level 1 monsters would have similar values ranging from say 5 to 15 and at leas 0-1 absorption .
Mumu, very few games have power equality between the hero and enemies. If so, the hero would lose 50% of 1-on-1 battles.
The current death penalty is 50% of the gold. This means it is the most advantageous to keep a lot of crappy items with me until I need money and sell it. Worse, I need to calculate if I make enough money I will make when selling them. (and there is a general rule that people tend to hate doing calculations while playing games)
My suggestion is to change the death penalty. I suggest losing 20% gold and randomly 40% of the (non-equipped) items you carry. This means that selling items is more advantageous than keeping a lot of crappy things with you.
I think the price of potions, (and other consumables) should be decreased by 40%, to 15 gold and 60 gold. (In my opinion, they are over-prized at the moment and a chance of losing them will only make it worse).
I don't think that 50% gold is such a big deal , I always sell all my items at the vendor and I totally dissagre with the 40% disscount since potions are very valuable , gold or dying is really not an is issue.
In adition I've set all loot_chance to 12 and edited potions so they heal only 15/30 and cost 50G and 75G + all level 1 mosnters have at least 8 HP and 2-5 DMG and so far I am not having any problem overcoming the odds even as an melee fighter you will not get killed since you have a lot of HP and def.
I think that death penalty should be death, like in Diablo1. Game Over.
I find the death = death system too drastic. I haven't played diablo but needing to restart the whole game because of "yet another stupid death" seems quite annoying.
However, if you like that, nethack does it.
It would be another matter if there was a saving mechanism, or something like that. In that case it would be a good idea, that I would vote for.
My suggestion right now: Leave death penalty for the moment and change it in death = load last save when we have a decent working saving mechanism.
If you "Iron man" (permanent death) mode is to be implemented I reccoment a "tin man" mode oposed to "iron man"
the Tin man works like this : your character gets saved only at a certain level (2-4-8-16-32-64-128 ect.) if you die you get "rolled back" to your last save.
Death penalty will have some config options.
Examples:
Mix and match to create the death penalty desired.
The tone of the individual game should dictate what the death penalty is.
I was also thinking about dungeon levels. Basically we assing a level to each dungeon, and show the name and level above portals. E.g. A level 1 player will know he should not go to "The Minotaurs Cave (Level 7)".
In alpha's this is not so bad because players expect that they might run in those troubles. However in a more final game, I think those names will really help to guide the newbie player.