DareFightingICE Competition (formerly Fighting Game AI Competition)

Intelligent Computer Entertainment lab., Ritsumeikan University

Get started ------ Install

Following the next steps, you can install DareFightingICE (formerly FightingICE) as well as AIToolkit and start your first step.

--------------------------------------------------------------------------------------------------------------------

For versions from 6.0, please install JDK (17 or later). Please also make sure to delete the module-info.java if the file exists in the project. (For versions until 5.2, please install JDK (8 or later); in addition, if you use java SE9 or later, please delete the module-info.java.) (updated on March 11, 2023)

------ OpenJDK download page ------

and choose an integrated development environment such as Eclipse

------ Eclipse download page ------

--------------------------------------------------------------------------------------------------------------------

Second, download the DareFightingICE platform and AITookit at

Latest versions:

------ Version 6.1 ------(released on October 5, 2023; the latest official version for the upcoming 2024 competition.)
------ Version 5.3 ------(released on March 11, 2023; an updated version of 5.2 used at the 2022 competition, where the issue of the game randomly not responding when using fast mode (sorry!) was fixed. However, from the 2023 competition, Version 6.0 or later must be used for AI development. )
------ Version 4.50 ------(released on March 22, 2020; the official version for the 2020 and 2021 competitions, in case for some reasons you still need it for research (although there should be no issue with Version 5.0).
------ API for OpenAI Gym ------(updated on July 8, 2019; in case you want to develop your AIs with the OpenAI Gym toolkit for this competition or research)
------ GitHub Project of FightingICE ------(in case you need to modify the platform itself for research purposes)

October 5, 2023

--Please use the latest version of DareFightingICE (Version 6.1) for the upcoming 2024 competition, which is also recommended for research or projects conducted after the release date. For installation, please extract the zip file and run the script of your OS type. If you have installed Version 6.0.2, because several resource files have changed, please use all the resources provided in Version 6.1 instead. See our summary of changes from 6.0.2 to 6.1 on this page.

March 25, 2023

--Please install the latest version of DareFightingICE (Version 6.0.2) for the 2023 competition, where gRPC is used for developing AIs, according to the instructions on index-2h.html. If you have installed Version 6.0.1, please just replace FightingICE.jar with the new one. See our summary of changes from 6.0.1 to 6.0.2 on this page.

March 17, 2023

--Please install the latest version of DareFightingICE (Version 6.0.1) for the 2023 competition according to the instructions on index-2h.html. If you have installed Version 6.0, please just replace the data\sounds folder with the new one. See our summary of changes from 6.0 to 6.0.1 on this page.

March 11, 2023

--Version 6.0 was released, where gRPC is used for improving data transfer efficiency. Please read this paper for more details.

April 20, 2022

--Please install the latest version of DareFightingICE (Version 5.2) for the 2022 competition according to the instructions in index-2h.html. This is an updated version from 5.1, published on March 26, 2022. In this 5.2 version , the Heartbeat sound effect now plays when the limithp flag is on and the hp goes below 50. Previously the sound effect did not play at all (sorry!). If you have already installed 5.1 (or 5.0), please just replace the current FightingICE.jar and AIToolkit.jar with the new ones; otherwise, please also have a look at the info below published on February 26, 2022, before installation.

March 26, 2022

--Please install the latest version of DareFightingICE (Version 5.1) for the 2022 competition according to the instructions in index-2h.html. This is an updated version from 5.0, published on February 26, 2022. In this version, we have fixed the problem in 5.0 that sound stops playing after the platform runs for multiple games. If you have already installed 5.0, please just replace the current FightingICE.jar and AIToolkit.jar with the new ones; otherwise, please also have a look at the info below published on February 26, 2022, before installation.

February 26, 2022

--Please install the latest version of DareFightingICE (Version 5.00) for the 2022 competition according to the instructions in index-2h.html, where you should also check --disable-window and --blind-player options. If you have already installed 4.50, please just replace FightingICE.jar, AIToolkit.jar, and the sounds folder in data/ with the new ones. Please also check
1. aiinterface/AIInterface.html (getAudioData method)
2. struct/AudioData.html (the whole page)
3. struct/FFTData.html (the whole page)
in index-2a.html.

March 22, 2020

--Please install the latest version of FightingICE (Version 4.50) for the 2020 competition according to the instructions in index-2h.html. If you have already installed 4.40, please just replace everything with the new one, but be sure to keep your AI code elsewhere first and move it back afterwards.

Changes from FTG4.40 to FTG4.50
1. simulator.Simulator has been modified where all skills are now considered during simulation.
2. The character data of ZEN has been tuned for the 2020 competition and onward. This set of character data will be used in the competition while we will use different sets of character data of GARNET and LUD.
3. Three new options have been added as follows:
"--slow": show a slow motion effect at the round end.
"-f x": set the number of total frames to x for a round.
"-r x": set the number of total rounds to x for a game.
For other existing options, see index-2h.html.

In addition, on GitHub two new folders have been made available for research purposes as follows:
for_nonDelay: here you can find a version with no-delayed game state information.
multi_start_up_for_Deep: here you can find relevant scripts for running multiple games at the same time.

July 8, 2019

--Please install the latest version of FightingICE (Version 4.40) for the 2019 competition according to the instructions in index-2h.html. If you have already installed 4.30, please just replace everything with the new one, but be sure to keep your AI code elsewhere first and move it back afterwards. In Version 4.40, a subtle graphic bug in the beginning of each round has been fixed. In addition, a new parameter isControl (with no delay) has been introduced in getInformation(FrameData fd, boolean isControl) in AIInterface.

May 26, 2018

--Please install the latest version of FightingICE (Version 4.30) for the 2018 competition according to the instructions in index-2h.html. If you have already installed any of Version 4.00 to 4.20, please just replace the old FightingICE.jar with the new one. In Version 4.30, a bug when launching FightingICE from Python with the options --fastmode and --disable-window has been fixed.

April 10, 2018

--Please install the latest version of FightingICE (Version 4.20) for the 2018 competition according to the instructions in index-2h.html. If you have already installed Version 4.10, please just replace the old FightingICE.jar with the new one. In Version 4.20, a bug in the no-window mode has been fixed.

March 20, 2018

--Please install the latest version of FightingICE (Version 4.10) for the 2018 competition according to the instructions in index-2h.html. If you have already installed Version 4.00, please just replace the old FightingICE.jar with the new one. In Version 4.10, a time consuming issue in getDisplayByteBufferAsBytes has been fixed.

March 6, 2018

--Please install the latest version of FightingICE (Version 4.00) for the 2018 competition according to the instructions in index-2h.html.

August 31, 2017

--If you execute your Python AI using FightingICE version 3.20 or later, please implement roundEnd() function as follows:
--------------------------------------------------------------------------------------------
# please define this method when you use FightingICE version 3.20 or later
def roundEnd(self, p1Hp, p2Hp, frames):
print(p1Hp)
print(p2Hp)
print(frames)
---------------------------------------------------------------------------------------------
as done in our revised DisplayInfo.py.

June 26, 2017

--A simple tool for analyzing replay files has been made available in the end of index-2h.html.

June 20, 2017

--An update of FightingICE (Version 3.20: the official version for the 2017 competition) has been released. For details on changes in this update, please check this document. If you have already installed version 3.10, please update files available in this zip file; the hit-box boundary of ZEN (ZEN's character data) has been slightly modified, and the final competition will be run in the grey-background mode, rather than the black one in the mid-term.

March 30, 2017

--Added a competition compatible version of a visual-based deep learning sample AI, BasicBot, in the bottom of index-2h

March 22, 2017

--Added a visual-based deep learning sample AI, BasicBot,in the bottom of index-2h
--Added the following information in the middle of index-S
1 If you develop AIs in Python, please use Python 3.5, the official version of Python for this competition.
2 No deep learning libraries such as Torch or TensorFlow are supported at our competition servers. As a result, if your AI is a deep learning one, you should do as follows:
2.1 Submit an AI that does not need such deep learning libraries, but can perform forward propagation through the trained network from the input layer to the output layer and then conduct an action associated to one of the output units.
2.2 Store all trained weights in a folder with the same name as your AI. In the competition, this folder will be placed under ./aiData/
2.3 Refer to the following sample AI which strictly follows 2.1 and 2.2:
Sample_LoadTorchWeightAI.zip
In addition, for Python deep learning AI developers, you might find the following site useful:
https://github.com/oreilly-japan/deep-learning-from-scratch
3 For fair competition among various approaches, use of GPUs is prohibited at the competition servers.

March 9, 2017

Please upgrade FightingICE and AIToolKit to Version 3.10. If you already installed Version 3.00, you can just update AIToolKit.jar and FightingICE.jar.
Below is the list of what we did in this update.
#Fixed bugs
--Did not remove the hadouken effects when a round is changed while playing a replay file
--Did not play the sound effects when an attack hits the opponent
#New Implementation
--a sample script in Python for playing a replay file (see the folder PythonReplay in the enclosed folder Python)
#Modifications
--Set some methods to "deprecated" (unrecommended) and/or added recommended methods
--Updated relevant javadoc in index-2a making them easier to understand
--Updated relevant PDF documents in index-2a
--Added useful comments to machete.py in the enclosed folder Python
--Added useful Linux setup scripts for Linux users in the top of index-2h
--Added two sample deep learning AIs in the bottom of index-2h
For other useful information, please see our descriptions for Version 3.00 on Feb 4, 2017 below. Please also check our Facebook page.

Hope you enjoy our latest version of FightingICE!

Febuary 4, 2017

Please upgrade FightingICE and AIToolKit to Version 3.00 (released on Feb 4, 2017) for the 2017 competition. A description on how the 2017 competition is conducted can be found in index-3. For how to install and other details on new useful options, please read our instructions in index-2h. However, if you already installed Version 2.10 for the 2016 competition, you can just update the following files:
lib/gameLib.jar
AIToolKit.jar
FightingICE.jar
\data\character\ZEN\Motion.csv
\data\character\ZEN\gSetting.txt
\data\character\GARNET\Motion.csv
\data\character\GARNET\gSetting.txt
\data\character\LUD\Motion.csv
\data\character\LUD\gSetting.txt
In addition, please add py4j0.10.4 into FightingICE/lib and set the path on your Eclipse. Please also note that the provided Lud's character data are not official and will be changed when we run the competition.

2016 version:

------ Version 2.10 Upgrade Pack (released on August 10, 2016) ------

------ FightingICE Version 2.00 released on March 30, 2016) ------

------ AIToolKit Version 2.00 (included in the above FightingICE.zip)------

August 10, 2016

Please upgrade FightingICE and AIToolKit to Version 2.10 with many useful options. For how to install and other details, please read the REAME file therein. Hope you enjoy our latest version of FightingICE.

March 30, 2016

Please download FightingICE version 2.00, to which the combo system was introduced. We hope you enjoy our latest version of FightingICE and new competition ranking rules, which should promote more use of AI techniques. Please also check our new sample AI using MCTS, available at the bottom of index-2h.html.

November 03, 2015

FightingICE and AIToolKit have been updated to Version 1.23, where there is no longer limit in the maximum number of frames (int simulationLimit) that can be simulated by the method simulate in class Simulator. Please note that the said limit in Version 1.22 was set to 60 frames. If you have already installed Version 1.22, you only need to replace the old AIToolKit.jar and FightingICE.jar with the new ones. The simulator package released for reference in the end of index-2h.html has also been modified accordingly.

June 22, 2015

The simulator package used in JerryMizunoAI was released in the end of index-2h.html. You can check the source codes, modify them accordingly (e.g., by extending the maximum number of simulated frames from the current setting of 60 to, say, 300), and import this package to your AI.

May 12, 2015

It might be worth mentioning some manual controls (P1's perspective) as follows:
-> + -> is DASH
<- + <- is BACK_STEP (however, this motion needs energy in V1.2x)
<- is STAND_GUARD (In V1.1x the character moves back while guarding, but in V1.2x the character stays there while guarding)

May 11, 2015

Oops, we forgot mentioning in Javadoc that the maximum number of frames (int simulationLimit) that can be simulated by the method simulate in class Simulator is 60. Please see how the method is used in JerryMizunoAI. In addition, from FightingICE 1.20 and its subsequent versions you can quit the current game and return to the game menu by pressing the Esc key.

April 17, 2015

FightingICE and AIToolKit have been updated to Version 1.22, by which the break length between consecutive rounds has been slightly expanded to ensure that both AIs will start each round will their proper initial states. In addition, from this version, a new package "simulator" is provided that can be used as a forward model for predicting future states; please check our brand new sample JerryMizunoAI, which uses the package. Finally, AIR_D_DF_FA skill has been revised to its correct value 10 in \data\character\ZEN\Motion.csv.

March 8, 2015

FightingICE and AIToolKit have been updated to Version 1.21, by which the names of methods setSizeX(or Y), setCenterX(or Y), getSizeX(or Y), getCenterX(or Y) have been renamed to setGraphicSizeX(or Y), setGraphicCenterX(or Y), getGraphicSizeX(or Y),getGraphicCenterX(orY). They are used in platform development but not in AI development. If you have already installed Version 1.20 released on March 6, 2015. Please simply replace the jar files in your projects with the new ones, accordingly.

March 6, 2015

FightingICE and AIToolKit have been updated to Version 1.20, by which the loading time was significantly reduced, the character data of ZEN were adjusted for better balance among its skills, the method lever in Key was removed, and some methods were newly added. For more details on those newly added methods, please see the highlighted methods in Introduction of the relevant data and methods.pdf.

July 2, 2014

FightingICE and AIToolKit have been slightly updated, by which a bug about ZEN being able to walk pass its enemy character in Category 3C has been removed. In addition, comments to the newly introduced methods were added. The Javadoc pages that include those new methods have also been updated accordingly.

June 27, 2014

FightingICE and AIToolKit have been updated.


March 20, 2014

A new sample AI, MizunoAI, has been added in the bottom of the following

page: Get started-First step

January 30, 2014

The next competition will be run at CIG 2014.

http://www.cig2014.de/

September 7, 2013

A new sample AI, MotionDataSample AI, has been added, which gives a very simple sample on how to use the method CancelAbleFrame in the class MotionData. This AI does nothing but displays its opponent character's return value of CancelAbleFrame.

September 4, 2013

We have updated FightingICE to Version 0.52 where the HP of each character will be decreased. (it was increased in the earlier versions)

In addtition, the getCancelAbleFrame method in the MotionData class will return -1 if the motion of interest has no cancelable period. (0 was returned in this case in the earlier versions)

We have also revised Introduction of the relevant data and methods.pdf and Information about the character.pdf, accordingly.

August 21, 2013

FightingICE and AIToolKit have been updated to Versions 0.51 and 0.31, respectively. After decompressing them, the folder data/aiData will also be created and AIToolKit.jar will be available, respectively.

A description on file submission has been revised in Submission

August 21, 2013

The midterm-submission deadline has been extended to August 27, 2013 (23:59 JST).

FightingICE and AIToolKit have been updated to Versions 0.50 and 0.30, respectively. In this update, the method close() has been newly introduced in AIInterface for properly finalizing AI at the end of each game. If this method is not used, your AI may not work properly. Please see how to use it in the also-updated AI samples in Get started-First step, where the description about close() has also been added.

In addition, the description on File I/O in The rules-Competition has been updated.

August 16, 2013

FightingICE has been updated to Version 0.41, where during the replay-mode, the round information is displayed at the top-right of the game display.

The page Get started-First step has been revised with easier-to-read explanations.

The description of the formula for calculating the player character's score in Rules-Game has been corrected.

The brief table of skills in Get started-Advanced has been updated with information on the key-input conversion.

August 15, 2013

FightingICE has been updated to Version 0.40 with the following modifications.

1. It will now not show an error when the number of files in log\replay is larger than 64 and the number of AIs in data\ai than 32 (However, we recommend you keep the number of files less than these limits.)

2. All default AIs (jar files) in data\ai have been removed.

3. The round information is displayed at the top-right of the game display.

August 14, 2013

The following documents have been revised.

In Rules-Game

1. the formula for calculating the player scores

2. the description on the special rule

3. the two figures at the bottom of this page

In Get started-Advanced

1. all PDF file documents; the edited log can be seen in the following files:

Introduction of the CommandCenter class with edited log

Introduction of the relevant data and methods with edited log

Introduction of the game flow with edited log

Information about the character with edited log

August 10, 2013

The following documents have been revised:

In Get started-First step

1. The description of void get Information(FrameData fd) has been revised.

In Get started-Advance

1. Introduction of Command class's lines 10,23-25,30 in the sample AI.

August 8, 2013

The link of AIToolKit has been corrected. Sorry about this!

August 1, 2013

FightingICE has been updated to version 0.32.

AIToolKit has been updated to version 0.2.

Some comments of program were modified. Some unnecessary comments were deleted.

July 19, 2013

FightingICE has been updated to Version 0.3.

Ready time, replay system, BGM and effective sound have been added to the platform.

--------------------------------------------------------------------------------------------------------------------

Please download FightingICE and open the self-extract file to finish the installation.

Please keep your FightingICE and AIToolkit the latest ones.

--------------------------------------------------------------------------------------------------------------------