SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
@swagentrotz 
Blazing Badger
@swagentrotz 
Blazing Badger 
Who is talking? 
Sascha Wagentrotz 
CEO, Co-Founder and Game Designer 
Blazing Badger GmbH 
Founded in April 2014 
Based in Frankfurt, Germany
@swagentrotz 
Blazing Badger 
Softography
Keep your game in the fun zone 
Designing an AI Director
@swagentrotz 
Blazing Badger 
Why would your game not be fun? 
The challenge structure is unstable. 
The challenge parts don’t combine the way they are supposed to.
@swagentrotz 
Blazing Badger 
Specific Problems 
Spawn camping 
Getting one-shot 
Button-mashing to victory 
Out of ammo/Stuck on low health 
Farmed up to invincibility 
Difficulty affects enemy damage/health only
@swagentrotz 
Blazing Badger 
Why does this happen? 
Challenge flow is static 
Spawn timings are pre-determinedin most cases 
Enemy distribution is pre-defined 
Each enemy is allowed to make its own decisions 
Enemies don’t take the actions of other enemies into account
@swagentrotz 
Blazing Badger 
Solution: AI / Combat Director 
DOES: 
Controls all elements of the challenge with perfect knowledge 
Enforces specificdynamic 
Adjusts on the fly within seconds 
Offers many parameters to affect difficulty 
DOES NOT: 
Make the game easier if you play badly!(if done right)
@swagentrotz 
Blazing Badger 
WTF is an AI Director? 
Superordinate Entity that takes control of the “big picture” of your game and features a dynamicsystem for game dramatics, pacing and difficulty. 
Has been around for decades in simple forms 
Was adapted for more genres over the last years
@swagentrotz 
Blazing Badger 
Process: MDA Framework 
Mechanics DynamicsAesthetics 
The experience (Aesthetics) that arises, when the player interacts (Dynamics) with the game rules (Mechanics). 
Therefore: 
What Dynamicsdo we want to see? 
What Mechanicsdo we employ to facilitate them?
@swagentrotz 
Blazing Badger 
DYNAMICS 
What we want: 
Smooth challenge flow 
Mixof initiative and reaction 
Some degree of forgiveness 
Achieved with: 
Spawn Rate 
Attack Behavior 
Recovery Rate
@swagentrotz 
Blazing Badger 
STRUCTURE 
Intention 
Definition of the goal 
Dynamic 
What happens 
Mechanic 
How to get there 
Parameters 
Our “balancing knobs”
@swagentrotz 
Blazing Badger 
Spawn Rate -Intentions 
Good players are unable to ever beat the spawn counter (spawn camping) 
May even need to put heavy pressure onto enemy numbers to survive incoming damage on higher modes at all 
Bad players can never be swamped more than as intended by a tightly designed worst case
@swagentrotz 
Blazing Badger 
Spawn Rate -Dynamic 
Spawn rate depends on number of enemies present, desired maximum numberand time to max number 
The lessenemies present, the fasterthey spawn 
Enemy Amount 
Time 
Enemy amount over time 
Most fights will happen here
@swagentrotz 
Blazing Badger 
Spawn Rate -Mechanic 
The n-thenemy spawns after F(n) secondsafter encounter start 
F(n)=((n/MaxAmount)^Exp)*MaxTime 
The n-thenemy spawns once a certain amount time has elapsed since spawning the previous one: 
SpawnTimer=F(n)-F(n-1) 
Restart the counter every time an enemy spawns 
Time 
Enemy # 
Time elapsed when nth enemy spawns 
t until next enemy
@swagentrotz 
Blazing Badger 
Spawn Rate -Parameters 
MaxAmount, MaxTimeand Exponent 
Depend on enemy strength and encounter intensity 
Manage multiple pools for different challenge categories 
Larger desired max number of small enemies 
Lower desired max number of strong ones 
Lower time to max for “deal with it” like spawn behaviour 
Larger time to max for “you cannot ignore this for long” behaviour
@swagentrotz 
Blazing Badger 
Attack Behavior-Intentions 
Groups of two should not be boring 
Groups of six+should be tough but beatable 
The playershould have the initiative most of the time(ratio ~ 2:1 to 3:1) The player should be frequently forced to react 
Very high intensity situationslike bosses may changethe initiative/reaction ratio(~1:1 or even 1:2) 
The amount of players present shouldn’t influence the challengemuchfor an individual player
@swagentrotz 
Blazing Badger 
Attack Behavior-Dynamic 
The enemy attack frequency depends somewhat, but not much, on actual enemy numbers 
The player has enough time to dispose of 2-3 foes before reacting to something 
The time between attacks dependsa lot on enemy typeand the attack’s strength 
On lower difficulties, there is lessneed toreact in time than on higher ones 
If multiple players are present, each player is pressuredmore or less evenly (enemy proximity and attacks)
@swagentrotz 
Blazing Badger 
Attack Behavior-Mechanic 
All challenging enemy actions have a cost associated 
Enemies who are in positionto act registerall their currently possible with the Director very frequently (simultaneously) 
The CD selects an action to be executed from what was registered, and incurs its cost in “debt” 
The debt degeneratesback to zero over time 
Actions can onlybe ordered at zero debt 
Makes sure attack cost has no unwanted impact on how often has a chance to be bought 
Manage likeliness by other means (e.g. chances, or multiple debt counters)
@swagentrotz 
Blazing Badger 
Attack Behavior-Parameters 
Per actor: 
Action Cost 
Combat Director 
One to several debt pools 
Initial debt for each pool 
Degeneration rate for each pool (does not have to be constant) 
Degeneration 
Enemy # 
Enemy amount over time
@swagentrotz 
Blazing Badger 
Recovery Rate -Intentions 
The player shouldn’t be able to hoard beneficial items (as this would trivialize bigger challenges that come along later) 
The player shouldn’t ever be so starved for items that he cannot afford to use one every battle or two 
There should be no extreme spikes in the drop rate
@swagentrotz 
Blazing Badger 
Recovery Rate -Dynamic 
The drop rate of beneficial items should depend on the amount of items already in the player’s possession 
The more items the player has, the less likely it is another one will drop 
It should not happen that items keep dropping even though there are already plenty waiting to be picked up
@swagentrotz 
Blazing Badger 
Recovery Rate -Mechanic 
Items waiting to be picked up count as well 
Chance(Possesion)=base^(Posession) 
0 < base < 1 
Possession=Carried+x*OnGround 
X = factor for value of items on the ground e.g. 0.5 = 50% worth 
Drop Chance 
# in Possession 
Time elapsed per enemy
@swagentrotz 
Blazing Badger 
Recovery Rate -Parameters 
Base 
OnGroundModifier (x) 
Example: 
Possesion= Carried+x*OnGround= 0+0.5*0 = 0 
Chance(Possesion)=0.5^(0) = 1 = 100% drop chance 
Possesion= Carried+x*OnGround= 1+0.5*1= 1.5 
Chance(Possesion)=0.5^(1.5) = 0.353 ~ 35% drop chance 
Chance(Possesion)=0.7^(1.5) = 0.585 ~ 59% drop chance
@swagentrotz 
Blazing Badger 
Variants 
Want player to wait for opening 
Have enemies buy whole sequence 
Or regular low/freeze combat point generation 
Want moments of frenzy 
Occassionally lower costs by large factor 
Want hard limits on some attacks/spawns 
Add cooldown 
Other Genres: e.g. Hint-Directorin a Puzzle Game
@swagentrotz 
Blazing Badger 
THX 
follow me on twitter! @swagentrotz 
like us on facebook! facebook.com/BlazingBadger 
enjoy gamedev;)

Weitere ähnliche Inhalte

Andere mochten auch

硅谷早期投资趋势
硅谷早期投资趋势硅谷早期投资趋势
硅谷早期投资趋势Rui Ma
 
Introduction to HTML5 game development (with Phaser)
Introduction to HTML5 game development (with Phaser)Introduction to HTML5 game development (with Phaser)
Introduction to HTML5 game development (with Phaser)Valerio Riva
 
我的敏捷测试宣言(Agile Testing Manifesto)
我的敏捷测试宣言(Agile Testing Manifesto)我的敏捷测试宣言(Agile Testing Manifesto)
我的敏捷测试宣言(Agile Testing Manifesto)Xudong Yu
 
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...Rui Ma
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)Weijun Zhong
 
Física na UI com PhaserJS
Física na UI com PhaserJSFísica na UI com PhaserJS
Física na UI com PhaserJSDavid Luz
 

Andere mochten auch (7)

硅谷早期投资趋势
硅谷早期投资趋势硅谷早期投资趋势
硅谷早期投资趋势
 
Phaser presentation
Phaser presentationPhaser presentation
Phaser presentation
 
Introduction to HTML5 game development (with Phaser)
Introduction to HTML5 game development (with Phaser)Introduction to HTML5 game development (with Phaser)
Introduction to HTML5 game development (with Phaser)
 
我的敏捷测试宣言(Agile Testing Manifesto)
我的敏捷测试宣言(Agile Testing Manifesto)我的敏捷测试宣言(Agile Testing Manifesto)
我的敏捷测试宣言(Agile Testing Manifesto)
 
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...
跨境10年 - The Next Decade of US China Crossborder Early Stage Tech Venture Inve...
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)
 
Física na UI com PhaserJS
Física na UI com PhaserJSFísica na UI com PhaserJS
Física na UI com PhaserJS
 

Mehr von IndieOutpost

Algorithmische Grafik
Algorithmische GrafikAlgorithmische Grafik
Algorithmische GrafikIndieOutpost
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKIndieOutpost
 
Scaleform in Unity3D
Scaleform in Unity3DScaleform in Unity3D
Scaleform in Unity3DIndieOutpost
 
HTML5 Spiele entwickeln mit ImpactJS
HTML5 Spiele entwickeln mit ImpactJSHTML5 Spiele entwickeln mit ImpactJS
HTML5 Spiele entwickeln mit ImpactJSIndieOutpost
 
Location-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerLocation-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerIndieOutpost
 

Mehr von IndieOutpost (9)

Algorithmische Grafik
Algorithmische GrafikAlgorithmische Grafik
Algorithmische Grafik
 
Haxe & NME
Haxe & NMEHaxe & NME
Haxe & NME
 
Dreamfab
DreamfabDreamfab
Dreamfab
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDK
 
GameMaker:Studio
GameMaker:StudioGameMaker:Studio
GameMaker:Studio
 
Cocos2dx
Cocos2dxCocos2dx
Cocos2dx
 
Scaleform in Unity3D
Scaleform in Unity3DScaleform in Unity3D
Scaleform in Unity3D
 
HTML5 Spiele entwickeln mit ImpactJS
HTML5 Spiele entwickeln mit ImpactJSHTML5 Spiele entwickeln mit ImpactJS
HTML5 Spiele entwickeln mit ImpactJS
 
Location-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerLocation-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte Controller
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Keep your game in the fun zone - Designing an AI Director

  • 2. @swagentrotz Blazing Badger Who is talking? Sascha Wagentrotz CEO, Co-Founder and Game Designer Blazing Badger GmbH Founded in April 2014 Based in Frankfurt, Germany
  • 4. Keep your game in the fun zone Designing an AI Director
  • 5. @swagentrotz Blazing Badger Why would your game not be fun? The challenge structure is unstable. The challenge parts don’t combine the way they are supposed to.
  • 6. @swagentrotz Blazing Badger Specific Problems Spawn camping Getting one-shot Button-mashing to victory Out of ammo/Stuck on low health Farmed up to invincibility Difficulty affects enemy damage/health only
  • 7. @swagentrotz Blazing Badger Why does this happen? Challenge flow is static Spawn timings are pre-determinedin most cases Enemy distribution is pre-defined Each enemy is allowed to make its own decisions Enemies don’t take the actions of other enemies into account
  • 8. @swagentrotz Blazing Badger Solution: AI / Combat Director DOES: Controls all elements of the challenge with perfect knowledge Enforces specificdynamic Adjusts on the fly within seconds Offers many parameters to affect difficulty DOES NOT: Make the game easier if you play badly!(if done right)
  • 9. @swagentrotz Blazing Badger WTF is an AI Director? Superordinate Entity that takes control of the “big picture” of your game and features a dynamicsystem for game dramatics, pacing and difficulty. Has been around for decades in simple forms Was adapted for more genres over the last years
  • 10. @swagentrotz Blazing Badger Process: MDA Framework Mechanics DynamicsAesthetics The experience (Aesthetics) that arises, when the player interacts (Dynamics) with the game rules (Mechanics). Therefore: What Dynamicsdo we want to see? What Mechanicsdo we employ to facilitate them?
  • 11. @swagentrotz Blazing Badger DYNAMICS What we want: Smooth challenge flow Mixof initiative and reaction Some degree of forgiveness Achieved with: Spawn Rate Attack Behavior Recovery Rate
  • 12. @swagentrotz Blazing Badger STRUCTURE Intention Definition of the goal Dynamic What happens Mechanic How to get there Parameters Our “balancing knobs”
  • 13. @swagentrotz Blazing Badger Spawn Rate -Intentions Good players are unable to ever beat the spawn counter (spawn camping) May even need to put heavy pressure onto enemy numbers to survive incoming damage on higher modes at all Bad players can never be swamped more than as intended by a tightly designed worst case
  • 14. @swagentrotz Blazing Badger Spawn Rate -Dynamic Spawn rate depends on number of enemies present, desired maximum numberand time to max number The lessenemies present, the fasterthey spawn Enemy Amount Time Enemy amount over time Most fights will happen here
  • 15. @swagentrotz Blazing Badger Spawn Rate -Mechanic The n-thenemy spawns after F(n) secondsafter encounter start F(n)=((n/MaxAmount)^Exp)*MaxTime The n-thenemy spawns once a certain amount time has elapsed since spawning the previous one: SpawnTimer=F(n)-F(n-1) Restart the counter every time an enemy spawns Time Enemy # Time elapsed when nth enemy spawns t until next enemy
  • 16. @swagentrotz Blazing Badger Spawn Rate -Parameters MaxAmount, MaxTimeand Exponent Depend on enemy strength and encounter intensity Manage multiple pools for different challenge categories Larger desired max number of small enemies Lower desired max number of strong ones Lower time to max for “deal with it” like spawn behaviour Larger time to max for “you cannot ignore this for long” behaviour
  • 17. @swagentrotz Blazing Badger Attack Behavior-Intentions Groups of two should not be boring Groups of six+should be tough but beatable The playershould have the initiative most of the time(ratio ~ 2:1 to 3:1) The player should be frequently forced to react Very high intensity situationslike bosses may changethe initiative/reaction ratio(~1:1 or even 1:2) The amount of players present shouldn’t influence the challengemuchfor an individual player
  • 18. @swagentrotz Blazing Badger Attack Behavior-Dynamic The enemy attack frequency depends somewhat, but not much, on actual enemy numbers The player has enough time to dispose of 2-3 foes before reacting to something The time between attacks dependsa lot on enemy typeand the attack’s strength On lower difficulties, there is lessneed toreact in time than on higher ones If multiple players are present, each player is pressuredmore or less evenly (enemy proximity and attacks)
  • 19. @swagentrotz Blazing Badger Attack Behavior-Mechanic All challenging enemy actions have a cost associated Enemies who are in positionto act registerall their currently possible with the Director very frequently (simultaneously) The CD selects an action to be executed from what was registered, and incurs its cost in “debt” The debt degeneratesback to zero over time Actions can onlybe ordered at zero debt Makes sure attack cost has no unwanted impact on how often has a chance to be bought Manage likeliness by other means (e.g. chances, or multiple debt counters)
  • 20. @swagentrotz Blazing Badger Attack Behavior-Parameters Per actor: Action Cost Combat Director One to several debt pools Initial debt for each pool Degeneration rate for each pool (does not have to be constant) Degeneration Enemy # Enemy amount over time
  • 21. @swagentrotz Blazing Badger Recovery Rate -Intentions The player shouldn’t be able to hoard beneficial items (as this would trivialize bigger challenges that come along later) The player shouldn’t ever be so starved for items that he cannot afford to use one every battle or two There should be no extreme spikes in the drop rate
  • 22. @swagentrotz Blazing Badger Recovery Rate -Dynamic The drop rate of beneficial items should depend on the amount of items already in the player’s possession The more items the player has, the less likely it is another one will drop It should not happen that items keep dropping even though there are already plenty waiting to be picked up
  • 23. @swagentrotz Blazing Badger Recovery Rate -Mechanic Items waiting to be picked up count as well Chance(Possesion)=base^(Posession) 0 < base < 1 Possession=Carried+x*OnGround X = factor for value of items on the ground e.g. 0.5 = 50% worth Drop Chance # in Possession Time elapsed per enemy
  • 24. @swagentrotz Blazing Badger Recovery Rate -Parameters Base OnGroundModifier (x) Example: Possesion= Carried+x*OnGround= 0+0.5*0 = 0 Chance(Possesion)=0.5^(0) = 1 = 100% drop chance Possesion= Carried+x*OnGround= 1+0.5*1= 1.5 Chance(Possesion)=0.5^(1.5) = 0.353 ~ 35% drop chance Chance(Possesion)=0.7^(1.5) = 0.585 ~ 59% drop chance
  • 25. @swagentrotz Blazing Badger Variants Want player to wait for opening Have enemies buy whole sequence Or regular low/freeze combat point generation Want moments of frenzy Occassionally lower costs by large factor Want hard limits on some attacks/spawns Add cooldown Other Genres: e.g. Hint-Directorin a Puzzle Game
  • 26. @swagentrotz Blazing Badger THX follow me on twitter! @swagentrotz like us on facebook! facebook.com/BlazingBadger enjoy gamedev;)