[crossfire] Balance changes

Mark Wedel mwedel at sonic.net
Sun Jan 6 20:48:16 CST 2008


Juha Jäykkä wrote:
> 
> This certainly has been an issue - both with alchemy and other item creation 
> skills as well. (I will use alchemy as a synonym to item creation skill.) 
> Basically, an arrow of slaying X should be equally difficult to create as 
> actually going to kill X. Of course, some characters will have easier time 
> killing X than others (follower of gaea killing a dread is probably having a 
> lot easier task than someone else), so the best situation would be where 
> creating Y of slaying X is easy for a character who would have a hard time 
> killing X and not so easy for others. That would be difficult to do, though.

  I'm not sure if creating an arrow of killing X should be as difficult as 
actually killing X himself.

  A good argument could be made that creating the item should be easier - this 
now perhaps adds some incentive/value to making items.  Killing X is difficult, 
but I can make an item that makes it easier.

  But the other part of it is that difficulty should be tied to exp reward to a 
great extent.

  For example, if one was able to create arrows of slaying hill giant easily, 
then the exp reward for making those items should be fairly low.  If creating 
arrows of slaying orcs is really hard, it should be worth more exp.

  Now from a game perspective, the above scenario doesn't make much sense - 
making arrows of slaying orcs should be easier than arrows of slaying hill giants.

  But in the end, arrows of slaying X tend to require a body part from X - that 
is the main part that makes it difficult, but also is quite reasonable.  The 
balancing part of this in terms of alchemy is the actual exp reward, and risk of 
failure.

  For example, if you go out and kill a hill giant, the risk of failure in that 
case is the character may die.

  However, for alchemy, the effects of failure are random - cauldron may blow 
up, you may take some damage, but typically character won't be killed.

  A possible way to balance this is long term (say 30-60 minute real time) 
penalty on the character - for example, character fails in alchemy, and it 
results in his mind being muddle so he can't attempt alchemy for 30 minutes (or 
gets an appropriate potion or high level spell cast)

  That tends to balance the timing and reward cycle.  Fighters can relatively 
safely gain levels all they want if they stick to easy monsters (relative to 
their level) - the disadvantage of doing that is it takes quite a bit longer. 
Balancing alchemy can be done in the same way - that really complex recipe gets 
you a lot of exp, such that if you do it 5 times successfully, that may get you 
enough exp to gain a level.  However, each attempt only has a 50% chance of 
success, and on failure, there is a 50% chance you can not do alchemy for 30 
minutes - that effectively limits the rate you can go up in levels in alchemy, 
or the character can stick with safer recipes (say 90% success rate, minimal 
chance for a long term penalty, but needs to perform 100 of them to gain a 
level, etc.


>>   Just doing damage/range gains per level may be workable with the revised 
>> monsters.  In the past, that didn't work when a first level monster had 20
>> hp and the level 20 monster had 2000 - there just wasn't any good way to
>> scale up the damage on the spell properly.  But it is probably too early to
>> really say if that is the case.
> 
> There is an infinite amount of functions to choose from. There *is* a suitable 
> function to scale up the damage no matter how the monsters' HP scale. The 
> question is how to figure out the correct function...

  That's really not a true statement.  If I have a sequence of 
1,2,8,12,20,25,35,60,100,120, can you find a _reasonable_ function that results 
in that progression?

  Now sure, that may not be a real world case, but if the function amounts to a 
lookup table, or has a dozen possible input parameters to get that output, it is 
a meaningless function as far as this discussion is concerned.

  The real problem with an overly complex function is that it can be very 
difficult to tune later on - changing one of the input parameters may result in 
output radically different, making it very difficult to tune.  If the function 
has to be rewritten to adjust the damage, then it is worthless for our purpose 
IMO.  We want a simple function whose output is easily understood and can be 
adjusted within the archetypes.

> 
>>   But the other issue with different versions is a mix of area vs damage. 
> 
> Is this really so hard? Can't we just say that a spell with maximum inflicted 
> damage (on stationary targets) of X hit points costs f(X) mana points? That 
> way, a bullet which hits a single target and has maximum damage X, costs 
> f(X); a bolt which has maximum damage Y per square and envelops N squares, 
> costs f(Y*N) etc. That would be quite fair and it would really discourage the 
> use of area effect spells against individual targets (although that is the 
> player's choice, not something we want to prevent).

  Sure, you could do that, and everyone would use a spell that hits a single 
target for a bunch of damage, as that would almost always be most effective at 
higher levels.  It makes doing the spells easy - just remove the cone, exploding 
ball, and most other spells because they would not be as effective.

  The only time a cone would inflict the same overall amount of damage is if 
every space the cone may hit as a monster in it - that seldom happens - there 
are often empty spaces, walls, monsters that may be resistant to that attacktype 
type, etc.

  So to make cones more worthwhile, you'd want to give some amount of reduction 
in mana cost, on the basis the spell would seldom be 100% effective.

  The only downside to a bullet that does a bunch of damage is you can't hit a 
bunch of targets with it - that tends to be less an issue at high level, simply 
because monsters are bigger (so there are not a bunch of targets in the same 
area), and it is more clear cut of what specific target you want to hit.

> 
>>   The harder part IMO is trying to sort that out on the server side.  It is 
>> fairly straight forward to say 'a fireball of radius=3, base damage=20, 
>> duration=5 cost X sp' and 'a fireball of radius=6, base damage=10,
>> duration=6 costs y SP' an balance out those SP or other values.
> 
> Could we not use small/medium/large balls/bolts/cones for this? It would be 
> less flexible, but easier for players. The damage could scale the same way, 
> but damage/area would be less for the large versions than medium than small. 
> Total (maximum) damage would be the same. Even if we let players specify the 
> kind of spell they want (which is, btw, a nice touch, I think!) the above 
> mentioned f(X) -method of figuring out the sp cost should work fine. 

  That has several issues.

  For example, lets suppose as a 10th level caster, I can put 100 damage into 
the spell.  If a small cone spreads it out so that each space takes 10 damage, 
but the large one (double size of small) spreads it out so each space takes 5 
damage, that makes the large one relatively meaningless unless you're fighting 
mice.  And as per my note above, you probably want to give increased effect or 
decrease in effecting cast for the large one, as it is most likely that even 
more of the potential spaces it hits it will note damage, either because of no 
monster or walls (and in fact, a set of walls could greatly diminish the effect 
of the large one)

  The other problem is that if the caster puts that into a bullet, you really 
can't allow a 100 point bullet that hits a single space - it becomes too deadly, 
both for monsters, and for other players that may step in front of it.  Or for 
that matter, when monsters cast that spell at players - after all, monsters use 
the same spell casting logic.

  Also, I believe it was Ryo who noted he would prefer for there not to be 
large, medium, and small versions of a spell, but rather just a general 'fire 
cone' 'ice cone', type of spells which damage can be modulated by the player.

  I'm thinking that as a first pass of rebalancing spells, things are done as 
now, with static spells defined.  Dynamic spell generation (or creation) is 
hardly a requirement for a balanced spell casting system - it is certainly 
something we can discuss, but I'm not sure it has a simple answer.

  But as a quick thought, one could certainly come up with general parameters 
for custom spell creation.  For example, something like:

bullet: damage is *0.5, spell cost normal
bolt: damage is *1.25/range (min range=5), spell cost normal
cone: damage is *.75/range (min range=4), spell cost normal.  Range in this 
context is number of spaces cone extends

  So as a simple example, a 10th level caster is allowed a 100 point damage 
spell at cost of 10 mana.

A bullet does 50 damage, costs 10 mana.
A bolt (that hits 5 spaces) does 25 damage/space (125/5), costs 10 mana
a cone that extends 5 spaces does 15 damage/space.  Note I think a 5 range cone 
hits a potential of 15 spaces

That certainly needs tuning, but something like that is less clear cut what the 
best spell is.  If you are just hitting a single create, that bullet is best. 
But if you can get a creatures in 2 of the 5 spaces of the bolt range, it is 
equal, and 3+ spaces, bolt is effectively better.
For the cone, you need 3+ spaces - if there are lots of monsters about, you'll 
get that.

  To me, something like that looks more balanced and worthwhile.  At higher 
levels, I could still see using bullets, bolts, and cones, depending on how the 
monsters are on the map, how tough, etc

  but if the bullet always did 50, and a 5 space bolt did 10 points/space, and a 
5 range cone (15 spaces) did 3 points/space, I don't think I'd ever use cone or 
bolt - 3 points/space is pretty much meaningless if I'm 10th level.




>>   Traps need to be retuned for higher HP.
> 
> Can't we just bind trap damage to dungeon level? If a 1st level player enters 
> a 50th level dungeon, he is expected to die - it does not matter if it's a 
> monster or a trap that kills him. This would solve the problem that traps are 
> either harmless to higher level characters or immediate death to lower level 
> ones.

  It is tuned to some extent, but dungeon difficulty != player level.  I can't 
think of may dungeons with a high difficulty.

  I think the tuning needs to be improved, because I think at higher levels, it 
doesn't keep pace, so a trap is never really deadly.

> 
>>   What would probably be good to add to crossfire, especially for traps, is
>>   some idea of bleeding wounds.
> 
> Could this not be done with a new type of disease? 

  You don't need a disease to do a bleeding wound - any force object with 
negative hp I think would cause damage (it would be very simple to make it do 
that).

  The problem with diseases is that players can become immune to them, and if it 
was a disease, then a cure disease spell would end the damage, which isn't quite 
right in this context - if I have a severe cut, you don't take antibiotics to 
heal it, instead you get stitches.

  Adding bleeding wounds would be trivially easy - the slightly harder part in 
it is linking it in with the traps.  Or maybe it just gets linked in with all 
damage that has a physical attacktype

  For example, character has 100 max hp.  Any physical attack that does more 
than  say half characters maxhp results in character taking half maxhp right 
then, and the remainder done over 100 ticks.

  So lets say character has 75 out of 100 hp.  He fails to disarm a trap that 
does 150 damage.  He takes 50 right now, leaving him at 25, and the remaining 
100 damage is dealt over the next 100 ticks, or in this case, 1 damage/tick.

  It means the character has 25 ticks to do some sort of healing.  Maybe the 
level of the healing has to be greater than level of bleeding wound, so if the 
trap was say 5th level, a 5th level or high spell would stop the bleeding right 
there.  However, our hapless character only has a level 3 wand.

  He can keep healing himself to keep alive, and eventually (100 ticks), the 
wound will close on its own.

  But if the character has no healing ability what so ever, he dies - but in 
this example, at least he has some ways to try and survive - its better than 
that trap just killing him outright.




More information about the crossfire mailing list