Go
(Skip this introduction and play Go.)
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 has in the past always made the software stop working until I uploaded a new version.
Important: See here about adjusting the board size and the line thickness.
Go
In East Asia the game "Go", (Japanese igo, Chinese weiqi, Korean baduk) 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 also used for a much simpler game, known as "Gomoku", a version of which you can play here: Omok
Rules
- There are two players, one plays black stones, the other white ones.
- The players can set one piece each, alternately.
- Black always makes the first move.
- A player can also pass moves or resign.
- The game ends with a tie after two consecutive passes.
- The aim of the game is to surround territory in such a way that the opponent cannot build living groups within it.
- A group of stones lives when it has at least two independent eyes (free spaces), in which the opponent cannot build a living group of his own.
- A stone or a group of stones of one colour is dead when it doesn't have any connection to a free space (horizontally or vertically only). Dead stones are removed immediately and counted later as prisoners.
- Suicide moves, that would result in the stone becoming dead immediately, are forbidden.
- A situation that would result in an endless repetition of the same moves by the two players is called "ko". The second player is not allowed to make his next move at this position immediately. Later, when it is his turn again, he may set there.
- The game ends when both sides agree on it or when no more moves are possible (or after two passes in a row or after one player resigned).
- The winner is determined by counting the prisoners of each player and the empty positions in the territories he controls. Neutral fields, that are not controlled by one player alone, are ignored. If the players don't agree upon a territory or a group being dead the game can be resumed until clarity has been achieved. The player with the greater number of points (prisoners + territory [+ komi for white]) is the winner. Stones that can safely be considered dead (and that cause no threat) should not be beaten during the game. They - and the territory below them - are counted in the final scoring. Making unnecessary moves to beat groups that are dead anyway reduces one's own territory (at least under the rules used here)!
- An important feature of go is handicap. It allows players of different strength to play together on a more equal level. A handicap for the white player is realised by setting up to nine black stones in certain positions (done automatically by the software here). The advantage for the black player by getting these extra stones is taken into account by adding komi to white's result. With handicap stones komi is only set to 0.5 to avoid ties. Without handicap white gets 7.5 komi for black's advantage of making the first move.
- Slightly different variants of these rules exist (Japanese, Chinese). More information on Go can be found on the Internet. An easy introduction into the absolute basics can e. g. be found here: https://www.ultraboardgames.com/go/game-rules.php
Usage
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. So, for example, the sound would go to the standard speakers instead of the headphone. Therefore I recommend to play the game with another communication app in the background (Skype etc.) to speak with your remote partner.
How to get started:
- Each player opens a new page from this link: Go.
- One of the players clicks on "Get new ID".
- Once the new ID appears in the field below, the "Copy" button turns red and can be clicked to copy the ID to the clipboard.
- Tell this ID to your remote partner, best in written form, inserted from the clipboard, to avoid transfer errors.
- The remote player should enter this ID into the input field above the "Connect" button and then click "Connect". After a short time the green sign "connected" should appear for both players.
- Now any of the players can start a New Game. Once the game is configured (handicap, choosing a colour) the playing can be started.
- Games can also be saved in HTML files on your computer. These files can be displayed in a browser, but also be loaded another time to continue an unfinished game. (They can also be used to create situations manually for practising.)
Board size and line thickness:
The size of the board is determined when the page gets loaded. If you increase or decrease the size of the browser window later the board gets shrunk accordingly. For best results it is recommended to adjust the browser window first, then to set the zoom factor by pressing [CONTROL] and [+] or [-] and finally to refresh the page by pressing [F5] (e. g. in Firefox or Chrome).
If the lines on the board appear too thick you can reduce the zoom factor as described above and then refresh the browser window again. With my personal browser settings for example I get the best results with 100% zoom factor in Firefox and 80% in Chrome.
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: bitje.de