Recent from talks
Contribute something to knowledge base
Content stats: 0 posts, 0 articles, 0 media, 0 notes
Members stats: 0 subscribers, 0 contributors, 0 moderators, 0 supporters
Subscribers
Supporters
Contributors
Moderators
Hub AI
Dynamic game difficulty balancing AI simulator
(@Dynamic game difficulty balancing_simulator)
Hub AI
Dynamic game difficulty balancing AI simulator
(@Dynamic game difficulty balancing_simulator)
Dynamic game difficulty balancing
Dynamic game difficulty balancing (DGDB), also known as dynamic difficulty adjustment (DDA), adaptive difficulty, or dynamic game balancing (DGB), is the process of automatically adjusting parameters, scenarios, and behaviors in a video game in real-time based on the player's ability. Its purpose is to prevent the player from becoming bored if the game is too easy or frustrated if it is too difficult. The aim of dynamic difficulty balancing is to maintain the player's interest throughout the game by providing an appropriate level of challenge.
Some elements of a game that might be changed via dynamic difficulty balancing include:
[A]s players work with a game, their scores should reflect steady improvement. Beginners should be able to make some progress, intermediate people should get intermediate scores, and experienced players should get high scores ... Ideally, the progression is automatic; players start at the beginner's level and the advanced features are brought in as the computer recognizes proficient play.
— Chris Crawford, 1982
Different approaches are found in the literature to address dynamic game difficulty balancing. In all cases, it is necessary to measure, implicitly or explicitly, the difficulty the user is facing at a given moment. This measure can be performed by a heuristic function, which some authors call "challenge function". This function maps a given game state to a value that specifies how easy or difficult the game feels to the user at a specific moment. Examples of heuristics used are:
... or any metric used to calculate a game's score. Chris Crawford said, "If I were to make a graph of a typical player's score as a function of time spent within the game, that graph should show a curve sloping smoothly and steadily upward. I describe such a game as having a positive monotonic curve". Games without such a curve seem "either too hard or too easy", he said.
Hunicke and Chapman's approach controls the game environment settings to make challenges easier or harder. For example, if the game is too hard, the player gets more weapons, recovers life points faster, or faces fewer opponents. Although this approach may be effective, its application can cause implausible situations. A straightforward approach is to combine such "parameter manipulation" with some mechanisms to modify the behavior of the non-player characters (characters controlled by the computer and usually modeled as intelligent agents). This adjustment, however, should be made with moderation to avoid the 'rubber band' effect. One example of this effect in a racing game would involve the AI driver's vehicles becoming significantly faster when behind the player's vehicle, and significantly slower while in front, as if a large rubber band connected the two vehicles.
A traditional implementation of such an agent's intelligence is to use behavior rules defined during game development. A typical rule in a fighting game would state "punch opponent if he is reachable, chase him otherwise". Extending such an approach to include opponent modeling can be made through Spronck et al.′s dynamic scripting, which assigns to each rule a probability of being picked. Rule weights can be dynamically updated throughout the game according to the opponent's skills, leading to adaptation to the specific user. With a simple mechanism, rules can be picked that generate tactics that are neither too strong nor too weak for the current player.
Dynamic game difficulty balancing
Dynamic game difficulty balancing (DGDB), also known as dynamic difficulty adjustment (DDA), adaptive difficulty, or dynamic game balancing (DGB), is the process of automatically adjusting parameters, scenarios, and behaviors in a video game in real-time based on the player's ability. Its purpose is to prevent the player from becoming bored if the game is too easy or frustrated if it is too difficult. The aim of dynamic difficulty balancing is to maintain the player's interest throughout the game by providing an appropriate level of challenge.
Some elements of a game that might be changed via dynamic difficulty balancing include:
[A]s players work with a game, their scores should reflect steady improvement. Beginners should be able to make some progress, intermediate people should get intermediate scores, and experienced players should get high scores ... Ideally, the progression is automatic; players start at the beginner's level and the advanced features are brought in as the computer recognizes proficient play.
— Chris Crawford, 1982
Different approaches are found in the literature to address dynamic game difficulty balancing. In all cases, it is necessary to measure, implicitly or explicitly, the difficulty the user is facing at a given moment. This measure can be performed by a heuristic function, which some authors call "challenge function". This function maps a given game state to a value that specifies how easy or difficult the game feels to the user at a specific moment. Examples of heuristics used are:
... or any metric used to calculate a game's score. Chris Crawford said, "If I were to make a graph of a typical player's score as a function of time spent within the game, that graph should show a curve sloping smoothly and steadily upward. I describe such a game as having a positive monotonic curve". Games without such a curve seem "either too hard or too easy", he said.
Hunicke and Chapman's approach controls the game environment settings to make challenges easier or harder. For example, if the game is too hard, the player gets more weapons, recovers life points faster, or faces fewer opponents. Although this approach may be effective, its application can cause implausible situations. A straightforward approach is to combine such "parameter manipulation" with some mechanisms to modify the behavior of the non-player characters (characters controlled by the computer and usually modeled as intelligent agents). This adjustment, however, should be made with moderation to avoid the 'rubber band' effect. One example of this effect in a racing game would involve the AI driver's vehicles becoming significantly faster when behind the player's vehicle, and significantly slower while in front, as if a large rubber band connected the two vehicles.
A traditional implementation of such an agent's intelligence is to use behavior rules defined during game development. A typical rule in a fighting game would state "punch opponent if he is reachable, chase him otherwise". Extending such an approach to include opponent modeling can be made through Spronck et al.′s dynamic scripting, which assigns to each rule a probability of being picked. Rule weights can be dynamically updated throughout the game according to the opponent's skills, leading to adaptation to the specific user. With a simple mechanism, rules can be picked that generate tactics that are neither too strong nor too weak for the current player.
