Game review
Caro Board (Gomoku)
7.2 / 10
- Developer
- Trần Hữu Đạt
- Publisher
- Trần Hữu Đạt
- Released
- 1 January 2024
- Platforms
- web
- Genre
- board,strategy
- Monetisation
- free
- Players
- true
The short version
A correctly-implemented five-in-a-row board with a genuine CPU opponent that responds sensibly, confirmed to place stones exactly where tapped on a real touch device - let down slightly by a board that runs about ten CSS pixels wider than a phone's own viewport, requiring a small scroll or pinch to reach its rightmost column.
Biggest strengths
- Correct Gomoku rules on a full 20x20 board, with both local Player vs Player and Player vs Computer (playable as either X or O)
- The CPU opponent responds immediately and sensibly, contesting space near the player's move rather than playing randomly - confirmed by watching it place a stone directly adjacent to a real touch-placed move
- Tap-to-place was confirmed precise: a specific cell was targeted by its exact on-screen position, and the underlying board-state array confirmed the stone landed in that exact cell, both on a simulated phone and via mouse on desktop
Biggest weaknesses
- The board's own CSS renders about 10 logical pixels wider than a 390px-wide phone viewport, so the rightmost sliver of the 20-column grid sits just off-screen and needs a small scroll or pinch-zoom to reach - a minor but real mobile-fit rough edge on an otherwise fully working touch board
- No visible move counter, undo, or difficulty setting for the computer opponent
- Presentation is functional and minimal - flat colours, no sound effects, no animation on placement
Who it's for: Fans of Gomoku/Caro (Vietnamese five-in-a-row) who want a simple, dependable implementation with a real opponent.
Our recommendation: play
7.2 / 10
Opening
Caro Board is Gomoku — five in a row wins, played here on a proper 20x20 grid rather than a cramped smaller board — with both local two-player and a genuine CPU opponent to play against. It's a single-file implementation with no dependencies, and it gets the fundamentals right.
Controls, confirmed precisely
Tap-to-place accuracy was tested directly rather than assumed: a specific cell was targeted using its exact on-screen bounding box, and the game's own boardState array was read afterward to confirm the stone landed in precisely that cell — both with a real touch tap on a simulated phone and a mouse click on desktop. In Player vs Computer mode, the CPU responded within a fraction of a second with a sensible move placed directly adjacent to the human's stone, rather than playing randomly, which makes it a genuinely useful practice opponent rather than a token AI.
The one real rough edge
Testing also turned up a small but real mobile-fit issue: the board's own CSS renders roughly ten logical pixels wider than a typical 390px phone viewport, so the last sliver of the twentieth column sits just past the right edge of the screen and needs a short scroll or a pinch-zoom-out to reach. It doesn't block play — every cell that matters for most games (which tend to cluster around the centre) is reachable without any extra effort, and the fix for a player who does need that far column is trivial. But it's worth knowing before diving in on a smaller phone.
Presentation
It's intentionally plain: a dark background, pink-accented X and white O markers, and grid lines that stay legible even on a busy late-game board. There's no sound and no placement animation, which keeps the focus squarely on the board itself.
Final Verdict
A correctly-built Gomoku implementation with a real, responsive CPU opponent and touch placement confirmed to be pixel-accurate. The board's slight viewport overflow is a genuine but minor flaw rather than a dealbreaker. Recommended for Gomoku fans looking for a dependable version of the classic.
Pros and cons
Pros
- Correct Gomoku rules on a full 20x20 board, with both local Player vs Player and Player vs Computer (playable as either X or O)
- The CPU opponent responds immediately and sensibly, contesting space near the player's move rather than playing randomly - confirmed by watching it place a stone directly adjacent to a real touch-placed move
- Tap-to-place was confirmed precise: a specific cell was targeted by its exact on-screen position, and the underlying board-state array confirmed the stone landed in that exact cell, both on a simulated phone and via mouse on desktop
- Clean MIT licence, no analytics, zero console or page errors on either platform
Cons
- The board's own CSS renders about 10 logical pixels wider than a 390px-wide phone viewport, so the rightmost sliver of the 20-column grid sits just off-screen and needs a small scroll or pinch-zoom to reach - a minor but real mobile-fit rough edge on an otherwise fully working touch board
- No visible move counter, undo, or difficulty setting for the computer opponent
- Presentation is functional and minimal - flat colours, no sound effects, no animation on placement