Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Level caps and dodge mechanics

65 views
Skip to first unread message

AJM

unread,
Feb 24, 2012, 9:45:27 PM2/24/12
to
These deal with RPG-ish mechanics in general, but I figure they'd be
relevant to roguelikes such as my own vapourware game.

First, I'm trying to design mechanics with no stat caps to prevent
players from hitting a wall in character development and to allow
arbitrary power levels. Except that several mechanics are easier to
implement when there's some kind of cap. What workarounds are there
for these?

For example, I was thinking of making armour decrease damage by a
percentage instead of by a flat value, so that any piece of armour can
retain some significant use through a game. But how do I derive a
percentage if there's no maximum armour value?

Second, I'm in the market for interesting mechanics for dodging and
avoiding hits. I've seen plenty of systems both existent and
theoretical with fancy rules for what happens when something gets hit,
with limbs and wound effects and other neat stuff. But when it comes
to avoiding hits through dodging, ducking, parrying, and blocking
attacks; which are typically more important in both real life and on
things like TV; all systems I've seen just use one or more dice
rolls. Surely there's something better?

I've been thinking about having evasion ability just decrease damage
like armour does, as opposed to the typical to-hit chance mechanic.
I've always found to-hit chances annoying from a pure gameplay
perspective, since they either have little impact while I'm holding
down the right arrow key against some monster, or they give me a never
ending pile of misses. Plus, hit points have always been abstract,
and would be expected to include evasion, so handling evasion
separately only makes hit points look stranger than they already are.
The problem now though is I can't think of a way for evasion to
decrease damage that's meaningfully different from armour such that
choosing between evasion and armour is an interesting choice for a
player.

narf_the_mouse

unread,
Feb 24, 2012, 10:55:01 PM2/24/12
to
On 24/02/2012 6:45 PM, AJM wrote:
> These deal with RPG-ish mechanics in general, but I figure they'd be
> relevant to roguelikes such as my own vapourware game.
>
> *Snip
>
> I've been thinking about having evasion ability just decrease damage
> like armour does, as opposed to the typical to-hit chance mechanic.
> I've always found to-hit chances annoying from a pure gameplay
> perspective, since they either have little impact while I'm holding
> down the right arrow key against some monster, or they give me a never
> ending pile of misses. Plus, hit points have always been abstract,
> and would be expected to include evasion, so handling evasion
> separately only makes hit points look stranger than they already are.
> The problem now though is I can't think of a way for evasion to
> decrease damage that's meaningfully different from armour such that
> choosing between evasion and armour is an interesting choice for a
> player.

Have Evasion reduce damage by a dice roll and have Armour reduce damage
by a flat amount?

As for keeping numbers relevant - How about;

Chain Shirt Lvl10 (25%, +/- 20%)

So, damage reduction is adjusted by the difference in "level" (using
"level" as a placeholder for $scalingPowerMechanic).

For example, the equation might be (in psuedocode):

if Monster.Level > Armour.Level then Defence += 100% - ((100% -
Armour.Defence) * (100% - Pow(Armour.LevelDefenceModifier, Monster.Level
- Armour.Level))

Which gets you a decreasing curve towards 100%. And:

if Monster.Level > Armour.Level then Defence += (Armour.Defence *
Pow(Armour.LevelDefenceModifier, Monster.Level - Armour.Level))

Where:

Monster is the monster object.
Monster.Level is the "level" of the monster.
Armour is the armour object.
Armour.Level is the "level" of the armour.
Armour.Defence is the armour's defence %.
Armour.LevelDefenceModifier is a % increase or decrease modifier per
difference in levels.
Defence is your defence % total for that hit.

Generic examples off the top of my head. :)

narf_the_mouse

unread,
Feb 24, 2012, 10:56:52 PM2/24/12
to
On 24/02/2012 7:55 PM, narf_the_mouse wrote:
> On 24/02/2012 6:45 PM, AJM wrote:
>> These deal with RPG-ish mechanics in general, but I figure they'd be
>> relevant to roguelikes such as my own vapourware game.
>>
>> *Snip
>>
>> I've been thinking about having evasion ability just decrease damage
>> like armour does, as opposed to the typical to-hit chance mechanic.
>> I've always found to-hit chances annoying from a pure gameplay
>> perspective, since they either have little impact while I'm holding
>> down the right arrow key against some monster, or they give me a never
>> ending pile of misses. Plus, hit points have always been abstract,
>> and would be expected to include evasion, so handling evasion
>> separately only makes hit points look stranger than they already are.
>> The problem now though is I can't think of a way for evasion to
>> decrease damage that's meaningfully different from armour such that
>> choosing between evasion and armour is an interesting choice for a
>> player.
>
> Have Evasion reduce damage by a dice roll and have Armour reduce damage
> by a flat amount?
>
> As for keeping numbers relevant - How about;
>
> Chain Shirt Lvl10 (25%, +/- 20%)
>
> *Snip*
>
> if Monster.Level < Armour.Level then Defence += (Armour.Defence *
> Pow(Armour.LevelDefenceModifier, Monster.Level - Armour.Level))
>
> *Snip

Provided a bugfix. :)

Radomir Dopieralski

unread,
Feb 25, 2012, 6:33:53 AM2/25/12
to
On 2012-02-25, AJM <aaron.o...@gmail.com> wrote:
> These deal with RPG-ish mechanics in general, but I figure they'd be
> relevant to roguelikes such as my own vapourware game.
>
> First, I'm trying to design mechanics with no stat caps to prevent
> players from hitting a wall in character development and to allow
> arbitrary power levels. Except that several mechanics are easier to
> implement when there's some kind of cap. What workarounds are there
> for these?

The first thing you need to ask yourself is the purpose of character
development in your game from the mechanics point of view. With the naive
approach (both monsters and player character becoming more powerful) there
is little purpose apart from forcing the player to effectivey use all the
sources of experience, so that he doesn't fall behind the power of monsters.
In fact, that forces the player to slow down and explore the levels completely.
This effect is so strong, that many games had to add a balancing mechnic, like
hunger (Rogue) or corruption (ADOM) to force the player forward and prevent
him from getting bored to death.

But you can do better than that.

If you make your level-ups more complicated than just "increase stats", you
can use that to make the game gradually more complex and introduce interesting
gameplay decissions. For example if, instead of just increasing the absolute
armor class value, you make the hero use his armor better, but only in certain
situations -- for example, only when he didn't walk in the previous turn --
then the game becomes more complex and richer. The bonus might seem like an
optional thing, and definitely something good for the player that makes the
game easier -- but if you include the power inflation in the picture, then you
qickly realize that the stronger monster offset that benefit, and that in
reality it just makes the hero more vulnerable when walking.


> For example, I was thinking of making armour decrease damage by a
> percentage instead of by a flat value, so that any piece of armour can
> retain some significant use through a game. But how do I derive a
> percentage if there's no maximum armour value?

Also, how do you make the difference between 90% armor and 95% armor meaningful
without making the monsters deal ridiculous amounts of damage?

> Second, I'm in the market for interesting mechanics for dodging and
> avoiding hits. I've seen plenty of systems both existent and
> theoretical with fancy rules for what happens when something gets hit,
> with limbs and wound effects and other neat stuff. But when it comes
> to avoiding hits through dodging, ducking, parrying, and blocking
> attacks; which are typically more important in both real life and on
> things like TV; all systems I've seen just use one or more dice
> rolls. Surely there's something better?

There was Omega with its elaborate combat system involving choosing wheter
you hit/parry low or high -- so you had to anticipate what your opponent
would do. There is a rather simple game "Dokapon Journey", where you have
a choice of 4 kinds of attack and 4 kinds of defences, and they have different
effects depending on what the opponent have chosen -- so again you have a
kind of rock-paper-scissors game, except that some monsters will prefer some
attacks/defenses over others.

> I've been thinking about having evasion ability just decrease damage
> like armour does, as opposed to the typical to-hit chance mechanic.
> I've always found to-hit chances annoying from a pure gameplay
> perspective, since they either have little impact while I'm holding
> down the right arrow key against some monster, or they give me a never
> ending pile of misses. Plus, hit points have always been abstract,
> and would be expected to include evasion, so handling evasion
> separately only makes hit points look stranger than they already are.
> The problem now though is I can't think of a way for evasion to
> decrease damage that's meaningfully different from armour such that
> choosing between evasion and armour is an interesting choice for a
> player.

Well, in the original D&D, hit points were not supposed to represent health
of the character -- they were a measure of skill and luck in avoiding being
hurt. That's why they increase so rapidly with character's level.

From the player's perspective it doesn't really matter how many different
tests and stats you introduce, when they all are directly dependent from
the same meta-stat (experience) and don't involve any interesting choices.
Instead of thinking about realism or tv-ism, you should instead consider
what kind of choices you want there to be -- how different pieces of armor
and shields should differ, what kind of effects you want your weapons to
have -- and design your system according to that.

--
Radomir Dopieralski, sheep.art.pl

AJM

unread,
Feb 25, 2012, 10:43:56 AM2/25/12
to
On Feb 24, 11:55 pm, narf_the_mouse <lrgmo...@telus.net> wrote:
> Have Evasion reduce damage by a dice roll and have Armour reduce damage
> by a flat amount?

This was my first idea, though I was unsure if anyone would choose to
rely on the randomness of Evasion as opposed to the static
dependability of armour/toughness.

As an aside, when I say armour I'm also including a possible
"toughness" stat for characters that would work like natural armour.
So players would either specialize in evasion to simulate a fast
speedy character, or specialize in toughness to simulate a strong
tough character. Or keep their evasion and toughness roughly equal,
though neither one would get as high in that case.

> As for keeping numbers relevant - How about;
>
> Chain Shirt Lvl10 (25%, +/- 20%)
>
> So, damage reduction is adjusted by the difference in "level" (using
> "level" as a placeholder for $scalingPowerMechanic).
>
> For example, the equation might be (in psuedocode):
>
> if Monster.Level > Armour.Level then Defence += 100% - ((100% -
> Armour.Defence) * (100% - Pow(Armour.LevelDefenceModifier, Monster.Level
> - Armour.Level))
>
> Which gets you a decreasing curve towards 100%. And:
>
> if Monster.Level < Armour.Level then Defence += (Armour.Defence *
> Pow(Armour.LevelDefenceModifier, Monster.Level - Armour.Level))
>
> Where:
>
> Monster is the monster object.
> Monster.Level is the "level" of the monster.
> Armour is the armour object.
> Armour.Level is the "level" of the armour.
> Armour.Defence is the armour's defence %.
> Armour.LevelDefenceModifier is a % increase or decrease modifier per
> difference in levels.
> Defence is your defence % total for that hit.
>
> Generic examples off the top of my head. :)

So, give armour a defence percentage and a generic level, where the
amount of damage the defence percentage reduces is affected by the
difference in level between the armour and the attacking monster?
That might be hard to parse. I still don't quite understand what's
going on in the case of the monster's level being less than the
armour's level. Also, is a Level 10 Chain Shirt with 25% Defence
better or worse than a Level 5 Glass Cuirass with 67% Defence?


On Feb 25, 7:33 am, Radomir Dopieralski <n...@sheep.art.pl> wrote:
> The first thing you need to ask yourself is the purpose of character
> development in your game from the mechanics point of view. With the naive
> approach (both monsters and player character becoming more powerful) there
> is little purpose apart from forcing the player to effectivey use all the
> sources of experience, so that he doesn't fall behind the power of monsters.
> In fact, that forces the player to slow down and explore the levels completely.
> This effect is so strong, that many games had to add a balancing mechnic, like
> hunger (Rogue) or corruption (ADOM) to force the player forward and prevent
> him from getting bored to death.
>
> But you can do better than that.

Ah geez, do I really have to rethink the overall purpose of character
advancement in my games now? ;)

If it makes you feel better, I was thinking of having "heart
containers" instead of abstract experience points. That would also
make stealth and pacifist play styles viable since they're not missing
out on any experience points.

> There was Omega with its elaborate combat system involving choosing wheter
> you hit/parry low or high -- so you had to anticipate what your opponent
> would do. There is a rather simple game "Dokapon Journey", where you have
> a choice of 4 kinds of attack and 4 kinds of defences, and they have different
> effects depending on what the opponent have chosen -- so again you have a
> kind of rock-paper-scissors game, except that some monsters will prefer some
> attacks/defenses over others.

I've been interested in rock-paper-scissors mechanics for attacks and
defences, and have been interested in how I could add skill values to
allow some kind of character customization. Except I have little idea
what a check between 15 Paper Skill and 8 Rock Skill would look like.

> From the player's perspective it doesn't really matter how many different
> tests and stats you introduce, when they all are directly dependent from
> the same meta-stat (experience) and don't involve any interesting choices.
> Instead of thinking about realism or tv-ism, you should instead consider
> what kind of choices you want there to be -- how different pieces of armor
> and shields should differ, what kind of effects you want your weapons to
> have -- and design your system according to that.

I'll admit that attempting to introduce evasion and armour as separate
defences is more of an attempt at introducing role-playing more than
anything else, to allow a difference between people who want to role-
play a fast, speedy character vs. a hulking tank. What I *really*
have right now are abstract "attack" and "defence" ratings.

I'm leery about your suggestion about focusing on the differences
between types of armour and weapons instead of general character stats
because, well, that's more content for me to worry about. :P I mean,
having strong differences between equipment types is nice, and I can
handle things like attack and defence bonuses. But if you're talking
about gameplay changes depending on equipment, well...I've never
finished a game project in my life and I don't need that to be further
aggravated. :S

Radomir Dopieralski

unread,
Feb 25, 2012, 11:11:54 AM2/25/12
to
On 2012-02-25, AJM <aaron.o...@gmail.com> wrote:
> On Feb 25, 7:33 am, Radomir Dopieralski <n...@sheep.art.pl> wrote:
>> The first thing you need to ask yourself is the purpose of character
>> development in your game from the mechanics point of view.
[...]

> Ah geez, do I really have to rethink the overall purpose of character
> advancement in my games now? ;)

If you are just blidnly copying mechanics from other games without
understanding what they do and what they are for, then you are doing
the equivalent of cargo cultists building fake airstrips to attract the
airplanes with resources from gods. Chances are it's not going to work,
or it's going to work by accident in a completely different way than you
think.

>> From the player's perspective it doesn't really matter how many different
>> tests and stats you introduce, when they all are directly dependent from
>> the same meta-stat (experience) and don't involve any interesting choices.
>> Instead of thinking about realism or tv-ism, you should instead consider
>> what kind of choices you want there to be -- how different pieces of armor
>> and shields should differ, what kind of effects you want your weapons to
>> have -- and design your system according to that.
>
> I'll admit that attempting to introduce evasion and armour as separate
> defences is more of an attempt at introducing role-playing more than
> anything else, to allow a difference between people who want to role-
> play a fast, speedy character vs. a hulking tank. What I *really*
> have right now are abstract "attack" and "defence" ratings.

You don't really need anything special in your game to allow role playing.
The people who do that will do that anyways, the people who don't will not,
not matter what you put there. You can encourage roleplaying by having
interesting characters and strong background theme.

> I'm leery about your suggestion about focusing on the differences
> between types of armour and weapons instead of general character stats
> because, well, that's more content for me to worry about. :P I mean,
> having strong differences between equipment types is nice, and I can
> handle things like attack and defence bonuses. But if you're talking
> about gameplay changes depending on equipment, well...I've never
> finished a game project in my life and I don't need that to be further
> aggravated. :S

I'm not telling you to have types of armor with different effects. I just
assumed that you want it, since you were considering evasion. If you want
a single armor type and a single weapon type in your game, that's perfectly
fine -- but then it doesn't really make much sense to have additional
mechanics for different behaviour.

You can always add things later, when you have a better idea about how your
game feels and how you would like it to feel.

--
Radomir Dopieralski, sheep.art.pl

paul-d...@sbcglobal.net

unread,
Feb 25, 2012, 3:00:57 PM2/25/12
to
AJM <aaron.o...@gmail.com> writes:

> These deal with RPG-ish mechanics in general, but I figure they'd be
> relevant to roguelikes such as my own vapourware game.
>
> First, I'm trying to design mechanics with no stat caps to prevent
> players from hitting a wall in character development and to allow
> arbitrary power levels. Except that several mechanics are easier to
> implement when there's some kind of cap. What workarounds are there
> for these?
>
> For example, I was thinking of making armour decrease damage by a
> percentage instead of by a flat value, so that any piece of armour can
> retain some significant use through a game. But how do I derive a
> percentage if there's no maximum armour value?

I don't think you need a maximum. Consider it like the equation for a
line: given any two points, you can write an equation for the line
passing through them. Given the damage decrease for no armor (or the
wimpiest armor, if that makes the math easier) and the decrease for some
other representative pieces of armor, you can work it out easily.

However, you're opening yourself up to a totally unbalanced high-level
game if you do this. How are you going to know if the mechanics implode
above the highest level you've tested? IMO it would be better to pick
some kind of terminus for the level gain, such as ratcheting up the
chances of player death when fighting monsters that appear past a
certain point in the game, so that increasing levels much past the point
needed to win means fighting monsters likelier to kill you than
die. This way you wouldn't be capping levels, but the game wouldn't get
out of control either (unless you're good enough to literally beat the
game at its own game, in which case you deserve to level up that high).

> Second, I'm in the market for interesting mechanics for dodging and
> avoiding hits. I've seen plenty of systems both existent and
> theoretical with fancy rules for what happens when something gets hit,
> with limbs and wound effects and other neat stuff. But when it comes
> to avoiding hits through dodging, ducking, parrying, and blocking
> attacks; which are typically more important in both real life and on
> things like TV; all systems I've seen just use one or more dice
> rolls. Surely there's something better?

Here's something that just popped into my head. Give each combatant a
set of postures it can assume, each of which can leads to other postures
(actively making an attack is considered a posture as well). The goal in
combat would be to lead your opponent into some kind of postural
cul-de-sac from which they couldn't attack you or dodge before you
attack. You'd have to learn your opponent's postural transition graph to
effectively fight them, and you'd become a better fighter by gaining new
postures and transitions. For example, you might start with:

--->Standing----Leaning forward
| | \
| V \
| Stabbing Ducking
| |
| V
---Recovering

And you might entice your opponent to attack by leaning forward, dodge
them by moving back to a normal stance, and while they are recovering
from the miss, stab them. Later you might gain the ability to attack
from a ducked posture, so that instead of luring opponents forward
(which would not work on someone smart), you could hang out in a
standing posture, duck attacks, and strike from there. You'd also learn
to lean back and dodge attacks, and perhaps to counterattack while doing
it.

The way I imagine it, when your opponent is hitting you and it's your
turn, you'd have defense options based on your current posture. If you
had been stabbing, recovery of your balance is your only option and you
are hit. But if you had been standing you could duck (or leaning forward
you could stand).

> I've been thinking about having evasion ability just decrease damage
> like armour does, as opposed to the typical to-hit chance mechanic.

Is there any reason you need both? I'm always in favor of cutting
systems from your mechanics rather than including them because they're
standard. The less energy you spend on implementing standard systems,
the more you can spend on making the most of your other mechanics.

Darren Grey

unread,
Feb 25, 2012, 8:47:58 PM2/25/12
to
On Feb 25, 2:45 am, AJM <aaron.on.use...@gmail.com> wrote:

> Second, I'm in the market for interesting mechanics for dodging and
> avoiding hits.  I've seen plenty of systems both existent and
> theoretical with fancy rules for what happens when something gets hit,
> with limbs and wound effects and other neat stuff.  But when it comes
> to avoiding hits through dodging, ducking, parrying, and blocking
> attacks; which are typically more important in both real life and on
> things like TV; all systems I've seen just use one or more dice
> rolls.  Surely there's something better?

Hell yeah... I think dice rolls are bad in computer games. They're a
hallmark from pen and paper RPGs, where rolling a dice is can be tense
and fun. When the computer does it for you then the random results
just feel arbitrary and unfair.

Dodging can be removed entirely in favour of a pure armour system
(since let's face it, the idea of armour actually helping you dodge is
a bit dumb), but the idea of dodging powerful attacks is rather fun.
If you want to go the way of giving the player actual dodging
abilities at higher experience levels then there are various options.
Some ideas:

- Player dodges the first attack of each round. At higher power
levels can dodge more attacks. Higher level monsters have multiple
attacks to overcome this. The player must choose to invest in armour
to absorb attacks or dodging to avoid them.
- The player has an activated ability that lets it dodge for x
turns. Ability uses up a resource (stamina) or can only be used every
y turns. Potentially abusable if not balanced well... Other
activatable abilities are things like a hack n back attack (hits an
enemy for a small amount of damage and jumps backwards), a disarming
attack, or a simple burst of speed to let you hit and run effectively.
- Player dodges based on movements around the battlefield. Makes the
environment of the game more interesting and makes you think more
about how you use each move.
- Make diagonals always dodge, or some other arrangement based on
positioning. Maybe give different height terrains that increase
dodging whilst decreasing attack.

Something predictable is better I think. Makes the game more like
chess, where planning each move is important.

--
Darren Grey

Thomas Bartscher

unread,
Feb 26, 2012, 8:55:44 AM2/26/12
to
Am Samstag, 25. Februar 2012 03:45:27 UTC+1 schrieb AJM:
> These deal with RPG-ish mechanics in general, but I figure they'd be
> relevant to roguelikes such as my own vapourware game.
>
> First, I'm trying to design mechanics with no stat caps to prevent
> players from hitting a wall in character development and to allow
> arbitrary power levels. Except that several mechanics are easier to
> implement when there's some kind of cap. What workarounds are there
> for these?

Look for asymptotic functions. What I mean is: The function that maps a stat to it's usefulness (however you are going to measure this) should be asymptotic to a desired maximum usefulness and monotonically increasing.
To avoid stat gain becoming meaningless after a certain point, include situations where the change in usefulness is very high around a desired spot and minimal anywhere else - think of an s-curve.

I hope this was useful.

paul-d...@sbcglobal.net

unread,
Feb 26, 2012, 1:56:01 PM2/26/12
to
But isn't that for all intents and purposes a cap?

win

unread,
Feb 26, 2012, 3:55:42 PM2/26/12
to
On Feb 25, 12:00 pm, paul-donne...@sbcglobal.net wrote:
This sounds a lot like what I was thinking of after discovering the
game of warlocks http://games.ravenblack.net/rules/1/gestures.html
It is like a turn based fighting game, where the moves available
depend on the previous moves.

Thomas Bartscher

unread,
Feb 26, 2012, 4:54:36 PM2/26/12
to
Am Sonntag, 26. Februar 2012 19:56:01 UTC+1 schrieb paul-d...@sbcglobal.net:
It only is when done wrong.
It is all about positioning the inflection point of the s-curve that represents your chances of overcoming a certain challenge, depending on skill. The further to the right the inflection point lies, the more difficult the challenge. Of course there are other parameters and you can make this more complex, but the basic idea still applies.
The cap is more in respect to how good your chances are maximally for any given challenge, but not about when you reach that point - for any challenge you master there is an infinite set of challenges you still suck at.
Of course there is still a cap in terms of what challenges you can confront the player with.

paul-d...@sbcglobal.net

unread,
Feb 27, 2012, 11:40:22 AM2/27/12
to
win <ander...@gmail.com> writes:

> This sounds a lot like what I was thinking of after discovering the
> game of warlocks http://games.ravenblack.net/rules/1/gestures.html
> It is like a turn based fighting game, where the moves available
> depend on the previous moves.

That's cool. I'd never heard of it before.

SidD

unread,
Feb 28, 2012, 3:47:08 AM2/28/12
to
What League of Legends does is: final_damage = (original_damage) * 100/
(armor + 100). Basically 30 armor gives you 30% more effective HP.
This way armor value is not limited in any way.

eyenot

unread,
Feb 29, 2012, 11:58:10 AM2/29/12
to
On Feb 24, 9:45 pm, AJM <aaron.on.use...@gmail.com> wrote:
>
> I've been thinking about having evasion ability just decrease damage
> like armour does, as opposed to the typical to-hit chance mechanic.
>

I would work from the ground up like this:

* How well can the player evade? In terms of two categories: they can
evade in the same spot (like Neo dodging a bullet, or turning aside to
avoid being skewered by a thrust), or they can evade by moving to an
adjacent square.

* If they need to move to an adjacent square, is there one available?
Do you make the player lose control of their character in a random
"hop", or do you inform the player that they have a chance to evade by
moving and ask them which direction to move?

* Either standing still or moving, does the evasion work perfectly or
is the player "winged"?

0 new messages