Fighting Game AI Competition

Intelligent Computer Entertainment lab., Ritsumeikan University


Why fighting games?

Fighting game is a very challenging and entertaining game genre that requires the player to decide an action to perform among many actions (56 actions in FightingICE) within a short response time (16.67 ms in this game). Our research questions are whether or not it is possible to realize general fighting game AIs and if so how to realize them. By general fighting game AIs, we mean those that are strong against any opponents -- AIs or human players -- at any play modes using any character data. Top AIs in our the most recent competition have shown that the answer to the first question might be "yes", but it might take some time in order to answer the second question. Please join us in a journey to seek those answers!

What can the FightingICE platform do?

Our platform not only supports Java programming but is also wrapped for Python programming by Py4J to develop AIs. This platform allows you to design flexible AIs: you can create AI algorithms in order to use on NPCs. This means that you can make unique attacks, combos and movements, etc., depending on the algorithms in use; you can also make and learn action patterns from your opponent.

The platform has been designed to send delayed game information to the AIs which will use the same interface as that used by a human player to input their commands. Such delay is introduced because we want to add more risks to the defense play style and simulate the reaction delay of human players. However, to promote more use of visual-based AIs using deep learning etc., you can get around the delay issue if you choose to develop a visual-based AI using a method called getDisplayByteBufferAsBytes. Sample visual-based AIs in Java and Python are available in the end of index-2h.You can also find another sample visual-based AI in Python in the folder Python.

Before our engine was developed, there had been some popular fighting game engines, such as, M.U.G.E.N and zero2d. M.U.G.E.N is a 2D fighting game engine designed to be used by people with little or no programming experience. For this reason, it is hard to design a non-rule-based or advanced AI on it. As a result, we decided to develop our new engine.

Game resources are from The Rumble Fish 2 with the courtesy of Dimps Corporation. Lower resolution graphics than the original ones are used in released FightingICE for the sake of AI research purposes.