decision making in endless space 2 background our studio
play

Decision making in Endless Space 2 Background Our Studio 40 20 - PowerPoint PPT Presentation

Adrien Allard Florian Brulhart Sebastien Broussaud Decision making in Endless Space 2 Background Our Studio 40 20 Dev 30 Dev 60 Dev 12 Dev 2011 2012 2013 2014 2015 2016 2017 Our 4X Explore Amplitude touch Exploit Search points


  1. Adrien Allard Florian Brulhart Sebastien Broussaud Decision making in Endless Space 2

  2. Background

  3. Our Studio 40 20 Dev 30 Dev 60 Dev 12 Dev 2011 2012 2013 2014 2015 2016 2017

  4. Our 4X Explore Amplitude touch Exploit Search points of interest Build / research Asymmetric factions Discover the world Gather resources Quests Gather Intel Optimize economy Expand Exterminate Diplomacy Fight in battles Increase territory Relation with players Unit management Expand to new places Evaluate deals War management

  5. Post-mortem: Endless Legend Control Understand Technical • • • Decisions are difficult to control Code is spread and duplicated Heuristic results are just numbers • • • AI doesn’t have global strategy Code base is not incremental No access to intermediate friendly reasons • Diplomatic relations can seem • • irrational Decision process is opaque Tools are too complex

  6. Objectives For design For debugging For programming • • • High level control Understand each decision Incremental • • • Low level control Understand resource Allow different AI techniques • • Handle each resource allocation Isolate data refining from • differently User friendly decision

  7. Meet E.N.F.E.R.

  8. Process Overview Sync Analysis Tasks generation Data Game Execution Tasks allocation

  9. Process Overview Tasks generation Game Tasks allocation

  10. Tasks generation

  11. Situation

  12. Designer needs Aaah, the Cravers are invading! The AI should definitely defend its system here!

  13. Goal Defend system against enemies Defend System

  14. Designer needs Hum ok … but how do you defend the system?

  15. Designer needs Details, schmetails … erm... well… you know… it could build defenses or create ships.

  16. Tasks Create ships Defend system against enemies Defend System Build defense

  17. Designer needs Hum ok … but how does the AI decide which action to take?

  18. Designer needs Well, we're talking about Cravers. Insectoid, psycho, warmachines. We need the best defense against them.

  19. Scoring Create ships 0.4 Defend system against enemies Defend System Build defense 0.8

  20. Designer needs Oh, but I forgot, it's that crappy system we stole from the Lumeris earlier. The AI shouldn't prioritise it.

  21. Scoring Create ships 0.4 Defend system against enemies Defend System Build defense 0.8

  22. Scoring Create ships 0.4 Defend system against enemies Defend System 0.5 Build defense 0.8

  23. Scoring 0.2 Create ships Defend system against enemies Defend System 0.5 0.4 Build defense

  24. Designer needs And one more thing! If the AI's planning a war against the Cravers in any case, ships should be preferred.

  25. Multiple reasons Create ships 0.2 Defend system against enemies Defend System 0.5 Build defense 0.4

  26. Multiple reasons Improve military power to attack Attack Cravers 0.7 Create ships 0.2 Defend system against enemies Defend System 0.5 Build defense 0.4

  27. Multiple reasons Improve military power to attack Attack Cravers 0.7 Create ships 0.5 Defend system against enemies Defend System 0.5 Build defense 0.4

  28. Multiple reasons Reduce upkeep 0.9 Improve military power to attack Attack Cravers 0.7 Create ships 0.5 Defend system against enemies Defend System 0.5 Build defense 0.4

  29. Multiple reasons Reduce upkeep 0.9 Improve military power to attack Attack Cravers 0.7 Create ships 0.3 Defend system against enemies Defend System 0.5 Build defense 0.4

  30. Associated tool

  31. Post-mortem • Ability to iterate before implementation • Force separation between each decision step • Improve decision debugging • Feedback decision chains • Understand decision at different granularity

  32. Tasks allocation

  33. Tasks allocation Context • Tasks in the game have costs • Can I afford this task? • Concurrence between tasks are due to shared resources Create ships 0.6 Build defense 0.3

  34. Tasks allocation Context • Tasks in the game have costs • Can I afford this task? • Concurrence between tasks are due to shared resources 100 Create ships 0.6 10 80 Build defense 0.3

  35. Tasks allocation Objectives • Use motivation to split resources • Task motivation must be independent from the cost • Each resource has its own way of being split • Handle tasks with multiple resources 100 Create ships 0.6 10 80 Build defense 0.3

  36. Tasks allocation 0/100 Create ships 0.6 0/10 0/80 Build defense 0.3

  37. Tasks allocation allocator 0/100 Stock: 100 Create ships 0.6 0/10 0/80 Build defense 0.3

  38. Tasks allocation allocator 100/100 Stock: 0 Create ships 0.6 0/10 0/80 Build defense 0.3

  39. Tasks allocation 100/100 Create ships 0.6 0/10 allocator 0/80 Stock: 0 Build defense 0.3

  40. Tasks allocation 100/100 Create ships 0.6 0/10 allocator 0/80 Stock: 0 Build defense 0.3

  41. Multiple resources 100/100 Create ships 0.6 0/10 0/80 Build defense 0.3

  42. Multiple resources 100/100 allocator Create ships 0.6 0/10 Stock: 0 0/80 Build defense 0.3

  43. Multiple resources 100/100 allocator Create ships 0.6 0/10 Stock: 0 0/80 Build defense 0.3

  44. Resource reallocation 100/100 Create ships 0.6 0/10 0/80 Build defense 0.3

  45. Resource reallocation allocator 100/100 Stock: 0 Create ships 0.6 0/10 0/80 Build defense 0.3

  46. Resource reallocation allocator 0/100 Stock: 100 Create ships 0.6 0/10 0/80 Build defense 0.3

  47. Resource reallocation 0/100 Create ships 0.6 0/10 allocator 0/80 Stock: 100 Build defense 0.3

  48. Resource reallocation 0/100 Create ships 0.6 0/10 allocator 80/80 Stock: 20 Build defense 0.3

  49. Validate tasks for execution 0/100 Create ships 0.6 0/10 80/80 Build defense 0.3

  50. Associated tool

  51. Post-mortem • Simplify the task generation by removing cost handling • Handle concurrence between tasks • Centralize allocation algorithms • Each resource behaves differently so we can allocate them differently

  52. Uses and improvements

  53. Where to integrate features Decision graph Economy Fleet management Diplomatic contracts Fleet production

  54. Where to integrate features Analysis Decision graph Diplomacy Economy relations Fleet War topology management Diplomatic Ship/Fleet contracts Design Fleet production

  55. Where to integrate features Analysis Decision graph Execution Battle Diplomacy Economy behavior relations Fleet Fleet War topology management behavior Diplomatic Ship/Fleet contracts Design Fleet production

  56. Diplomatic relation behavior mpire destroyed our explorer AND e are a military faction Prepare war Ask for Alliance In alliance Decision graph Analysis

  57. Diplomatic relation behavior mpire destroyed our explorer AND e are a military faction Increase Prepare war ship number Ask for Alliance In alliance Decision graph Analysis

  58. Diplomatic relation behavior mpire destroyed our explorer AND e are a military faction Prepare war Ask for Build alliance Alliance contract In alliance Decision graph Analysis

  59. Fleet Management A fleet is a resource for military decisions Defend empire Defend attacked system Defend system 0.6 Defend empire 0.9 Pegasus

  60. Fleet Management A fleet is a resource for military decisions Defend empire Defend attacked system Taskforce Defend system 0.6 Defend empire 0.9 Pegasus

  61. Advance tasks generation Goals can generate goals Defend empire Defend attacked system Defend system Defend empire 0.3 0.9 Pegasus

  62. Advance tasks generation Goals can generate goals Defend empire Defend attacked system Defend constellation Defend system Defend Defend empire 0.5 0.9 0.3 Pegasus constellation

  63. Advance tasks generation Tasks can generate tasks Defend empire Defend attacked system Defend system Taskforce Defend empire 0.3 0.9 Pegasus

  64. Advance tasks generation Tasks can generate tasks pire Defend attacked system Defend system Taskforce Defend empire 0.3 0.9 Escort defense Taskforce Pegasus 0.2 fleet Assist

  65. Advance tasks generation Link tasks with an allocation rule Build wonder 1000 Build unique wonder 0.3 on Pegasus Build wonder 1000 Build unique wonder 0.6 on Andromeda

  66. Advance tasks generation Link tasks with an allocation rule Build wonder 1000 Build unique wonder 0.3 on Pegasus Only one in empire Build wonder 1000 Build unique wonder 0.6 on Andromeda

  67. Advance tasks generation Link tasks with an allocation rule Build wonder 1000 Build unique wonder 0.3 on Pegasus Only one in empire Build wonder 1000 Build unique wonder 0.6 on Andromeda

  68. Advance tasks generation Link tasks with an allocation rule Build wonder 1000 Build unique wonder 0.3 on Pegasus Only one in empire Build wonder 1000 Build unique wonder 0.6 on Andromeda

  69. Multiple Personalities We have 8 different factions.

  70. Multiple Personalities And we want to add some flashy, new, exotic gameplay!

Recommend


More recommend