Balancing in a procedural RPG
Id just like to add a side note that if you allow the player to run away from hard battles with the expectation that they will need to do this, then any experience system you use should be based on progress during the fight, not the actual killing blow. Players aren't going to like using up resources to recover from a bad fight when they didn't even "progress" their character any.
Quote:Original post by JasRonq
Id just like to add a side note that if you allow the player to run away from hard battles with the expectation that they will need to do this, then any experience system you use should be based on progress during the fight, not the actual killing blow. Players aren't going to like using up resources to recover from a bad fight when they didn't even "progress" their character any.
True, basing experience on 'combat encounters' would be a better option. The goal should be to defeat the encounter, not necessarily killing everyone.
Have the option of the system generating encounters where the main goal can be getting an item out of a vault in a building. If you get the contents of the vault out of the building and get away safely, then your character has completed the 'encounter', and therefore has earned all the experience generated by the encounter. Killing each and every guard might get you a little more, but the important thing was defeating the security of the encounter, not the guards themselves. Treat traps and hazards the same as an enemy unit when deciding how valuable the loot and experience is.
Some encounters can have a 'main goal', get the loot/kill the 'boss', and then a secondary goal, get away with your skin intact. This way you can almost always accomplish the secondary goal by running away like a little girl at the first contact, and getting a little boost from it to help advance your character so you can come back later and complete the main quest.
The Pen and Paper D&D 4th edition has formalised a system for non combat encounters called "Skill Challenges".
As I run many of these games, I have used skill challenges combined with combat challenges to create a method that allows players to overcome encounters by using skill challenges. I work it so that the XP of the skill challenges matches that of the combat challenge.
One of the tricks I use to make it interesting is that not all of these are a straight choice between a combat or skill chanllenge. What I do is have the skill challenges reduce (or even sometimes increase) the number of monsters that are fought in the combat challenge. This way a party that is more geared to skills than combat can influence the battle that they end up facing.
In a procedual generation system for a game, you can use components, like a lego set, to build your encounters. Some of these components will be combat, and some will be skill challenges. You can then have multiple paths through the encounter depending on whether the player choose to do something, failing a part of it (failing a combat could be running away - not just getting killed) or even just random selection. It means that each time the player has a significant role to play in the encounter and that the encounter is more repeatable.
An example would be
1) Goblin Guard
If the players can speak goblin, then go to 2, else go to 3
2) Skill challenge: Negotiaton
IF the players succeed at a skill challenge of convincing the goblins that they are friendly, go to 4, else go to 3, or if the players leave go to 6
3) Combat
The Goblins attack. If the players win, go to 4 else go to 5
4) The goblin guard is killed or lets the players through
Go to next encounter (Maximum XP)
5) Retreat 1
The player's are forced to retreat and the goblins are much harder to convince that the player are friendly in part 2. Start at step 1 next time the players encounter the goblins (Moderate XP)
6) Retreat 2
The players willingly retreat without violence. Start at step 1 next time the players encounter the goblins (Minimum XP)
As I run many of these games, I have used skill challenges combined with combat challenges to create a method that allows players to overcome encounters by using skill challenges. I work it so that the XP of the skill challenges matches that of the combat challenge.
One of the tricks I use to make it interesting is that not all of these are a straight choice between a combat or skill chanllenge. What I do is have the skill challenges reduce (or even sometimes increase) the number of monsters that are fought in the combat challenge. This way a party that is more geared to skills than combat can influence the battle that they end up facing.
In a procedual generation system for a game, you can use components, like a lego set, to build your encounters. Some of these components will be combat, and some will be skill challenges. You can then have multiple paths through the encounter depending on whether the player choose to do something, failing a part of it (failing a combat could be running away - not just getting killed) or even just random selection. It means that each time the player has a significant role to play in the encounter and that the encounter is more repeatable.
An example would be
1) Goblin Guard
If the players can speak goblin, then go to 2, else go to 3
2) Skill challenge: Negotiaton
IF the players succeed at a skill challenge of convincing the goblins that they are friendly, go to 4, else go to 3, or if the players leave go to 6
3) Combat
The Goblins attack. If the players win, go to 4 else go to 5
4) The goblin guard is killed or lets the players through
Go to next encounter (Maximum XP)
5) Retreat 1
The player's are forced to retreat and the goblins are much harder to convince that the player are friendly in part 2. Start at step 1 next time the players encounter the goblins (Moderate XP)
6) Retreat 2
The players willingly retreat without violence. Start at step 1 next time the players encounter the goblins (Minimum XP)
@Edtharan
Your dynamic simulation approach sounds quite interesting, but it focused more on creature distribution and creature vs creature combat. I'm looking for a more player vs creature centric approach.
@kseh
Hmm... this one is really an interesting approach. I could define some "common" player skill builds and the combat simulation would rate the creature vs. skill build. I could even restrict the selection of skill builds on known parameters (class,race,level). I really like this idea.
@Talroth
I've already implemented such a system. The player and creature are able to "buy" passive/active spells. It is similar to a level sytem. When balancing the skills (which could be difficult), you could atleast have a rough estimation of a creature power. Still some skill cocktail could be quite difficult to overcome.
@Kylotan
I dont really agree with your thesis. The prediction of the outcome of a battle with very significant degree of accurracy might hold true if you regard a simple combat situation (melee and dps only), but once you introduce a range of special abilities/spells , you can't really predict it, can you ?
Think about a simple healing spell, there're encounters which changes from really easy to pure nightmare if the creature is able to heal itself or allies. What about drain, damage reflections, evasion, armor, shield,buffs,dots,aoe effects which can be used in an unpredictable order. Most designed games got huge problem with balancing this kind of special abilities.
I don't target a high accuracy of prediction, on the other hand I don't believe that there's a deterministic approach to solve even this goal.
Thought, the conclusion could be to simplify my skill/combat system.
I'm not convinced that your sugguestion works, the escape approach fits better in my time budget :-)
@Edtharan
I already thought about an similar approach. When you could ensure that a creature is not a one-hit killer and somewhat weaker than the player, then you could adjust the difficulty by the number of monsters. The AI director of L4D is a nice example of how to adjust difficulty and stress by timing attacks. A single not special zombie is a simple target, but 30 zombies running at you with one special infected in the mix is quite a challange.
Your dynamic simulation approach sounds quite interesting, but it focused more on creature distribution and creature vs creature combat. I'm looking for a more player vs creature centric approach.
@kseh
Quote:
Then find out. During world generation, simulate a few battles with the creature against opponents of known stregth, abilities, and resources. It doesn't have to account for strategies that a player might come up with, it just has to give you some sort of benchmark to work out approximate dangerousness. If it's wrong say 5 or 10% of the time (or whatever), so much the better for throwing something unexpected at the player. Also maybe those simulated battles can be worked in as game content somehow.
Hmm... this one is really an interesting approach. I could define some "common" player skill builds and the combat simulation would rate the creature vs. skill build. I could even restrict the selection of skill builds on known parameters (class,race,level). I really like this idea.
@Talroth
I've already implemented such a system. The player and creature are able to "buy" passive/active spells. It is similar to a level sytem. When balancing the skills (which could be difficult), you could atleast have a rough estimation of a creature power. Still some skill cocktail could be quite difficult to overcome.
@Kylotan
Quote:
Of course you can. You have all the player's data, you have all the creature's data, and you know exactly how your combat system works because you wrote it.
If you can't predict an encounter's resolution with a very significant degree of accuracy from this information, then you don't yet understand your game mechanics well enough.
I dont really agree with your thesis. The prediction of the outcome of a battle with very significant degree of accurracy might hold true if you regard a simple combat situation (melee and dps only), but once you introduce a range of special abilities/spells , you can't really predict it, can you ?
Think about a simple healing spell, there're encounters which changes from really easy to pure nightmare if the creature is able to heal itself or allies. What about drain, damage reflections, evasion, armor, shield,buffs,dots,aoe effects which can be used in an unpredictable order. Most designed games got huge problem with balancing this kind of special abilities.
I don't target a high accuracy of prediction, on the other hand I don't believe that there's a deterministic approach to solve even this goal.
Thought, the conclusion could be to simplify my skill/combat system.
Quote:
But... assuming you don't want to do this, I'd just say the best approach is to ensure that a player can escape a dangerous situation. I think players are happy to hit encounters that they can't win, as long as they can run away, train up, and go back later to finish the job.
I'm not convinced that your sugguestion works, the escape approach fits better in my time budget :-)
@Edtharan
Quote:
What I do is have the skill challenges reduce (or even sometimes increase) the number of monsters that are fought in the combat challenge. This way a party that is more geared to skills than combat can influence the battle that they end up facing.
I already thought about an similar approach. When you could ensure that a creature is not a one-hit killer and somewhat weaker than the player, then you could adjust the difficulty by the number of monsters. The AI director of L4D is a nice example of how to adjust difficulty and stress by timing attacks. A single not special zombie is a simple target, but 30 zombies running at you with one special infected in the mix is quite a challange.
Quote:Original post by Ashaman73
@Edtharan
Your dynamic simulation approach sounds quite interesting, but it focused more on creature distribution and creature vs creature combat. I'm looking for a more player vs creature centric approach.
Yes, the idea is to allow creatures to develop an order that reflects their power levels. More powerful monsters will move towards the areas you have designated as desierable. If you designate areas near where low level players are as less desierable and locations where high level players are going to be as more desierable, then monsters will gravitate to these areas and players will experience this distribution.
However, it also allows monsters to be seeded randomly and then they will self organis into the desired arrangement.
The idea is to create a world that is in some way more believable because there is an apperance of monster ecology occuring. As humans are really good at pattern recognition, then players will quickly notice the patter the monster arrange themselves into and utilise this as they explor. Often in a pre-set system, the placemnt of monster is asthetic rather than functional. As asthetic patterns are much harder to determine than functional ones, players will have more difficulty in identifying these patterns.
If, however, a placemtn system that is more reliant on randomness is used, then this system will lack any strong patterns and players will probably not notice any and the world will feel arbitary, and this will degrade the sense of believability of the game world.
Quote:Original post by EdtharanQuote:Original post by Ashaman73
@Edtharan
Your dynamic simulation approach sounds quite interesting, but it focused more on creature distribution and creature vs creature combat. I'm looking for a more player vs creature centric approach.
Yes, the idea is to allow creatures to develop an order that reflects their power levels. More powerful monsters will move towards the areas you have designated as desierable. If you designate areas near where low level players are as less desierable and locations where high level players are going to be as more desierable, then monsters will gravitate to these areas and players will experience this distribution.
However, it also allows monsters to be seeded randomly and then they will self organis into the desired arrangement.
The idea is to create a world that is in some way more believable because there is an apperance of monster ecology occuring. As humans are really good at pattern recognition, then players will quickly notice the patter the monster arrange themselves into and utilise this as they explor. Often in a pre-set system, the placemnt of monster is asthetic rather than functional. As asthetic patterns are much harder to determine than functional ones, players will have more difficulty in identifying these patterns.
If, however, a placemtn system that is more reliant on randomness is used, then this system will lack any strong patterns and players will probably not notice any and the world will feel arbitary, and this will degrade the sense of believability of the game world.
It is not really what I were looking for, but it is just too interesting to be ignored :-)
I already have a dungeon (=my world) generator which populates my dungoen with mobs/decoration etc. I could generate a history over X time steps. At each time step each population can move, battle others, expand, die, search for certain goals or be attracted by certian loctaions. I think that this will lead to a more believable dungeon setup, the player will find remains from battles, ruins of previous population etc. (I think that dwarf fortress works in a similar way).
Quote:Original post by Ashaman73
@KylotanQuote:
Of course you can. You have all the player's data, you have all the creature's data, and you know exactly how your combat system works because you wrote it.
If you can't predict an encounter's resolution with a very significant degree of accuracy from this information, then you don't yet understand your game mechanics well enough.
I dont really agree with your thesis. The prediction of the outcome of a battle with very significant degree of accurracy might hold true if you regard a simple combat situation (melee and dps only), but once you introduce a range of special abilities/spells , you can't really predict it, can you ?
Think about a simple healing spell, there're encounters which changes from really easy to pure nightmare if the creature is able to heal itself or allies. What about drain, damage reflections, evasion, armor, shield,buffs,dots,aoe effects which can be used in an unpredictable order.
But you know what all of these do, and you know when they can be used. It might be tricky to consider all the permutations, but it's not impossible. People write chess programs that can beat almost any human, when there are something like 20 possible moves at each step. In most RPGs there aren't as many as 20 choices you can make, and some of them can be ignored anyway. (eg. If you have 2 similar spells but 1 is weaker than the other, you don't need to consider that one.)
Even if you feel your system is too complex to completely predict, you should still be able to make a good enough estimate to pitch the encounter at roughly the right level.
Well, I'd probably need a procedurally generate-able script engine. I don't think I could make an AI to code up believable scripts on its own, so I'd probably have a library of individualized "traits". These would be scripts that do things like have the entity walk to a destination, have the entity attack the player, have the entity feed any nearby dogs, etc... Then the engine could patch together a group of traits to create randomized entities. I'd also need to include stats and an inventory for entities where such things were relevant (guys you could fight, pretty much). From there, (assuming a map the player can explore), I'd need to define what difficulty of enemies would reside at which locations. For this I'd probably use some perlin noise. Then, I'd plot a set-length course that ran from the easy areas to the hard areas progressively, such that the plot of the game could be run through a randomized map at the same pace each time.
From there, I'd randomize the script that acts as a manager to the scripts that act as the cities on the map, which in turn act as managers to the districts and then inhabitant scripts. This overarching manager script would essentially act as a God to the player, and a different one each time. Sometimes it would directly intervene (if the randomized script was an extremely evil one, for example, and the player was being extremely good, the God script might have certain cities treat the player suspiciously, searching his inventory on entry and locking him out at night).
From there I would insert a random number of specialized scripts into the game. These would still be randomized scripts, but they would get processing time outside of the time when they are immediately relevant to the player. This would allow them to act as more prominent NPCs or Boss-Enemies within the game world.
But right now, I need to get some sleep.
From there, I'd randomize the script that acts as a manager to the scripts that act as the cities on the map, which in turn act as managers to the districts and then inhabitant scripts. This overarching manager script would essentially act as a God to the player, and a different one each time. Sometimes it would directly intervene (if the randomized script was an extremely evil one, for example, and the player was being extremely good, the God script might have certain cities treat the player suspiciously, searching his inventory on entry and locking him out at night).
From there I would insert a random number of specialized scripts into the game. These would still be randomized scripts, but they would get processing time outside of the time when they are immediately relevant to the player. This would allow them to act as more prominent NPCs or Boss-Enemies within the game world.
But right now, I need to get some sleep.
Re: Ashaman73
Is your game single-player?
Is the world persistent?
Since you mentioned that your map is a dungeon,
can a player walk pass a creature that they can't defeat?
Is your game single-player?
Is the world persistent?
Since you mentioned that your map is a dungeon,
can a player walk pass a creature that they can't defeat?
Quote:Original post by Wai
Is your game single-player?
Single-player.
Quote:Original post by Wai
Is the world persistent?
Standard load/save persistency.
Quote:Original post by Wai
Since you mentioned that your map is a dungeon,
can a player walk pass a creature that they can't defeat?
Yes, most likely if not blocked by other creatures. (But it is somewhat more complicated. You build your own dungeon with your own creatures which can help you to some degree. On the other hand a powerful hostile monster can rip through your dungeon and minions delivering a fatal strike to your dungeon economy).
I don't know, maybe a game does not need to be balanced on per creature encounter ? (somewhat refering to the topic Why must games be fair?)
My current assumption is,that you can't really predict the power of a creature, you can only tell if it is much stronger or much weaker than the player. With this assumption my current approach is to try to make each creature atleast weaker than the player and try to controll the challenge dynamically by adjusting the number of creatures a player will encounter (=> similar to the AI director of L4D). Each spawn point (=nest) of a creature can produce unlimited number of creatures, whereas each nest can produce three different classes of a single creature type (grunt<veteran<elite). I track the 'stresslevel' (=>L4D) of the player to adjust the number and class of a spawn. You see, the game is not really about scripted events, the encounters are more or less procedurally generated (=>diablo I).
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement