Eyes of Wood, Hands of Stone, Heart of Paper
A while back, I tried to play Go. As I recounted in my post, High Anxiety, it did not go well. Since then, I tried to let go of myself and learn the game as others suggested. I played on my iPhone many times. That went nowhere in a certain sense: I reached a certain level and progress ceased immediately. I also tried going online and playing people at the bottom of the online rankings on 9x9 boards. I lost every game, no matter who I played.
I played with my friend on 9x9 and 13x13 boards with huge handicaps. Because of the disparity in our abilities, every game felt like a military retreat. The objective was to lose slowly enough that the game would end before she could destroy everything I had. If I lost too quickly, she would have more territory at the end of the game. If the board was larger, the game lasted longer, and therefore I needed more of a handicap so that my pace of losing would come close enough to the longer length of the game to put the outcome in doubt.
To play Go, one needs a huge amount of humility and patience. At first I thought I lacked these qualities, but then a funny thing happened: I purchased my first-ever mountain bike:
Now, I have a lot of cycling experience, almost as much cycling experience as I have playing strategy games. However, I am interested in learning new things, so I am learning Freeride and Trials skills. Like how to ride along a narrow, elevated "skinnie" or how to negotiate a tight hairpin by locking up the brakes and hopping or pivoting the bike, using the wheels like feet.
Once again, I'm a pre-novice. Small children effortlessly bunny hop their bikes onto and over obstacles while I struggle to get the front wheel off the ground. After an entire summer of this, I'm much better than when I went on my first ride, but I'm still terrible in comparison to nearly everyone else I've ever seen.
However, I really, really enjoy riding the new bike, but I don't enjoy Go. What is the difference?
I think it's really simple. Cycling skills require performing with the conscious mind turned off. However, learning cycling skills is conscious. You learn by observing what someone does, breaking it into small pieces, practicing the pieces, putting them together, analyzing feedback, and so on. Go is different: I have been unable to consciously learn. I have read books with problems, I have played, I have backed up games and replayed positions, but in the end it seems to resist breaking into small pieces that can be learned.
In cycling, I receive regular positive feedback. I can measure my improvement with little things like occasionally feeling myself hit the balance point when working on a "1/2-1/4 to manual wheelie drop." Or popping the front wheel up onto a bench and driving the rear wheel up and under me.
In Go, I received no such affirmation. I play, I lose, and games are too long to be able to identify the specific mistakes without extensive personal coaching. I simply don't know whether I am succeeding or failing when I make a move unless it's a spectacular blunder.
What conclusion do I draw? I think I am a very simple person, with a simple, dog-like need for positive feedback. I have no experience learning through osmosis, learning by imitating people without trying to understand what I am imitating.
what to do?
Some people find this quality of Go delightful. The mysteries, the necessity for putting away the conscious learning mind to learn to play the game are satisfying to them. I can appreciate intellectually that other people find this delightful. However, I can't actually empathize with them, I have no appreciation for the pleasure of learning in this way.
Is this film more interesting than a documentary of the same actors having lunch? --Gene Siskel
I promised myself that I would learn to enjoy playing Go. Well... I no longer feel terrified, or angry, or anxious when playing Go. I can lose without pain. That's good. However, playing Go is not more interesting to me than having lunch with somebody. I think that's a reasonable way to say "Yes, I do enjoy your company but no, I don't enjoy playing Go with you."
So I haven't played in months. Maybe I will again one day, maybe not. So why am I writing this?
wood & stones
Oh yeah, I forgot to mention the most important thing, the reason I'm writing all this. The most important thing is that along the way I started writing a Goban, a program to turn your iPad into a Go board for playing face to face. If you're reading this in Mobile Safari, you can try it now by clicking Wood & Stones or any of the screenshots inthis post.
Wood & Stones is an HTML5/CSS3/JS application. That means that you don't need to download it from the Apple Store, you can visit the link and play. It also means that once you've clicked the link, you can save it to your iPad's home screen and play it offline. Take it to the park, enjoy a game with a friend on a park bench.
I know that there's a lot of action playing Go online. So I could have written a client for one of the popular sites. But I didn't see much upside in that. I'd like to integrate it with Dave Peck's Go. If you don't know what that is, "go" there now and play!
But back to Wood & Stones. I went with a gestural interface. For example, to review the history of the game, you swipe the screen just like turning pages in a book. It was interesting to develop a minimal user interface using gestures, and it also felt like I was writing an application that had the simplicity of Go. It just feels wrong to me to have such a simple game be represented on the screen with so many controls that a 747 pilot would feel at home.
It's still a work in progress. I'm doing the help screens at the moment. But the most important thing is for you to try it. Let me know what you think. If you don't have an iPad, try it using Apple Safari. If you don't have Safari, try it using a modern browser and let's see how it goes.
So in the end, something very good came out of this exercise: I wrote some interesting code for Wood & Stones. Wood & Stones also emitted iGesture, a jQuery plugin for writing gestural interfaces, and jQuery Combinators, a jQuery plugin that makes your code deeply beautiful. That's satisfying.
So, enjoy Go!
My recent work:
jQuery Combinators, what else? A jQuery plugin for writing your own fluent, jQuery-like code.
(Spot a bug or a spelling mistake? This is a Github repo, fork it and send me a pull request!)