explaingit

dangtrantanluc/reinforcement-learning-arena

Analysis updated 2026-05-18

18TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

An educational project where PPO, Dyna-Q, and DQN reinforcement learning agents compete in a Bomberman-style grid game, viewable live in a React dashboard.

Mindmap

mindmap
  root((RL Arena))
    What it does
      Three RL algorithms compete
      Bomberman grid game
      Live realtime viewer
    Tech stack
      Python
      FastAPI
      PyTorch
      React
    Use cases
      Learn reinforcement learning
      Compare algorithm behavior
      Study agent training live
    Audience
      Students
      Machine learning learners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Watch PPO, Dyna-Q, and DQN agents compete live in a Bomberman-style game.

USE CASE 2

Study how neural-network and tabular reinforcement learning approaches differ in behavior.

USE CASE 3

Tune training hyperparameters like learning rate and discount factor without restarting.

USE CASE 4

Review past matches step by step using the built-in replay browser.

What is it built with?

PythonTypeScriptFastAPIPyTorchReactDocker

How does it compare?

dangtrantanluc/reinforcement-learning-arenaacoyfellow/svelte-edgeasyncawait547/omnidispatch
Stars181818
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Python with PyTorch for the backend and Node.js for the frontend, or Docker Compose to run both together.

In plain English

This project is an educational demonstration where three different AI learning algorithms compete against each other in a Bomberman-style grid game. Bomberman is a classic game where players move around a grid, place bombs to destroy boxes and eliminate opponents, and try to reach a goal position. Here, instead of a human player, each character is controlled by an AI agent trained using a different technique. The three algorithms are PPO (Proximal Policy Optimization), Dyna-Q, and DQN (Deep Q-Network). PPO and DQN both use neural networks to learn from experience, while Dyna-Q uses a traditional lookup table combined with a simple internal model of the environment to plan ahead. All three are built from scratch using PyTorch and NumPy, without relying on any pre-built reinforcement learning libraries. The point is to show how each approach learns and behaves differently when placed in the same competitive environment. The backend is written in Python using FastAPI. It runs the game environment and trains all three agents continuously in a background process. A React-based frontend connects to the backend over WebSocket and shows the game updating in real time, step by step, without skipping frames. The UI includes heatmaps showing where each agent tends to move, charts comparing their scores over time, action probability displays, and a replay browser so you can review past matches. There is also a panel for adjusting training settings like learning rate and discount factor without restarting. The game rules give points for reaching the goal first, for destroying boxes with bombs, and for eliminating opponents. Each step costs a small penalty to encourage efficiency. Agents can be trained from the command line or watched live in the browser. Docker Compose is provided to start both the backend and frontend with one command. The project includes automated tests for the game environment logic and a GitHub Actions setup that runs tests and checks on every push.

Copy-paste prompts

Prompt 1
Explain the differences between PPO, Dyna-Q, and DQN as implemented in this project.
Prompt 2
Walk me through running the backend and frontend locally to watch the agents train live.
Prompt 3
Show me how the WebSocket step-replay system keeps the game display in sync with training.
Prompt 4
Help me adjust the reward rules for reaching the goal or destroying boxes in the game environment.

Frequently asked questions

What is reinforcement-learning-arena?

An educational project where PPO, Dyna-Q, and DQN reinforcement learning agents compete in a Bomberman-style grid game, viewable live in a React dashboard.

What language is reinforcement-learning-arena written in?

Mainly TypeScript. The stack also includes Python, TypeScript, FastAPI.

How hard is reinforcement-learning-arena to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is reinforcement-learning-arena for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.