Back to browse
Phive

Phive

by 0xCA1EB·May 30, 2026·18 points·9 comments

AI Analysis

●●SolidCozyNiche Gem

Real-time OK Play variant with AI opponent built on Phoenix.

Strengths
  • Implements complex two-phase rules (placement then movement) correctly.
  • Phoenix LiveView handles real-time state without heavy JS frameworks.
Weaknesses
  • Niche game rules require explanation for new players immediately.
  • No open-source repo to inspect AI implementation or self-host.
Category
Target Audience

Board game enthusiasts, families looking for private game rooms

Similar To

Board Game Arena · Paperclips.io

Post Description

In 2025, my family and I had a long streak of playing a Gomoku / Go Bang / five-in-a-row based game called OK Play. I built a web version so that we could play any time we wanted (i.e. on our phones after kiddos went to sleep).

The first player to get five-in-a-row (horizontally, vertically, or diagonally) wins. In the first phase of play, players take turns placing their pieces next to existing pieces (always edge-to-edge; you can't place a piece with only a corner-to-corner connection). After players exhaust their pieces, play moves into the movement phase: you pick up an existing piece you own and place it according to the previous placement rules. During the movement phase, you cannot move a piece that would leave other pieces disconnected. Play continues in player order until someone wins.

I wrote the app using Elixir's Phoenix framework with Daisy UI / Tailwind CSS for styling. The app is deployed on Gigalixir via its generous free plan. I am by no means a frontend developer / designer, so there's for sure better ways to implement things than what I have here. I mostly focused on making it mobile friendly and getting it to support light and dark mode. There likely exists browser / device specific bugs, since we've only tested it out on our phones (iPhone 13 Pro, Safari / Chrome) and my computer (MacBook Pro, Safari). Happy to hear any suggestions, frontend or otherwise, if you have them!

Developing this has been a real journey. Highlights have included learning about Gomoku and its variants, articulation points (and Trajan's algorithm for strongly connected components), and the Monte Carlo tree search algorithm (for the intermediate level "AI" mode I've recently added for single-player use). Lowlights have all been CSS related.

I'd love to add a "matchmaking" mode in the future. I haven't really looked too much into the mechanics for how that's usually done though - it'll be a great learning opportunity!

Similar Projects

Gaming●●Solid

Adding playable bots to a multiplayer game with OpenClaw

The author replaced brittle LLM scripts with OpenClaw-driven bots that actually compete in a live multiplayer game — not just follow canned heuristics. The demo looks playable and charming, but the project reads like a promising experiment: I'd want to see latency handling, how the bot hooks into the game loop, and quantitative match performance before calling this a breakthrough.

Niche GemShip It
petersonh
113mo ago