laitimes

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

Bowen is from The Temple of Convi

Qubits | Official account QbitAI

Now AI is beginning to learn to rub the arcade frame by frame?

King of Fighters 98, Street Fighter, Dead or Alive... All my childhood memories have been played, including the 3D fighting game "Iron Fist", which claims to be played 5,000 times to get started:

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

That's right, it's the "Iron Fist" that is extremely unfriendly to novices, and casually pull a character's rub table to feel the complexity:

(Yes, the JF technique of various frame-pressing judgments is one of its characteristics)

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

△ Iron Fist TT2 out of the move table

However, ai can pass the highest difficulty in the pit not long after entering the pit.

Behind this AI is a personal developer and an avid arcade game enthusiast.

His trained novice "Blacksmith" has been hot for nearly 500 on Reddit's "Game Recording":

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

Reinforcement learning training framework

Behind the AI blacksmith is a reinforcement learning interaction framework called DIAMBRA Arena.

DIAMBRA Arena offers multiple reinforcement learning research and experimental environments with episodic reinforcement learning tasks consisting of discrete movements (such as gamepad buttons) and pixels and data (such as character health bars) in the screen.

In this framework, the agent sends an action to the environment, processes it, and accordingly transitions a starting state to a new state, and then returns the observation and reward to the agent, thus interactively looping:

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

The code to implement the above loop is also very simple:

import diambraArena

# Mandatory settings

settings = {}

settings["gameId"] = "doapp" # Game selection

settings["romsPath"] = "/path/to/roms/" # Path to roms folder

env = diambraArena.make("TestEnv", settings)

observation = env.reset()

while True:

actions = env.action_space.sample()

observation, reward, done, info = env.step(actions)

if done:

break

env.close()

This framework currently supports linux, Windows, MacOS and other mainstream operating systems.

The "real battlefield" of this AI is the early Tekken Tag Tournament, of course, the complexity of the rub is not inferior to the new version after that...

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

The developers chose two representative characters, Jin Kazema and Yoshimitsu, as their main targets.

The inputs are: from RGB to grayscale and zoomed out to 128 x 128px of the game screen pixel value, stage, character health bar, side of the game interface.

Rewards in training are a health-based function, with positive rewards for damage to the opponent's health and negative penalties for the loss of health of the characters they control.

At the same time, the action rate of the AI is also limited to 1/10 of the maximum rate, that is, the game sends an action every 6 steps.

Since the frame uses a discrete movement space, the agent can only choose one movement at a time during training 9 upwards, downwards, etc.) or an attack action (impact, kick, punch).

Therefore, although a combo combination has stronger combat ability, because the AI cannot click on two actions at the same time, in real battles, there will be a situation where the AI frequently uses kick (kick) and swap (swap) two actions.

In the comment area, a senior PVP enthusiast said that he wanted to see this fierce scene of top AI players abusing each other, and the developer himself agreed with it:

We are creating a platform where programmers will submit their trained AI and play against each other and broadcast the game on our channel.

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

AI Tournament

Now, the developer team has begun to officially prepare for this "AI game tournament", the programmers and developers behind it are equivalent to "coaches" or "parents of players", and the final winner can receive 1400 Swiss francs (equivalent to 9261 yuan).

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

The developers said that the underlying mechanics of these fighting games are more similar, and only need to modify the different attributes of the game such as combination skills and character health bar values.

As a result, their DIMMBRA Arena framework provides a Python API that is fully compliant with the OpenAI Gym standard for all types of arcade video games.

Popular arcade games such as Dead or Alive, Street Fighter, etc. are included:

Teach the AI to play "Iron Fist" frame by frame to pass the highest difficulty, and now arcade game lovers have something

GitHub Links:

https://github.com/diambra/diambraArena

Video Link:

https://www.youtube.com/watch?v=9HAKEjhIfJY

Reference Links:

[1]https://www.reddit.com/r/reinforcementlearning/comments/sq1s3f/deep_reinforcement_learning_algorithm_completing/

[2]https://www.reddit.com/r/MachineLearning/comments/sqra1n/p_deep_reinforcement_learning_algorithm/

Read on