2016 Fighting Game Artificial Intelligence Competition

Preview:

Citation preview

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: renan.motta@ice.ufjf.brCIG 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

ContactJaykim0104@gmail.com

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 : 40147014S@ntnu.edu.tw , asdwayne1@yahoo.com.tw

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 navi1921@gmail.com

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!

Recommended