2016 fighting game artificial intelligence competition
TRANSCRIPT
Fighting Game Artificial Intelligence Competition Platform
2016 Fighting Game AI CompetitionYuto Nakagawa lead programmer Makoto Ishihara programmer Taichi Miyazaki programmer Samuel Henzprogrammer Pujana Paliyawantester, etc. Shubu Yoshidatester, etc.Kaito YamamotoconsultantTomohiro Haradavice directorRuck ThawonmasdirectorTeam FightingICEIntelligent Computer Entertainment LaboratoryRitsumeikan UniversityJapan
Game resources are from The Rumble Fish 2 with the courtesy of Dimps Corporation.
CIG 2016: Sep 22, 2016
1
About UsFightingICEContestResultsContentsCIG 2016: Sep 22, 2016
2
AffiliationsCollege of Information Science and EngineeringGraduate School of Information Science and EngineeringRitsumeikan Center for Game Research StudiesMore than 30 of our graduates work for KONAMI (6), KOEI TECMO (4), Dimps (4), SEGA (4), CAPCOM (3), NHN PlayArt (2), FromSoftware (2), CROOZ, COLOPL, SQUARE ENIX, DWANGO, BANDAI NAMCO Studios, BANDAI NETWORKS, PlatinumGames, Marvelous AQL, SSD, etc.
ContentsIntelligent Computer Entertainment Laboratory, Ritsumeikan University
CIG 2016: Sep 22, 2016
303
Fighting game AI platform in Java viable to develop with a small-size teamFirst of its kinds since 2013 & CIG 2014 with most previous AI source codes availableUsed in classes at Otto von Guericke University Magdeburg, Germany Ritsumeikan University, JapanSejong University, South KoreaUniversity of Malta, Maltaetc.
FightingICECIG 2016: Sep 22, 2016
Game resources are from The Rumble Fish 2 with the courtesy of Dimps Corporation.
Malta4
FightingICEs FeaturesCIG 2016: Sep 22, 2016
Special EffectAIKinectMCTSAIAIF1AILUDAI
5
Interactions between the AI/Human Players and the SystemCIG 2016: Sep 22, 2016
6
Players use attack actions (skills) and moving actions to fight
A skill has 3 stages:Startup, Active and RecoverySkill System (1/4)CIG 2016: Sep 22, 2016
7
Skill System (2/4)Startup1st stagePrepare to attackNo attack box, so no damage to give
CIG 2016: Sep 22, 2016
8
Skill System (3/4)
Active2nd stageThe small red box -- attack box -- can be seen on the characters armIn these frames, if the opponents attack hit box coincide with this attack box, the opponent will be damaged
CIG 2016: Sep 22, 2016
9
Skill System (4/4)
Recover3rd stageRecover to normal statusSpecial frame: cancelableSome skills can be used during cancelable frames CIG 2016: Sep 22, 2016
10
About UsFightingICEContestResultsContentsCIG 2016: Sep 22, 2016
11
For each of the three tournaments ZEN, GARNET, and LUD
Two games, each switching the player sides, are played for each pair of submitted AIs in a round-robin fashion.A game has 3 rounds, each with 5-second ready time and 60-second fighting time.The characters' position will be reset when time over, and if it is not already in the third round, the system will start a new round.Points are awarded to each AI according to their position using the 2015 Formula-1 scoring system.
Contest Rules
CIG 2016: Sep 22, 2016
F112
13 AIs from 6 locationsBrazil, Germany, Japan, South Korea, Taiwan, and ThailandTechniques (more use of advanced techniques)6 AIs -> a combination of rules and MCTS5 AIs -> rule-based algorithms (less popular this year!)1 AI -> a combination of Baysian-based opponent modeling and a rule-based algorithm1 AI -> Dynamic ScriptingSummary of AI FightersCIG 2016: Sep 22, 2016
AIAI13
About UsFightingICEContestResultsContentsCIG 2016: Sep 22, 2016
14
ZENGARNET LUDSUMRANKBANZAI002211DragonSurvivor010112paranahueBot (aka iaTest)1506217IchibanChan44199JayBot2016101212345KeepYourDistanceBot220410MctsAi (sample AI)18818443MrAsh12188384Poring1104158Ranezi62515462Snorkel000013Thunder01251525651Tomatensimulator8610246Triump000014
CIG 2016: Sep 22, 2016Formula One Points Scoring
15
RANKBANZAI10DragonSurvivor11paranahueBot (aka iaTest)6IchibanChan8JayBot20164KeepYourDistanceBot9MctsAi (sample AI)*MrAsh3Poring7Ranezi2Snorkel12Thunder011Tomatensimulator5Triump13
CIG 2016: Sep 22, 2016Final Ranking among Participants2016 Winners1st Thunder01 by Eita Aoki non-student, Japan, using Machete (2015 1st place rule-base AI) + MCTS
2nd Ranezi byAnne-Lena Simon, Simone Bexten, Raziyeh GhassemiOtto-von-Guericke-University Magdeburg, Germany, usingOriginal rule-base algorithm + MCTS
3rd MrAsh byChe-Chun Chen, Cheng-Yuan Wu, Tsung-Che Chiang National Taiwan Normal University, Taiwan, usingMachete + MCTS Standing on the shoulders of giants seems to work!
16
CIG 2016: Sep 22, 2016Appendices: AI Details(in alphabetical order)
BANZAI-AI code for FightingICE 2016 competition -Sato Naoyuki(JAIST - Japan)CIG 2016: Sep 22, 2016
BANZAIMethodDynamic Scripting[Online adaptation] with [Hand-coded routines] Ref. -> Pieter S, Marc P, Ida S and Eric P. "Adaptive game AI with dynamic scripting," Machine Learning 2006, Vol.63, pp.217-248, 2006.
[Rule A]IF THEN jump back[Rule B]IF THEN throw him[Rule C]IF THEN RulebaseAI_Script-[Rule A]-[Rule C]-[Rule D]
Make ScriptShuffle Rules sometimesFight against enemyAI FighterJudge which rule was effective(by observing the battle)CIG 2016: Sep 22, 2016
Rules for dynamic scriptingIf-Then ruleHand codedIF enemy is [NEAR/MIDDLE/FAR] from meTHEN perform [Back Jump/Punch/Kick/ Courch_ and_Kick/Jump_and_Kick/Projectile Attack/ ]3 rules for NEAR distance4 rules for MIDDLE distance3 rules for FAR distance3 rules for ANY distanceThough, these 3 rules are activated only when no other rule is activated. CIG 2016: Sep 22, 2016
Class structureBANZAI.java RuleLine.javaRULE_xxx_aaa.javaRULE_xxx_bbb.javaRULE_yyy_ccc.java
ScriptHandler.javaInquire next moveSend next keyPick out to form a scriptCIG 2016: Sep 22, 2016
DragonSurvivorDeveloped by: Renan Motta Goulart.
Affliliation: Universidade Federal de Juiz de Fora (PGCC/UFJF), Brazil.
Contact: [email protected] 2016: Sep 22, 2016
22
DragonSurvivorUses a simple bayesian algorithm to predict the next move of the opponent.There are four different distances: Close, Medium-close, Medium and Far.For every region it is kept the last five moves by the opponent.The most common move in these five is the one supposed that the opponent will use. CIG 2016: Sep 22, 2016
23
DragonSurvivorFor each of the four distances there are counter-measures to be used against each move.
Counter-measures for the same move can vary in relation to each region.
Counter measures were discovered by myself playing against my AI. I stopped once i could not beat it anymore.
CIG 2016: Sep 22, 2016
24
IchibanChanOtto-von-Guericke University Magdeburg, Germany
Anna Schmeier | Daniel PohlandtCIG 2016: Sep 22, 2016
25
Basic IdeaRule-based AI with defined States based on:
X-distance between players
Distance to the walls
Is enemy in the air?
Energy
CIG 2016: Sep 22, 2016
26
X-Distance between PlayersFar Range: minimize distance
Mid Range: minimize distance, (super attack)
Near Range: kick, (slide)
Contact Range: kick
CIG 2016: Sep 22, 2016
27
Distance to the WallsMe between wall and enemy (BAD!) Escape with jumping, (sliding)
Enemy between wall and me (GOOD!) Do contact range action
CIG 2016: Sep 22, 2016
28
Is Enemy in the Air? / EnergyIf enemy is in the air: (mainly mid range) Beat upwards in the air to hit him while landing
Own Energy >= 50 (>= 300) Stronger attacks like sliding (super attack)Enemy Energy >= 300 Avoid getting hit by super attack through jumping
CIG 2016: Sep 22, 2016
29
RandomnessMid Range && ! Enemy in the Air && Energy < 50a) DASH (50%)b) FOR_JUMP _B(50%)
More than 1 action per state possible
Decide with probabilities hardly predictableExampleCIG 2016: Sep 22, 2016
30
IntroductionAI Name : JayBot2016
Developer Name : Man-Je Kim(Undergraduate Students)
Advisor Name : Kyung-Joong Kim
Affiliation : Sejong University(KOR)
CIG 2016: Sep 22, 2016
Contents
Jaybot(Last year Third prize)+MCTS(MonteCarlo Tree Search)
MCTS based rule coding AI
CIG 2016: Sep 22, 2016
CompositionDistance Data(Excepted Air)Processing(reference FTGs MCTS)New Reward fomula
JayBot2016CIG 2016: Sep 22, 2016
CIG 2016: Sep 22, 2016
ICE Fighting Game Competition AIKeepYourDistanceBotDevelopers: Aleksandar Stojnic, Chenke RongAffiliation: Otto-von-Guericke-University Magdeburg, GermanyCIG 2016: Sep 22, 2016
35
ICE Fighting Game Competition AIRule-based algorithmKeep distance from opponent
Don't engage in close combat
Only use the fireball attackIdeaCIG 2016: Sep 22, 2016
36
ICE Fighting Game Competition AIIf distance to opponent < comfort zoneGet away from opponentIf corneredJump over opponent and attack (in case of a counter) orWhile doing all of thatSpam fireballBasic OverviewCIG 2016: Sep 22, 2016
37
Fighting Game AI: MrAsh
Developed by : Che-Chun Chen, Cheng-Yuan WuInstructor:Tsung-Che ChiangNational Taiwan Normal University
Contact : [email protected] , [email protected]
CIG 2016: Sep 22, 2016
Different AIs strategyThe rule-based AI of 2015 champion (Machetes AI) is effective.MCTS is often able to respond well.Therefore, we try to combine rule-based AI and MCTS methods.CIG 2016: Sep 22, 2016
Condition DefinitionCondition CharacterAir or FloorCornerPowerful special skillHP, energy, distance, etc...AdaptiveIf the condition is not easy to deal with, we use MCTS to choose probably effect actions.Game statecertain condition satisfiedMCTSpredefined actionreturn action
yesnoCIG 2016: Sep 22, 2016
Game state -> certain condition satisfied -> predefined action | V MCTS | V return action40
Paranahue BotGinaldo OliveiraIvan Pereira [email protected]
Undergraduate StudentsFederal University of MaranhoCIG 2016: Sep 22, 2016
OutlineRule-based , designed by expert players
Agressive gameplay on corners
Agressive exploiting of grabs
CIG 2016: Sep 22, 2016
Jumps to get close
By no means defend itself, confidente on attack plan
CIG 2016: Sep 22, 2016
Thanks!
CIG 2016: Sep 22, 2016
Poring AiThiti KitiwakulSamhingkarn YoosnanWorawat Choensawat & Kingkarn Sookhanaphibarn (Advisor)
School of Technology and InnovationBangkok UniversityThailand
Our Proposed ConceptWe developed an AI by applying rule-based method to MctsAi. The rule-based is used to define the fighting states and actions, the considering variables are as follows:Distance between player1 and player2State between player1 and player2Our AI robot makes decision based on the following states:Defenese State - Attack State Action when the enemy is in range. Action when the enemy is in melee. Action when the enemy is in air state Action when the enemy used skill
Check Method rulebasedZen setActionGarnet setActionLud MctsAi
Rule-based for Zen character We call method rulebasedZen until Enemy has energy more than 300 becauseMctsAi is better in checking a Special skill and can escape skill from enemy. Zen concept is focus on to Air Style and Escape Enemy
Garnet First we check Distance between P1 and P2 and Score if myScore < oppScoremy character will change state to goface for prepare fight Second, we check skill if opponent used skill STAND_D_DF_FB my character will use Crouch_FB because this skill is easy way to escape Third If out of condition my ai will switch to MctsAi but our renew to sort skill in array
setAction LUDOur concept in Lud Character First check MyScore < EnemyScore switch stage to prepare for fight Seoncd If the enemy stay in angle my ai will used skill CROUCH_FB Third If out of condition my character will change Stage => Fight
THX FOR WATCH!!!
RANEZIAnne-Lena SimonSimone BextenRaziyeh GhassemiCIG 2016: Sep 22, 2016
INITIAL OBSERVATIONMCTS sample AI very strongBut: MCTS barely tries to reduce distance to enemy, wasting a lot of time MCTS often gets hit by projectilesCIG 2016: Sep 22, 2016
OUR APPROACH ORIGINAL CONCEPTModified MctsAIAdd rule-based system Limit available moves depending on game state E.g. only ranged attacks and forward movement if far awayCIG 2016: Sep 22, 2016
SNORKEL
Suriya SampanchitAriya TippawanKingkarn Sookhanaphibarn (Advisor)Worawat Choensawat (Advisor)
School of Science and TechnologyBANGKOK UNIVERSITYThailand
Overview of Our AI characterWe use a ucb ,reward and rule-based algorithm with main varaibles to define the fighting states and actions; and the variables are as follows: -Damage MyAI-Damage Opponent AI-Distance from Opponent-Opponent Action- Our AI Energy
Our AI fighting states are divided into two states by considering the distance from Opponent:-Defense state when Opponent is FAR.-Attack state when Opponent is NEAR.
UCB1 include REWARD Algorithm UCB1 is one of popular algorithms to handle the exploitation and exploration dilemma. selects the action j that gets the highest UCB1 value .It linearly combines estimated expectation reward (xj) and curiosity (right term) of specific action j (n: # of trial of all actions, nj: # of the action js trial). Eventually, this value becomes higher when the action js reward is high and/or curiosity term is high. The UCB1 is used to collect the data actively. This algorithm
The reward is the summation of difference of between hit to opponent damage (h) and from opponent (d) for 120 frames after the action execution reward=r i (hi-di)i: frame index from action startr: degrading factor, 0.98
AI Namethunder01Developers Nameeita aokiAffiliationIm not student
CIG 2016: Sep 22, 2016
AIs OutlineBASE Algorism :EMCTS(Extended MCTS)I Extend Sample MCTS by Below Method.Incorporate Motion of Opponent to MCTConsider Energy
ZEN: Combine Algorism of Winner of FTG2015(Machete) and EMCTSGARNET:EMCTSLUD:EMCTS considering DistanceCIG 2016: Sep 22, 2016
EMCTSHow to Simulate My player : will move high UCB1 move (to make My player winner)Opponent : will move low UCB1 move (to make My player loser)
This Algorism think Opponent can simulateMy players move correctly.So, If Opponent is Strong ,My Algorism can simulate Opponents move more correctly.CIG 2016: Sep 22, 2016
LUDLUD is Unknown CharacterIf both player repeat run away, both player get 0 point.I hate it.So , If My Character dont win, reduce distance to Opponent.I confirmed ZEN and GARNET dont repeat run away. So, this algorism is only for LUD.CIG 2016: Sep 22, 2016
TomatensimulatorJan Sabsch, Bjrn Golla
Otto-von-Guericke University, MagdeburgQuelle: http://publicdomainvectors.org/de/kostenlose-vektorgrafiken/Tomaten-Pflanze-Vektor-ClipArt-Grafik/18196.html
Two step decision makingStep Action Pruning:Fill Actionpool depending on state AIR or GROUNDRemove Actions that are not successful based on:Energy levelHitbox collision
Step Action Selection:Select best Action from the viable option pool based on weighted parameters:DamageEnergy BalanceStartup TimeSpeed in x and y direction
TriumpSchool of Science and TechnologyBANGKOK UNIVERSITYThailand
Sorntad PeetawattanakulPrapawarin PramookrotjanaritWorawat Choensawat (Committee)Phattanapon Rhienmora (Committee)Kingkarn Sookhanaphibarn (Committee)CIG 2016: Sep 22, 2016
Our Proposed ConceptWe developed Our AI with rule-based method for fight with enemy characters.We are considering variables are as follows Distance and Energy.
Our AI make decision as follows with 2 statesDefense state Attack state
CIG 2016: Sep 22, 2016
Attack stateOur AI will be calculate distance form opponent and use skill for attack.Our AI will use skill FOR_JUMP when our character at corner and opponent come closer.
CIG 2016: Sep 22, 2016
Defense stateWe use skills Throw_A for keep Distance with opponent. If time remaining less than 1000 and have energy more than 300 our AI will use ultimate skill immediately.
CIG 2016: Sep 22, 2016
Frame&character Data Get remainning time STAND_D_DF_FCEnergy>=300AIR_D_DF_FBSTAND_F_D_DFBAIR_DBRemaning time < 1000 remainning time < 1500Enermy Y > My YSTAND_F_D_DFAGet enermy & My state STAND_F_D_FBMy energy >50YesNoYesYesYesYesYesYesNoNoNoEQUAL STATE AIRBYesNoDistance Y 300
STAND_D_DF_FAYesYesNoNoNoGet my X > 600Get my X < -100BFOR_JUMPFOR_JUMPGet distanceskillNoYesYesCIG 2016: Sep 22, 2016
CIG 2016: Sep 22, 2016Thank you and see you at CIG 2017!