Populated project README and added screenshot of new ANSI display mode.
authorAaron Taylor <ataylor@subgeniuskitty.com>
Mon, 24 May 2021 04:58:14 +0000 (21:58 -0700)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Mon, 24 May 2021 04:58:14 +0000 (21:58 -0700)
README.md
interface/interface-example.png [new file with mode: 0644]

index 3b94f91..18b84a0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1 +1,61 @@
-Placeholder
+# Overview #
+
+This repository contains a fork of GNU Go v3.8.
+
+I'm currently reading *Surreal Numbers* by Knuth and hope to continue with *On
+Games and Numbers* by Conway. Applying these numbers to analysis of Go, just as
+Conway did, would provide an engaging example as I learn to exploit my Xeon Phi
+coprocessors. Hence, this fork of GNU Go to fiddle with.
+
+
+# Status #
+
+Successfully builds and executes on FreeBSD 12 and Debian 10.
+
+Additional display modes verified in `st`, `xterm` and on a Tektronix 4107
+terminal.
+
+
+# Modifications #
+
+## ANSI Terminal Support ##
+
+I find myself less distracted when playing from a serial terminal. I also
+rarely finish a game in one session. Thus, my selection of GNU Go as a base
+upon which to tinker was in part driven by its `--mode ascii` CLI interface.
+This allows me to run a game inside `screen`, (re-)attaching to it either from
+a real serial terminal or from a terminal emulator on a modern computer.
+
+When playing in ASCII mode, I found all my mental effort expended simply
+attempting to read the board position. Adding some color cleared the fog. In
+order to maintain compatibility with `screen` and my terminal, this addition of
+color uses only ANSI escape codes to set the background, printing an ASCII
+space character to create a block of color. This mode may be selected via the
+`--mode ansi` option. The screenshot below shows ASCII mode on the left and
+ANSI mode on the right, both boards depicting the same game.
+
+![Screenshot: ASCII mode (left) vs ANSI mode (right)](/sgk-go/.git/blob_plain/HEAD:/interface/interface-example.png)
+
+In support of serial terminals like my Tektronix 4107 which only support
+era-appropriate ANSI escape codes, an additional `--mode strictansi` option was
+created.
+
+
+## Future Plans ##
+
+The GNU Go engine is written in plain old C, all reasonably organized and
+readable.  Combined with how inherently parallel most Go analysis appears to
+be, this forms an ideal test case as I bring all the Xeon Phi development tools
+online and learn to write parallel C code which fully exploits them.
+
+
+# Instructions #
+
+The original GNU `README`, including full build instructions, may be found
+under the filename `GNU_README`. On most platforms, to simply build and then
+execute directly from within the build directory, run the following commands.
+
+    ./configure
+    make
+    ./interface/gnugo --mode ansi
+
diff --git a/interface/interface-example.png b/interface/interface-example.png
new file mode 100644 (file)
index 0000000..4736438
Binary files /dev/null and b/interface/interface-example.png differ