(Skip this introduction and play Omok.)

A technical 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). Also an update of the third party server software used for establishing the connections in the past has made the software stop working until I uploaded a new version.

The board and font sizes are calculated relative to the window size. For best results the browser's zoom factor for the page should be set to 1/standard. Very large zoom factors might break the layout.

Go, Gomoku, Omok

In East Asia the game "Go" (碁 in Japanese) 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 stones, often made out of opaque glass.

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

I like to play a variant of Omok which allows to leave the beaten stones 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, interesting situations.

For ease of speaking I'll still refer to my variant as "Omok".


The rules of this variant of Omok are:


All marked groups are dead, all others are alive. Each of the marked groups would have won the game, once completed.


I would have liked to add an audio and video chat feature, but when I last checked, selecting a specific sound output device in the browser didn't work properly. In my setting for example the sound would go to the standard speakers rather than to the headphones. Therefore I recommend use another communication app in the background (Skype etc.) to speak with your remote partner.

How to get started:

The peer-to-peer connection needs identifiers for both users. One of the users connection clicks on [Get new ID] and when his ID shows up he can click on [Link] to copy a link to the clipboard and send it via another medium (email, or a chat app) to the remote partner.

When the remote partner clicks on this link he will automatically receive his ID and the connection between the two users will be established. After a short time the green sign "connected" should appear for both players.

Now any of the players can start a game, either with the given colours (New Game) or with the colours switched (Swap & New).

Make a move by clicking with the mouse on a free position and/or take dead groups by clicking on the dead stones.

Click "Done" to finish your move and hand over control to the other player. Please, don't let the other player wait unnecessarily long!

Instead of making a move you can also click "Pass".

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. 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 peer-to-peer connection and for signalling purposes. This server is a given by the PeerJS software package.

About this site

See here: