94
2014 Fighting Game AI Competition mamoto, Syunsuke Mizuno, FeiYu Lu, Yuto Nakagawa, Takaya Nibori, Ruck Thawonmas Intelligent Computer Entertainment Laboratory Ritsumeikan University Japan 2 nd member is now with Dimps Corporation CIG 2014, August 29, 2014

2014 fighting game artificial intelligence competition

  • Upload
    ftgaic

  • View
    1.398

  • Download
    0

Embed Size (px)

DESCRIPTION

These are slides about the 2014 Fighting Game Artificial Intelligence Competition presented at the 2014 IEEE Conference on Computational Intelligence and Games (CIG 2014) on August 29, 2014 at Dortmund, Germany.

Citation preview

  • 1. 2014 Fighting Game AI CompetitionKaito Yamamoto, Syunsuke Mizuno, FeiYu Lu, Yuto Nakagawa, Takaya Nibori,Ruck ThawonmasIntelligent Computer Entertainment LaboratoryRitsumeikan UniversityJapan2nd member is now with Dimps CorporationCIG 2014, August 29, 2014

2. ContentsFightingICEContest RulesResultsCIG 2014, August 29, 2014 3. FightingICE First of its kinds and planned to run for many years AI development, in Java, viable even with a small-size team. = 1000 .+. 60 FPS 16.67 ms response time Current game state delayed by 15 frames complete, but imperfect information Two categories 1 Character (1C) 3 Characters (3C)Game resources are from The Rumble Fish 2 with the courtesy of Dimps Corporation.CIG 2014, August 29, 2014 4. Interactions between the AI/HumanPlayers and the SystemCIG 2014, August 29, 2014 5. Skill System(1/4) Players use attack actions (skills) and moving actionsto fight A skill has 3 stages:Startup, Active and RecoveryCIG 2014, August 29, 2014 6. Skill System(2/4) Startup 1st stage Prepare to attack No attack box, sono damage to giveCIG 2014, August 29, 2014 7. Skill System(3/4) Active 2nd stage The small red box -- attackbox -- can be seen on thecharacters arm In these frames, if theopponents attack hit boxcoincide with this attack box,the opponent will bedamagedCIG 2014, August 29, 2014 8. Skill System(4/4) Recover 3rd stage Recover to normalstatus Special frame:cancelable Some skills can beused duringcancelable framesCIG 2014, August 29, 2014 9. Feiyu Lu, Kaito Yamamoto, Luis H. Nomura, SyunsukeMizuno, YoungMin Lee, and Ruck Thawonmas,"Fighting Game Artificial Intelligence Competition Platform," Proc. of the 2nd IEEE Global Conference onConsumer Electronics (GCCE 2013), Tokyo, Japan, pp. 320-323, Oct. 1-4, 2013. Hyunsoo Park and Kyung-Joong Kim, "Learning to Play Fighting Game using Massive Play Data," Proc. of 2014IEEE Conference on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 458-459, August26-29, 2014, Kaito Yamato, SyunsukeMizuno, Chun Chu and Ruck Thawonmas, "Deduction of Fighting-GameCountermeasures Using the k-Nearest Neighbor Algorithm and a Game Simulator," Proc. of 2014 IEEEConference on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 437-441, August26-29, 2014, Yuto Nakagawa, Kaito Yamato, and Ruck Thawonmas, "Online Adjustment of the AIs Strength in a FightingGame Using the k-Nearest Neighbor Algorithm and a Game Simulator," Accepted for presentation at the3nd IEEE Global Conference on Consumer Electronics (GCCE 2014), Tokyo, Japan, Oct. 7-10, 2014. Kaito Yamato, SyunsukeMizuno, and Ruck Thawonmas, "Proposal and Evaluation of an Automatic AnalysisMethod using StGA for Strategic Diversity in Action Games," IPSJ Journal, vol. 55, no. 11, November 2014. (toappear; in Japanese)CIG 2014, August 29, 2014List of Publications Usingthis Platform 10. ContentsFightingICEContest RulesResultsCIG 2014, August 29, 2014 11. Contest Rules A game has 3 rounds. Each round has 5-second ready time and 60-secondfighting time. The characters' position will be reset when time over,and if it is not already in the third round, the systemwill start a new round.CIG 2014, August 29, 2014 12. 1C Fighters (Alphabetical order)AI Techniques Members Affiliation CountryATTeam rule-based strategiesCIG 2014, August 29, 2014Thanarat Jaruenying, PhuripatPrasittipap, Worawat ChoensawatBangkok University ThailandCodeMonkey dynamic scripting Kevin Majchrzak TU Dortmund GermanyDragonKing1C opponent modelingRenan Motta Goulart andGuilherme Albuquerque PintoUniversidade Federal de Juizde ForaBrazilLittleFuzzyfuzzy logic for opponentprediction and learningPerry Monschau and Simon Lucas University of Essex UKPnumaSON_AI rule-based strategies Yuzuru Iinuma Nagoya University JapanSomJang rule-based strategiesDong-Hyun Jang, Kyoung-Jun Ahnand Kyung-Joong KimSejong University KoreaT1c finite state machine Phakhawat Sarakit TAIST-Tokyo Tech Thailand, JapanThrowLooper rule-based strategies Thanat Damrongwatanapokin Chulalongkorn university Thailandthunder_final rule-based strategies Eita Aoki Nagoya University JapanVS rule-based strategiesKyoung-Jun Ahn and Kyung-JoongKimSejong University Korea 13. 1C RankingCIG 2014, August 29, 2014AI RankingCodeMonkey 1VS 2T1c 3LittleFuzzy 4PnumaSON_AI 5thunder_final 6DragonKing1C 7ATteam 8SomJang 9ThrowLooper 10Note: those in red are CIG participants. 14. 3C Fighters (Alphabetical order)AI Charater Techniques Members Affiliation CountryATTeam2 ZEN rule-based strategiesCIG 2014, August 29, 2014Thanarat Jaruenying, PhuripatPrasittipap, Worawat ChoensawatBangkok University ThailandDragonKing3C GARNET opponent modelingRenan Motta Goulart andGuilherme Albuquerque PintoUniversidade Federal deJuiz de ForaBrazilLittleFuzzy ZENfuzzy logic for opponentprediction and learningPerry Monschau and Simon Lucas University of Essex UKPasanAI2 GARNET reinforcement learning Pasan Julsaksrisakul Chulalongkorn University ThailandPnumaSON3C_AI LUD rule-based strategies Yuzuru Iinuma Nagoya University JapanSeal_Switch LUD genetic algorithm Komsorn Prammanee Chulalongkorn University ThailandSejongFighterGARNETrule-based strategiesHyeong Kim, Yoon-Jee Nam, Yo-Han Chu, and Kyung-Joong KimSejong University KoreaT3c LUD finite state machine Phakhawat Sarakit TAIST-Tokyo Tech Thailand, Japan 15. 3C RankingCIG 2014, August 29, 2014AI Character RankingT3c LUD 1ATteam2 ZEN 2DragonKing3C GARNET 3PnumaSON3C_AI LUD 4PasanAI2 GARNET 5LittleFuzzy ZEN 6SejongFighter GARNET 7Seal_Switch LUD 8Note: those in red are CIG participants. 16. IEEE Winner of each category Original (designed by RT) Runner-up and 3rd place AI of each categoryCIG 2014, August 29, 2014Certificates 17. Criteria Participate CIG 2014 Top two AIs with the highest average scores,regardless of their category Winner Prize CodeMonkey (1C, 2119.7 scores) Runner-up Prize VS (1C, 1692.7 scores)CIG 2014, August 29, 2014Prizes 18. Final Remarks Thank you for your participation. You are welcome to participate in the competition.http://www.ice.ci.ritsumei.ac.jp/~ftgaic/ Upcoming competitions CEC 2015 (to be discussed) CIG 2015 (planned) CIG 2014, August 29, 2014 19. Appendices: AI DetailsCIG 2014, August 29, 2014 20. CIG 2014, August 29, 20141C 21. AT TeamThanarat JaruenyingPhuripat PrasittipapWorawat ChoensawatSchool of Science and TechnologyBANGKOK UNIVERSITYCIG 2014, August 29, 2014 22. We presents a rule-based strategy based on fighting states andactions. The adaptive decision can be divided into states as follows: Attack Defense Counter attack For each state, we can divided into two cases as follows: Far: distance of player over a threshold. Near: distance of player less than the threshold.AT TeamCIG 2014, August 29, 2014 23. After we determined the state and the case, we used rule-based todefine the action. The rule-based condition is based on four condition as follows: Enemys Action Enemys status Our energy Distance between playersAT TeamCIG 2014, August 29, 2014 24. Fighting Game AI Competition 2014Code Monkey AIKevin MajchrzakUndergraduate StudentTU Dortmund, GermanyEmail: kevin.majchrzak@CIG 2014, August 29, 2014tu-dortmund.de 25. AI OutlineCode Monkey... ...adapts to enemybehaviour ...learns online bygenerating scriptson the fly ...loves showing offhis fighting skills ...adores bananasCIG 2014, August 29, 2014 26. Dynamic ScriptingReinforcementLearningScriptHuman Feedback after 3 secondsCombatExpert KnowledgeRulebaseOfflineOnline20 updatesa minuteCIG 2014, August 29, 2014 27. Dynamic Scripting (details)Rules map a game state to a boolean and anactionGame State (Boolean, Action)Scripts are pretty much like long if-then-elsechainsIF Rule1 is satisfiedTHEN execute Rule1ELSE IF Rule2 is satisfiedThen execute Rule2ELSE execute default actionCIG 2014, August 29, 2014 28. DragonKingDeveloped by: Renan Motta Goulart, GuilhermeAlbuquerque Pinto.Affiliation: Universidade Federal de Juiz de Fora,Brazil.Contact: [email protected],[email protected] 2014, August 29, 2014 29. OutlineLearns how the opponent fights.Predict the oponent's next move by keepinginformation of his past actions and the distance whenthey were used.CIG 2014, August 29, 2014 30. OutlineThe possible attacks that the oponent might use arediscovered by using the average position and thestandard deviation of where the oponent attacked.CIG 2014, August 29, 2014 31. AI: Little FuzzyDeveloped By: Perry MonschauAs part of a University of Essex (UK)Msc ProjectProject Supervisor: Simon LucasCIG 2014, August 29, 2014 32. Little Fuzzy Outline Fuzzy Logic System Little Fuzzy uses fuzzy logic to determine movementwith the help of prediction Prediction System Little Fuzzy attempts to predict the opponentscurrent position and status to help determine its nextactions Learning System Little Fuzzy learns successful moves in given scenarios,and uses them to determine the best next action, byfinding the most similar scenario it knowsCIG 2014, August 29, 2014 33. Learning System Uses Success Rate and Damage to establishvalue of attacks it has learned Uses a Similarity Formula to match attacks tothe current scenario Uses Priorities, current battle over olderbattles Scenarios include prior actions, to learncombined attacksCIG 2014, August 29, 2014 34. Flexibility and Limitations No hardwired knowledge Could learn newly introduced moves by itself,simply by fighting No strategy categorisation, just individualscenarios Opponent skill determines skill of LittleFuzzy,but perhaps not quick enough LittleFuzzy is not expected to do well in the 1CcompetitionCIG 2014, August 29, 2014 35. FighTingGameAICompetition FINALNagoya UniversityIINUMA YuzuruCIG 2014, August 29, 2014 36. Introduction AI Name : PnumaSON_AI Developers' Name : IINUMA Yuzuru Affiliation : Nagoya University Country : JapanCIG 2014, August 29, 2014 37. AI's OutlineCIG 2014, August 29, 2014 38. AIs Outline (When my AI is down)CIG 2014, August 29, 2014Back JumpPunch INENE MYMYENEMYMY 39. Fighting Game AISejong UniversityDongHyun JangCIG 2014, August 29, 2014 40. Introduction AI Name : SomJang Advisor KyungJoong Kim(Professor) KyungJoon Ahn(Technical Support) Developers DongHyun Jang Affiliation Sejong University, South KoreaCIG 2014, August 29, 2014 41. Outline1. Using Skills2. StrategiesCIG 2014, August 29, 2014 42. Outline - Using Skills STAND_D_DF_FA STAND_D_DF_FC STAND_D_DB_BB THROW_HIT AIR_UBCIG 2014, August 29, 2014 43. Outline - Strategies My strategy is simple. Last year, I participated in same competition. I felt simple is the beststrategies in this competition. So I make the AI simple. And the major attack skills are STAND_D_DF_FC andSTAND_D_DB_BB. Because they can give very big damage toopponent and stun. So I use them. Finally, AI has special skill. This is my little secret. This AI is almost identical to last years artificial intelligenceprogram, SejongAI.CIG 2014, August 29, 2014 44. Fighting Game AI Competition 2014TMr.Phakhawat SarakitMaster Degree StudentThailand Advanced Institute of Science and Technology and Tokyo Instituteof Technology (TAIST-Tokyo Tech)Information and Communication Technology for Embedded Systems : ICTESE-mail : [email protected] 2014, August 29, 2014 45. AIs OutlineIn first category I use same technique from last year I just modify somecondition for counter attack opponentThis is my technique :1.Measure-Sense-Action cycle(MSA Cycle)2.Fininte-State Machine(FSM)CIG 2014, August 29, 2014 46. Measure-Sense-Action cycle(MSA Cycle)Measure SenseActionPicture 1.Measure-Sense-Action cycle(MSA Cycle)I measure distance X between opponent and my AI see enemy action ,thingabout it then find the best way to fight back the enemy.CIG 2014, August 29, 2014 47. Fininte-State Machine(FSM)Actually this technique it not different MSA Cycle I draw possible state in mynotebook and then create every state by using if-else conditionStartState 1 State 2State nTransition1Transition3Transition2Transition4Picture 2Fininte-State Machine(FSM)CIG 2014, August 29, 2014 48. Future Work I plan to use machine learning technique , bayes netwrok or anytechnique about possibility.CIG 2014, August 29, 2014 49. AIs name ThrowLooperDeveloper Thanat DamrongwatanapokinFaculty of Engineering Chulalongkorn universityCIG 2014, August 29, 2014 50. IdeaThrowing is not a powerful move but anunblockable one as we ,human, cant chain iton the fastest possible hit frame. It post noreal threat but it possible with somethingmore precise like machine, AI.CIG 2014, August 29, 2014 51. AI movesAs sliding is one of the quickest, powerful,knock down approaching moves. Many of thedeveloper use it as an approach at the startingof the round. The first move of this AI is tomove forward a bit and intentionally take andblock the slide. Then , grab the opponent andchain the throw.CIG 2014, August 29, 2014 52. AI movesThe second state of the AI is that theopponent does not use the slide as anapproach, then the AI will use the slide andafter opponent is downed. AI will walk a littleclosing in the range and chain the throw.CIG 2014, August 29, 2014 53. Resetting Condition If the opponent break or somehow out of thethrowing chain. It will be back to secondmove. If opponent using slide or other knock downapproaches. It will stand back up with guard.Then, if it a slide the throw will be chained. Ifnot it will move to second move.*second move = slide approachCIG 2014, August 29, 2014 54. Thunder_finalIntroductionAOKI EitaNagoya UniversityCIG 2014, August 29, 2014 55. Introduction AI Namethunder_final DeveloperAOKI Eita AffiliationNagoya University Record of AwardCodeVS 3.0the 5th prizeSamurAI Coding2013the 8th prizeCIG 2014, August 29, 2014 56. AIs Outline Make use of RemainingFrameAttack and Down EnemyAttack Enemy just before RecoveryAttack Enemy just before RecoveryInfinite Combo!CIG 2014, August 29, 2014 57. VSSupervisor Kim Kyung JoongDeveloper - Ahn Kyoung JunCIG 2014, August 29, 2014 58. AttackProjectile attackDirect attackMoving attack4 3 2 1DistanceCIG 2014, August 29, 2014 59. DefenseAttackUDefenseCIG 2014, August 29, 2014 60. CIG 2014, August 29, 20143C 61. AT TeamThanarat JaruenyingPhuripat PrasittipapWorawat ChoensawatSchool of Science and TechnologyBANGKOK UNIVERSITYCIG 2014, August 29, 2014 62. We used ZEN character for our AI. We presents a rule-based strategy based on fighting states andactions. The adaptive decision can be divided into states as follows: Defense Attack Counter attack For each state, we can divided into two cases as follows: Far: distance of player over a threshold. Near: distance of player less than the threshold.AT TeamCIG 2014, August 29, 2014 63. In our defensealgorithm, we onlyfocus on escaping thefireball. We used forward jumpwhen the distantbetween players is overa threshold. If the distant is belowthe threshold a Jumpcommand is used.DefenseOpponent skilldetectionFireball?YesgetDistant()>=thresholeJumpYesForward jumpNoAttackAlgorithmNoCIG 2014, August 29, 2014 64. We use rule-based to determine a attack action.(1) If our energy over 300, we will activate a ultimate fireball.(2) If the distant between players is over a threshold, we used theskill AIR_DB in order to get closer to the opponent withoutgetting too close.(3) If the distant between players is below the threshold, we usedsimple search algorithm to find which skill can reach theopponent hit area.(4) If none of the skills qualify rule number 3, we used the skillSTAND_FB as the default skill.AttackCIG 2014, August 29, 2014 65. The skill search condition is based on four condition as follows: Position of opponent Attack area of desire skill Our energyAT TeamCIG 2014, August 29, 2014 66. DragonKingDeveloped by: Renan Motta Goulart, GuilhermeAlbuquerque Pinto.Affiliation: Universidade Federal de Juiz de Fora,Brazil.Contact: [email protected],[email protected] 2014, August 29, 2014 67. OutlineLearns how the opponent fights.Predict the oponent's next move by keepinginformation of his past actions and the distance whenthey were used.CIG 2014, August 29, 2014 68. OutlineThe possible attacks that the oponent might use arediscovered by using the average position and thestandard deviation of where the oponent attacked.CIG 2014, August 29, 2014 69. AI: Little FuzzyDeveloped By: Perry MonschauAs part of a University of Essex (UK)Msc ProjectProject Supervisor: Simon LucasCIG 2014, August 29, 2014 70. Little Fuzzy Outline Fuzzy Logic System Little Fuzzy uses fuzzy logic to determine movementwith the help of prediction Prediction System Little Fuzzy attempts to predict the opponentscurrent position and status to help determine its nextactions Learning System Little Fuzzy learns successful moves in given scenarios,and uses them to determine the best next action, byfinding the most similar scenario it knowsCIG 2014, August 29, 2014 71. Learning System Uses Success Rate and Damage to establishvalue of attacks it has learned Uses a Similarity Formula to match attacks tothe current scenario Uses Priorities, current battle over olderbattles Scenarios include prior actions, to learncombined attacksCIG 2014, August 29, 2014 72. Flexibility and Limitations No hardwired knowledge Could learn newly introduced moves by itself,simply by fighting No strategy categorisation, just individualscenarios Opponent skill determines skill of LittleFuzzy,but perhaps not quick enough LittleFuzzy is not expected to do well in the 1CcompetitionCIG 2014, August 29, 2014 73. PasanAI2Pasan JulsaksrisakulDepartment of Computer EngineeringChulalongkornCIG 2014, August 29, 2014 74. AI's Outline Use Reinforcement Learning Every state of the game and the action willcombine to create a state-action pair. These pairs will have a value, in which the AIwill try to find the correct value for eachstate-action pair The AI will fight against RandomAI and usethe result of each fight to adjust its value.CIG 2014, August 29, 2014 75. AI's Outline Use Reinforcement Learning(cont.) After finding the value for each state-actionpair, the AI will be able to determine the bestaction for each state i.e. the state-action pairthat has the highest value for that particularstate.CIG 2014, August 29, 2014 76. Defining state Each state of the game will containfollowing information Distance between each character(9 levels) States of each character(stand, crouch, etc.) Projectiles present or not Energy(4 levels)CIG 2014, August 29, 2014 77. FighTingGameAICompetition FINALNagoya UniversityIINUMA YuzuruCIG 2014, August 29, 2014 78. Introduction AI Name : PnumaSON3C_AI Character : LUD Developers' Name : IINUMA Yuzuru Affiliation : Nagoya University Country : JapanCIG 2014, August 29, 2014 79. AI's OutlineCIG 2014, August 29, 2014 80. AIs Outline (When my AI is down)Back JumpKick and CloseCIG 2014, August 29, 2014ENE MYMYENEMY 81. Seal_SwitchDeveloper : Komsorn PrammaneeChulalongkorn UniversityEmail : [email protected] 2014, August 29, 2014 82. Seal_Switch AIs Outline Use genetic algorithm. Gene is a list of input keyto use at any state. State calculate from frame data. Fitness function is score vs other AI. if I use AI X as fitness function, my AI will learn tocounter Xs Attack style.CIG 2014, August 29, 2014 83. Seal_Switch AIs Outline 1 AI cant counter all style. Make more AI (by change fitness functions AI)and let them switch. When my character take damage more thanthreshold, it will change style. When my character do damage more thanthreshold, reset the damage taken and increasethe threshold.CIG 2014, August 29, 2014 84. Fighting Game AI CompetitionSejongFighterDept. of Computer Engineering, Sejong UniversityCIG 2014, August 29, 2014 85. 1. IntroductionAI Name : SejongFighterCharacter : GARNETAdvisor- Kyung-Joong KimDevelopers Name- Hyeong Kim- Yoon-Jee Nam- Yo-Han ChuAffiliation- Dept. of Computer Engineering, Sejong UniversityCIG 2014, August 29, 2014 86. 2.AIs Outline(1) Movement1) To reduce the distance between two characters FOR_JUMPOpponents character ZEN GARNET LUDThe distancebetween two charactersMore than 280 More than 280 More than 3002) For attacking enemyIf the character is facing to the right inputKey.RIf the character is facing to the left inputKey.LCIG 2014, August 29, 2014 87. (2) attack- CROUCH_B & STAND_D_DF_FC (main attack skill)Energy Under 300 More than 300skillsContinuous moving attack skillAttack & Moving towards enemy CROUCH_B & inputKey.R or inputKey.LAttack by usingSTAND_D_DF_FCand get enemyknock down!CIG 2014, August 29, 2014 88. - STAND_D_DF_FA or STAND_D_DF_FBCondition :- The distance between two character is more than 300- Energy is more than 60state air stand, crouch, and downAttack skill STAND_D_DF_FA STAND_D_DF_FBEnergy ballSTAND_D_DF_FBEnergy ballEnergy ballEnemy is on airCIG 2014, August 29, 2014 89. CIG 2014, August 29, 2014Fighting Game AI Competition 2014TMr.Phakhawat SarakitMaster Degree StudentThailand Advanced Institute of Science and Technology and TokyoInstituteof Technology (TAIST-Tokyo Tech)Information and Communication Technology for Embedded Systems :ICTESE-mail : [email protected] 90. AIs OutlineI use same technique from first category in this third category it havesomething change that is some skill need energy for use I mustmonitoring energy and control energy flowThis is my technique :1.Measure-Sense-Action cycle(MSA Cycle)2.Fininte-State Machine(FSM)CIG 2014, August 29, 2014 91. Measure-Sense-Action cycle(MSACycle)MeasureSenseActionPicture 1.Measure-Sense-Action cycle(MSA Cycle)I measure distance X between opponent and my AI see enemy action,thing about it then find the best way to fight back the enemy.CIG 2014, August 29, 2014 92. Fininte-State Machine(FSM)Actually this technique it not different MSA Cycle I draw possible state inmy notebook and then create every state by using if-else conditionStartState 1 State 2State nTransition1Transition3Transition2Transition4Picture 2Fininte-StateMachine(FSM)CIG 2014, August 29, 2014 93. Future Work I plan to use machine learning technique , bayes netwrok or anytechnique about possibility.CIG 2014, August 29, 2014 94. CIG 2014, August 29, 2014That's All Folks!