Termsuji: Play Go in your terminal (if you really want to)

Ever wanted to play Go in your terminal? No? Me neither, but I’ve got you covered!

termsuji is a Go client built in Go. It lets you view your active games and play moves in them and that’s about it. I’m not sure it’ll see a lot of development, but there’s a separate api module for developers who want to give working with Go in Go a shot. If someone can use the code as a reference or starting point I might as well put it out here.

You can download the initial release here.

17 Likes

Glorious!

8 Likes

I don’t understand most of that and it looks horrible but I love it!

7 Likes

Very cool. My first Go games were played against GnuGo in a linux terminal.
image

Your program with the blocks is an interesting take but I appreciate the colors. Thanks for sharing.

7 Likes

We like the squares :slight_smile:

4 Likes

Terminal games are the best! Can we have emoji themes for Unicode terminals?

2 Likes

Trying to build from source, it panics when I try to log in:

$ go run .            
panic: invalid_client [recovered]
	panic: invalid_client

Do you think it could be an issue with my OAuth Settings (entered here)?

  • Client Type: confidential
  • Authorization Grant Type: client-credentials
  • Redirect URIs: (none)

EDIT: It seems that changing confidential to public helped. I was at least able to get an “invalid credentials” message if I typed the wrong password, but if I enter the right password, the app crashes:

$ go run .            
panic: unauthorized_client [recovered]
	panic: unauthorized_client

This reminds me of the unicode characters I saw used on some Japanese Go websites. I ended up adopting the style for some games and notes I’m keeping. It depends on whether the font make it look correct or not.

┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼◯┨
┠●┼◯┼┼┼┼●┼◯┼┼┼◯◯◯●┨
┠┼┼┼◯┼◯◯●┼┼┼┼┼┼┼●┼┨
┠┼●●◯┼┼●●┼◯┼┼┼5458●┼┨
┠┼┼◯┼┼┼┼┼50┼┼┼57●◯┼┼┨
┠┼●●◯┼┼65●┼┼┼┼┼┼●●┼┨
┠┼┼┼◯┼┼516452┼66┼┼┼┼┼◯┨
┠┼┼┼┼┼┼┼┼┼┼┼┼63┼┼5556┨
┠┼┼┼┼┼┼53┼┼┼┼┼┼┼┼5960┨
┠┼◯┼┼┼┼┼┼┼┼┼┼┼┼61◯┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼62┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼48┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼●┼┼┼┼47┼┼┼┼┼┼◯◯┼┨
┠┼●┼┼●46┼┼┼┼┼┼┼┼┼●●┨
┠┼┼49◯┼◯┼45┼┼┼┼┼●┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
2 Likes

Since most types expect a client secret and I can’t store one in the client (and because the token needs to be able to act on belhalf of the user), I’ve set my Oauth client type to “Public” and the grant type to “resource owner password based”, it should work like that.

Thanks for the support, everyone! I’ll look at an emoji/rune board drawing option for the adventurous, I don’t see why not.

4 Likes

That worked! Thanks! I’ve officially played my first terminal game on OGS :slight_smile:

termsuji-demo

9 Likes

0.2.0 is out and you now have just this! Also there’s coordinates. How the symbols look depend heavily on your terminal and font, but you can change them to anything you’d like.

There’s a few built-in example themes and details on how to make your own on the repository’s main page.



If you can play a full game on the last board theme and still do well, you are a wizard and I fear your power.

5 Likes

Well, I can see 黒 (black) and 白 (white) but not sure what the other is. It is doable.

空 empty, I guess.

1 Like