← all repositories
lihongxun945/gobang

Classic game AI without the neural-network hype

A browser-based Gomoku AI built from scratch with Minimax and Alpha-Beta pruning, plus a nine-part tutorial on how it actually works.

1.8k stars JavaScript Other AI
gobang
Velocity · 7d
+0.5
★ / day
Trend
steady
star history

What it does

This is a pure-frontend Gomoku (five-in-a-row) AI written in JavaScript. It runs entirely in the browser, plays at adjustable difficulty levels, and ships with a React-based UI. No server-side compute, no model downloads, no TensorFlow — just search algorithms doing their thing.

The interesting bit

The author is admirably upfront: the algorithms aren’t original, the AI isn’t world-class, and the code has rough edges. What makes this project stand out is the nine-part tutorial series walking through Minimax search, Alpha-Beta pruning, heuristic evaluation, iterative deepening, Zobrist hashing, and killer-move detection — essentially a complete undergraduate AI course project, documented in public.

Key highlights

  • Pure JS implementation with no neural networks or reinforcement learning
  • Difficulty levels controlled by search depth (deeper = stronger but slower)
  • Runs offline after initial page load
  • V3 rewrite (Nov 2023) simplified the codebase and fixed occasional blundering
  • Nine detailed tutorial blog posts in Chinese, from basics to performance optimization
  • Companion repo exploring AlphaZero-style approach with TensorFlow for comparison

Caveats

  • Search depth is intentionally shallow due to browser JS performance limits; the author explicitly warns the AI “isn’t very strong”
  • Tutorial code differs from repo code (same principles, different implementation)
  • Node version compatibility (v16–20) is “not thoroughly tested”

Verdict

Grab this if you want to understand classical game AI from the ground up, or need a teaching example that doesn’t hide behind abstraction libraries. Skip it if you’re looking for a competitive Gomoku engine or a plug-and-play ML demo.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.