Jogador de equilíbrio x monstros: curvas de nível


32

Eu escrevi um bom número de jogos que têm um "nível" de RPG, onde o jogador ganha experiência por matar monstros / inimigos e, eventualmente, atinge um novo nível, onde suas estatísticas aumentam.

Como você encontra um equilíbrio entre crescimento de jogadores, força de monstros e dificuldade? Os extremos deste espectro são:

  • O jogador sobe de nível muito rápido e afasta monstros sem muito esforço
  • Monstros são incrivelmente fortes e, mesmo em níveis baixos, são muito difíceis de vencer

Eu também tentei uma situação estranha de fazer inimigos em relação aos jogadores, ou seja, um inimigo sempre estará em 50% ou 100% ou 150% das estatísticas do jogador (exigindo que o jogador use outras técnicas em vez de força bruta para ter sucesso).

Mas onde está o equilíbrio e como você o encontra?

Edit: Por exemplo, estou esperando ouvir coisas como:

  • Balanço alto em vez de baixo (200 HP e 20 str são mais fáceis de equilibrar do que 20 HP e 2 str)
  • Veja os monstros mais fáceis e mais difíceis e veja o que você tem em termos de alcance

Esta é uma pergunta muito boa. Seria bom se houvesse algum trabalho teórico por trás dessa questão.
axel22

É exatamente o que eu quero saber. Tenho certeza de que há algum processo sistemático que você pode aplicar para corrigir isso principalmente.
ashes999

Imagine um cenário em que todos os monstros tenham a mesma dificuldade, a mesma força e o jogador não fique mais forte. Isso resolve os problemas que você menciona. Não há um processo sistemático. Realisticamente, para manter uma curva e impedir que monstros incrivelmente difíceis usem o bom senso, habilidades básicas de matemática e testes de jogo.
CiscoIPPhone

Isso é o que eu já faço. E tenho certeza de que alguém encontrou uma abordagem melhor.
precisa

3
Eu acho que pode não haver uma resposta geral para essa pergunta, mas apenas devido ao fato de que um embasamento teórico deve ser baseado em uma pergunta muito específica. Um trabalho teórico poderia definir uma métrica de dificuldade e introduzir definições formais sobre as regras do jogo. Com base nisso, pode provar que, para uma determinada dificuldade, você precisa fazer isso e aquilo. Para dar um exemplo: Uma das respostas abaixo menciona Kingdom of Loathing, que possui fórmulas muito específicas sobre como os monstros progridem - essas fórmulas se aplicam a esse jogo em particular com seu próprio conjunto de regras.
axel22

Respostas:


30

Playtest. No, really, just playtest your balance until you get it right, or rather mostly right (there's no such thing as perfect balance).

Write automated tests and run them hundreds of times. Even very simple automated tests, like "level 2 player always hits with shortsword, goblin always hits with club, player should win" can really help, if you run these tests often (generally, whenever you change anything). Also, test balance by playing. Whenever you find some new potentially balance-changing tactic, write an automated test for it.


4
Writing automated tests to test that the game is balanced is brilliant. Cheers.
ashes999

23

One problem with making enemies strength relative to players is that it can make the player feel like they aren't making progress. "What's the point of getting stronger if all the monsters also get stronger at the same rate?"

I tend to prefer that enemies have static strength instead of being relative to the player for the following reasons:

  • Players will notice the effect of getting stronger (and believe they have progressed).
  • Players will be defeated by strong monsters, and this will give them something to aspire to and achieve.

Of course there are negatives also:

  • Areas containing weak monsters can become redundant
  • Some players may find that the time they need to invest to beat a particular monster is too long

Player levels up really fast and blows away monsters without much effort

You can prevent this by decreasing the exp received from a monster the higher the players level is over the monsters level - in essence removing the motivation that player has to fight easily blown away monsters.

Monsters are incredibly strong and even at low levels, are very difficult to beat

This should never happen due to play-testing.

See also: How to implement an experience system?


You could always have a few enemies that level up as the player does, just to make a few things challenging. Alternatively, you could have enemies like the ones in Shadow of Mordor that level up off of each other off-screen.
Silent137

6

To a certain extent, you can use math to manage this process. This is the approach Wizards of the Coast used with D&D 3.x and 4. Figure out how many battles you want between levels, and base how much XP battles give you based on that. Do you want it to be easy to level by fighting lower-level monsters? Then choose a flatter XP curve to make that a feasible strategy. On the other hand, you can discourage grinding by making lower-level monsters give much less XP than the player needs to level.

If you've got random encounters, make sure to take into account the average frequency of battles. You don't want to force players to grind for hours to progress the main storyline. Conversely, if your encounters are all manually placed, make sure there are enough of them to level the PC(s) appropriately.

I second the dislike of auto-leveling monsters to match the player level. You want to give the player a feeling of progress, which means they should always be able to see monsters too powerful for them and monsters too low-level to be challenging. As an aside, try and make it so that higher-level monsters have something special and advanced about them that goes beyond sheer statistical advantage. There's no difference between fighting a plain 100hp monster and a plain 1000hp monster if your attacks at the time do 10 damage and 100 damage respectively.


+1 Let the outcome determine the numbers, not the other way around.
corsiKa

4

Experience curve balance is a game design choice. Only you know the way you want your combat system to work, the amount of time you want someone to spend on one level, the number of combats you expect a player to take between levels, the proportion of battles a player is expected to win, the magnitude of the numbers you want to display to a player, whether you want the experience-per-level to go up each time or not, whether any or all of these factors should change over the course of play (and in which direction), etc. Choose the experience you want, then do the mathematics to work out how to get that.


3

Group monster difficulty by region. Allow the player to select the region.

E.g.: Level 10-12 monsters go in zone A, level 12-15 monsters go in zone B, level 15-18 monsters go in zone C. The player is level 11. Lock zone C away from the player. If the player tries zone B and it is too difficult, allow the player to leave zone B and try zone A instead.

Player strength and player skill both affect how difficult the monsters are for the player to kill. By allowing the player to implicitly choose which monsters to fight, you take both into account.

If your game is linear (the player cannot choose a path or physical region), then spawn weaker monsters up to some lower bound if the player is killing the monsters more slowly than you expect.


That sounds very much a strategy for static maps. What if my game is 90%+ procedural, like a rogue-like?
ashes999

1
Then do as I suggested for linear games. Hand the player more a couple more difficult monsters, if he doesn't perform well, then reduce the monster level, until some lower bound. The player will still have a sense of progression, because the worst players will still always hit the lower bound of monster level spawning.
Olhovsky

2

Difficulty is perceived as a combination of time, risk, and meaningful choice. RPGs usually start off with small encounters that are very quick, have little risk, and little meaningful choice. This continues while the player is learning the game and the character they are playing. As new abilities are introduced, more meaningful choice is introduced. Do you use poison at the start of the fight or just go for direct attack. Along with this comes longer fights and more risk. If a player can kill a creature in 2 basic attacks or 2 special attacks, there isn't much choice. You need more granularity to have more meaningful choices.

To get to this sort of growth, you need to control the length of encounters. In large scale development, this is done with formulas, which are much later fine tuned after extensive play-testing.

Formulas are written only after requirements are established, and are generally used as a baseline for fights. You can create variations of the baseline after you have established the baseline.

Answer some basic questions such as

  • What are the level ranges you are dealing with
  • How long should a fight last (seconds for an action game, rounds for turn based)
  • What comparative range of enemy levels should be considered a normal encounter
  • Should this balance change at higher levels?

Lets take a simple example using only damage and health, with a level cap of 20. The base enemy has 10+5/level health and the average damage per round of the player is 8+2/level. You can put those equations into Excel and you come out with something like this:

 LVL    HP  DMG TTK
    1   15  8   1.9
    2   20  9   2.2
    3   25  10  2.5
    4   30  11  2.7
    5   35  12  2.9
    6   40  13  3.1
    7   45  14  3.2
    8   50  15  3.3
    9   55  16  3.4
    10  60  17  3.5
    11  65  18  3.6
    12  70  19  3.7
    13  75  20  3.8
    14  80  21  3.8
    15  85  22  3.9
    16  90  23  3.9
    17  95  24  4.0
    18  100 25  4.0
    19  105 26  4.0
    20  110 27  4.1

If you want to increase the time to kill (TTK) for later levels, you could either increase enemy health scaling or decrease player damage scaling.

Of course this is only one dimension of the combat. You would have to create another set of formulas for player health and enemy damage. The TTK for the creature vs the player should be higher (it should take longer for a creature to kill the player than visa versa), but the closer you get to 20, the closer the numbers should get, for increasing difficulty.

Add in avoidance and mitigation requires you to combine the damage formulas with the mitigation % or miss chance to determine the actual average expected damage. The damage values above would be the target numbers for each level that you try to balance around.

Once you have squared away your baseline creature, then you can create variations, such as glass cannons that do high damage but have lower health. If you put in the work at the start to build a good baseline enemy for all level ranges, then creating new enemies that are near balanced is actually fairly simple.


1

The absolute best balance is to combine the two standard methods used in most games for determining monster strength. That is essentially a level range is selected for perhaps a region, or a monster type, and then the system attempts to auto balance using the relative strength of the player.

The benefit to this is that it allows you or your designers in the future to retain some form of control over where the player should find the best rewards for the difficulty put in, while still not being as easily gamed by simple grinding, though obviously it should be mentioned that setting the possible level ranges should be refined through playtesting to find an appropriate range.

The only other thing that is very important when using a system like this, that generates monster difficulty on the fly, is that you save those difficulty settings once they are generated. This is very important, or otherwise you end up with a situation like Bethesda ran into with Oblivion. That game used an almost entirely systematic approach to monster difficulty, and as a result a number of players expressed concerns that they did not feel like they were leveling up at all, since every time they visited a new area (or even returned to an old area previously explored in which they knew how difficult the monsters were when they were there the first time) they found that the encounters were of very similar if not identical difficulty.

Finally the last thing to remember, there is no "best balance". If you want to make your game incredibly difficult, then feel free to increase the average monster strength, if you want it to be easier smooth out the player leveling curve. The exact balance of your games difficulty is not nearly as important as it's consistency, nothing is more frustrating than a game with a difficulty curve that flies all over the landscape.


Can you give me a numerical example of the range + auto-balance?
ashes999

1

Your percentage idea looks great to me, let your player choose if 40% or 180%. This way more people will like your game, casual player and pro, everyone will find his 'ideal' difficulty.
Of course, score, bonuses and other difficulty related values should be based on this percentage.


I think you misunderstood. Individual monsters have their own difficulties. Eg. an Uber Dragon would have a difficulty of 180%, while a Small Slime would have 10%.
ashes999

@ashes999: oh.. sorry then :)
BlackBear

No worries. I upvoted because I still like your idea.
ashes999

0

My game balance is as follows:

I reduce points to simple offensive/defensive points (instead of a slew of attributes - STR, INT, DEX, etc... that only cause game devs headaches trying to balance throughout the game experience -- not everything has to be D&D peeps!) and add a Proficiency Modifier that increases proficiency (per character level) of the offensive "weapon" / defensive "shield" that the player chooses to mostly use based on the personality of the character they wish to play (keeping ROLE-PLAYING king, keeping game balance intact).

This means that no matter what weapons/armor a PC wishes to use at the start of their new level, they ALL have the same effect, averaging out damage per turn (therefore the choice is simply a role-playing aesthetic), until you actually use one more often than the other.

However, the more damage done by a certain weapon choice, or the more defense done by a certain defensive, will receive behind the scenes Proficiency Points that increase their favorite weapon/defense's proficiency during that character level.

At each level, the character can choose to abandon their particular off/def strategy, or keep it in tact. This is, again, a role-playing choice, with NO advantage/disadvantage upon arriving at the new level until the player decides to use one tactic (OFF vs. DEF) over another, at which point they will accumulate (behind the scenes) Proficiency Points for using their favorite weapon/defense.

The caveat here is that once you level up, your now under-levelled weapons and defense still hit as hard/protect as much as your level demands, but they also become less effective (until they don't work at all -- weapons/shields break, magic loses it's off/def oomph), on an exponentially descending scale, forcing the player to reevaluate it's use of under-levelled weapons/defense tactics, over upgrading their favs to the current level (for a price, of course), or finding weapons they would rather have that's copacetic with their current level.

This allows for players to upgrade their favorite weapons/defensive measures (for a price) to their current level or journey (quest or explore) to find better weapons that suit their current level (once again, keeping the game balance intact).

The overriding point is, Role-Playing should not be forced into classes, My toga wearing, staff-wielding monk should be able to do as much damage per level as a steel-armoring wearing, sword-slashing tank. (this whole idea, btw is relegated to a single player CRPG so that comparisons between what IS and what COULD BE is eliminated). You simply play AS YOU WISH TO PLAY, and no harm is done by choosing a "class" over another "class" based on a bevy of stats.

It all falls apart, I think, when playing pen-and-paper. :)


This certainly sounds like it could provide very predictable balance, and the complete expense of realistic cause & effect.
Dronz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.