(Skip this introduction and play Omok.)

Note: The peer-to-peer connection this project uses doesn't work in some cases. Problems occurred when trying to connect to computers in company networks or with unstable, interrupted connections (e. g. via a weak WLAN). I am working on another version without peer-to-peer connections, but it is not yet ready.

In East Asia the game "Go" is very famous. There are tournaments and clubs, like for chess. The rules of Go are very easy, but the game is no less complex than chess. The playing material is simple: a board with 19 horizontal and 19 vertical lines and sets of lens shaped, white and black pieces, often made out of opaque glass.

The same playing material is used for a much simpler game, known as "Gomoku" or e. g. "Five in a row". A more complex variant of Gomoku adds beating of pairs of pieces that are enclosed by the opponent's pieces. This is called "Omok" (오목) in Korean or "Chōsen Gomoku" (朝鮮五目, "Korean Gomoku") in Japanese. Beaten pieces are removed from the board immediately.

I like to play a variant of Omok which allows to leave the beaten pieces on the board. Any time when it is a player's turn he can remove any of the opponent's "dead" groups - before or immediately after he made his move. One purpose of leaving dead groups on the board is to prevent the opponent from setting into the newly free fields again. When the board gets fuller this can result in very complex, ambiguous situations.

For the ease of speaking I'll refer to my variant still as "Omok". If there should already be a (free) name for this variant, please let me know.


The rules of this variant of Omok are:


Later I might add an audio and video chat feature, but currently I recommend to play the game while you have another audio connection (Skype etc.) with your remote partner. How to get started:

Privacy and technology used

No personal data are collected or stored by the parts of the software I wrote. I cannot guarantee for the third party software which I use as is (SVG.js for creating the graphics and PeerJS for the peer-to-peer communication between the computers, "WebRTC").

This program was written in JavaScript as a little JS exercise. It was tested with modern versions of the browsers "Chrome" and "Firefox" under Windows. The main data are transferred directly between the computers of the two players, but a third party server is used for establishing the contact and for signalling purposes. This server is a given by the PeerJS software package.

About this site

See here: