Lewcid.com
Site-Cube

(this Subject)
#Games
(this Time)
#7/3/2004
(this Place)
lc/
(this Lewey Geselowitz)

 

Freed Go 1.1
The Game of Go in 3D

Imagine if the Game of Go were let free of it's two dimensional confinement and allowed to exist on any 3d graph. That is the purpose of Freed Go, it lets you play Go on a Sphere, a Torus, a Mobius Strip or on numerous flat fields but with 3, 5 or 6 neighbors (there are 11 different board types in all)! Essentially this is an experiment in how the basic rules of Go can be applied to different networks of stone locations, but is also an interesting test to see if you really understand Go techniques. Remember that all your techniques should work here, except that they will be manifested in a different form. You can also experiment and create your own boards or play a network game against a friend. Please note that Freed Go is not just a 3d graph of black and white nodes you could play Go on, it is a complete Go application with all the rules and features you need to play a real game (undo, dead stone removal, KO checking, territory counting, etc).

If you are new to the game of Go, I found the Interactive Way to Go to be an excellent site on how to play the game. Of course it only teaches the 2D version, but the rules are the same.

Freed Go is part of The Freed Series of games 'freed' from their two dimensional confinement. It has also been featured on the front page of GoBase.org and SlashDot Games.

On this page: About, Download, Custom Boards, 3D Model To Go Board Converter, Remote Games, Related Sites, Controls, Board Types, Screenshots.


Mobius Strip

Quake Marine

Two interconnected planes with
3 neighbors on each plane

3 neighbored Go.
My favorite alt-Go board.

More Screen Shots...



About

Freed Go was written by me (Lewey Geselowitz) and is my experiment in what playing Go would be like if the board was in some interesting way transformed. To anyone who has put some serious thought into Go I'm sure this will act as a refreshing twist and help broaden your understanding of this amazing game. It is also a part of The Freed Series which is a collection of standard 2D games expanded into the 3rd dimension and beyond. As far as the technology goes, it is based on my Lewcid interaction system.

If you have ideas for new board types, adjusts to these ones, or just want to leave a comment I'm always more than happy to hear from people who have tried out my software. Feel free to drop me a line at lewey@lewcid.com


Download

Freed Go is available for both Windows and Mac OS X. Download the .zip file, unzip and run. For Windows make sure that included glut32.dll file is in the same directory as FreedGo.exe OR you have installed GLUT on your system. For Mac OS X make sure that GLUT is already installed. Also the Mac version is Carbon based so while I havn't tested it, it may run earlier Mac OSes.

If you appreciate this application, a small donation to support me writing more interesting apps like it (and not get a job writing accounting software) would be greatly appreciated.

UPDATE - 6/23/2004 - Version 1.1 with the following changes:
- Added remote gameplay so that you can play over the net.
- Now you can create your own boards in a simple text format.
- Added the 'diamond' board type, thanks to Henry Segerman

FreedGo.zip

Version: 1.1
Platform: Windows
Usage: Download, unzip, and run

I have not updated the Mac version to 1.1, because it would require a fair amount of work on my part and I'm not sure anyone would actually use it. If there is someone out there who would like a Mac version with networking and custom boards, give me a yell.

FreedGoMac.zip

Version: 1.0
Platform: Mac OS X
Usage: Download, unzip and run
Note: I'm new to Carbon programming,
so the controls are not displayed.
Use this site as a reference.


Custom Boards

Freed Go includes a simple text-based format you can use to create your own boards. The boards you create are fully intergrated into the application and you can even play them across a network (if both players have the file). Just follow the format below, and then drop the file over FreedGo.exe to play on it!

Here is an example file, and below is a short commented fragment from the example file.

5 0.5 //# of nodes on the board; the scale of each node;
//now the data for the first node:
3 1 3 4 //# of neighbors; indices of each neighbor;
-1 -1 -0.5 //X,Y,Z coordinate of this node
//now the data for the second node...


This is all pretty self-explanitory: first the number of nodes; then the node 'scale' which is the radius of each stone. Then for each stone, you give how many neighbors it has, and then those neighbors (use 0-based indices, and the order you specify them in the file is their index). And finally for each node give a location in 3d space. Keep these locations roughly within -1 to 1 in all dimensions. Regarding the neighbors, in the example each node meantions all of it's neighbors, but you actually only have to say that one is the neighbor of another and it automatically goes the other way as well.

Have fun creating new boards, and give me a yell if you have any questions or if you make any cools boards. Possibly I'll setup a gallery of interesting boards if people send them in.


3D Model To Go Board Converter

With Freed Go you can play Go over any 3D graph, which I realised look alot like wireframe 3d meshes! So I wrote this little tool which converts an .OFF model into a Freed Go board. Just drop any .off file over OFF2FreedGo.exe and it generates a Go board you can play on (send the board to your buddy and you can play over the net). If you run it from the Command Prompt you can also specify more arguements on how you want the board generated, or of course you can edit it once it's generated (the board format is very simple). Enjoy.

To find out about the OFF file format: here is a pretty good desciption (with some basic examples). Also Geomview is a popular viewer and editor for OFF models and the Princeton Shape Benchmark has a HUGE collection of free OFF models.

OFF2FreedGo.exe

Platform: Windows
Usage: Drop an .off file over it!
Or run it from the Command Prompt
for more options

Here are some examples of Go boards generated from OFF meshes:


Quake Marine
This Go board.
From this model.

Dodecagon
This Go board.
From this model.

Remote Games

Freed Go allows you to play a network game over IP with a friend. Unfortunatly I don't have a server so you'll have to meet other people yourself (I've heard it's not that hard). Once you've found a buddy setting it up is very easy. There is no buildt in chat so I'm assuming you are communicating with your friend over some chat program or another (AIM, MSN, etc.).
1) Both of you download Freed Go and fire her up. Hit 'R' to start a remote game
2) One of you hit 'Yes' to host a game, then give your IP to your buddy
3) The other should hit 'No' to connect to a host; enter the IP your buddy gives you; and hit 'Connect'
4) Enjoy your game!

Once you have connected it's all pretty simple, no big surpises. If you want to play on a custom board make sure both people have the file on their computers and in the same directories as the binaries. Then drop the file over the app to open up that board and connect, the rest is all the same as normal.


Related Sites

This is a short collection of other sites relating to extending Go in new and interesting ways:

3D Battle Go - An amazingly fun and fast paced Go based puzzle game.

XiStrat - Very interesting heavy math approach to 3d Go (and related turn based games)

Alternate Go Boards - Some really great information and pictures of alternate Go boards (all are either already in Freed Go or you can easily add them)

Henry Segerman's Diamond Go - Buy an actual diamond (shaped) Go board

UF Go Club - The University of Florida Go club


Controls

Freed Go was designed for experimentation, so the controls are a little 'rustic' but they do the job and are very simple to understand and get going with. The first thing to know is that holding down the right mouse button and dragging will change your view. Then you can left-click on the node where you'd like to place your stone. 'Empty' areas are marked with small brown stones, and connected stones are marked with a white line. You can change the board you are playing on by typing the key which corresponds to that board. See the different board-keys below.

Listed here are the instructions on how to use Freed Go. When you run the game you will see them in a small window behind the main game window.

The small brown stones represent emtpy locations.
Left click on a brown stone to play at that location.
Drag the right mouse button to change your view.
Press 'N' for a new game.
Press 'P' for pass.
Press 'U' to Undo previous moves.
Press 'R' to start a Remote game.
Hold down SHIFT and then left click to remove dead stones.
Press 'Q' to count occupied areas and show score.

Board Types - Press the associated key to change to that board.
F - Flat standard game board
S - Sphereical board
C - Cylinder board
D - Diamond board
B - Box or cubed board
3 - 3 neighbors board
5 - 5 neighbors board
6 - 6 neighbors board
L - Layered planes
T - Torus board
M - Mobius strip board


Board Types

Each 'Board' is a different 3D graph on which you can play a game of Go. Listed here are all 11 of them, and some interesting gameplay adjustments that using a board of that type may incur. The Key represents which key you have to press in the game to change to that board type.

BoardKeyInteresting because...
SphereSNo corners and no edges but two points which are connected to many stones.
CylinderCLike standard Go but with only two edges and no corners.
BoxBA 'box' or 'cube' board. Most nodes have 6 neighbors in all directions. Also this means there are 12 edges and 8 corners.
LayeredLTwo layers of stones, where each stone connects to 3 others on it's plane and one on the other plane.
TorusTAlmost exactly like a standard Go board except there are no edges or corners. You can actually play like this on a real board by just allowing 'wrap around' of neighbors.
Mobius StripMThis is quite alot of fun because it has only one edge and no corners (although localy it may appear to have two edges) which makes controling the board a far more complex task.
DiamondDA great site on diamond boards
FlatF"Boring" old standard Go.
3 N'3Standard Go except that each node has three neighbors. This is one of my favorites.
5 N'5Standard Go except that each node has five neighbors.
6 N'6Standard Go except that each node has six neighbors. This turns out to be quite tricky to play on because liberties are so cheap.

Screenshots

Some more eye-candy for you. Please note that most of these are 'fakes' in that they are not actual games of Go which I played, but rather randomly generated boards (they are real however in that they were generated by Freed Go). This is because playing enough games to make the screen-shots would take a serious amount of time. Also some of them are just impossible (like the all-white ones) but where made that way to better express the shape of the board. Please also keep in mind that it is alot harder to understand a shape and board state from just a single image, you really need to play it in 3D to understand it.