Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
sephiRoth IRA
Jun 13, 2007

"Science is not only compatible with spirituality; it is a profound source of spirituality."

-Carl Sagan
Any of you have the KGS app? Is it worth it? Are there any other phone-based go server apps?

Adbot
ADBOT LOVES YOU

xopods
Oct 26, 2010

Under 15 posted:

I disagree. Playing in the g5 area only encourages white to plop a stone down on top of the enclosure at p5, and black will be forced to choose - take the extra profit on the bottom and turn r8 into a weak group (and make k3 completely meaningless in the process) or protect r8 and lose out on points. If black builds up at k5, that situation doesn't come up, and f3/g3/whatever is still placed okay since b can dump it to mess up the corner. I think G5 and the like are grasping at too much - B has a good position he can ride to the end if he's careful.

White can play P5 either way.

Also, if we're going to jump vertically at all after White plays D9, then we should be playing F3, not G3, as the two-space extension is overconcentrated once we make such a reinforcement.

I'm pretty sure you would never see G3 and then K5 played in a dan-level game. I'd be shocked to see it, anyway.

EDIT: If you can't see why it's bad, try reversing the move order. Starting with K5 is somewhat reasonable, but would you then play G3? Obviously not.

xopods fucked around with this message at 12:04 on Jun 7, 2014

AdorableStar
Jul 13, 2013

:patriot:


I played on a real board today; I don't get why some people have to stand up to get used to non-online play. Everything looked completely fine.

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
Yeah, it's way worse with chess imo.

AdorableStar
Jul 13, 2013

:patriot:


You ever make a really stupid mistake that costs a game and then go on tilt trying to make up that win with even more wins but only find your frustration causing more lost games while you struggle to get back to a 50/50 W/L ratio for the day? Yeah, don't be me.



If you look closely, you can even see the frustration wearing off!

AdorableStar fucked around with this message at 11:32 on Jun 10, 2014

xopods
Oct 26, 2010

Yeah, I used to do that a lot when I took Go seriously. One of several reasons I ended up quitting.

AdorableStar
Jul 13, 2013

:patriot:


xopods posted:

Yeah, I used to do that a lot when I took Go seriously. One of several reasons I ended up quitting.

I'm thinking I should try to force myself to take 25 seconds per move every move; even if it's just some joseki everyone knows or taking an open corner/approach/enclosure.

o.m. 94
Nov 23, 2009

I know it's hard and we all do it but don't obsess about your 'local' rank progress, especially on one server. It's immature and will just cause you pain. As it gets exponentially harder to progress you'll just get more and more frustrated. Cool things to do instead

* Aim to complete a collection of problems
* Read a book cover to cover
* Beat someone you admire, or win with one less handi stone than before
* Enter a real life tourney
* Play blitz, rengo or some other quirky format
* Get your goban out, make coffee and try to memorize a pro game
* Pick a pro you like the look of and follow / study their career
* Offer a teaching game to a nublet
* Help out at your local club

If you goon over your rank graph on KGS on a constant basis as a measure of progress you will end up hating this game. I speak from experience. Set healthy, interesting and varied milestones like the ones above instead......

AdorableStar
Jul 13, 2013

:patriot:


o.m. 94 posted:


* Aim to complete a collection of problems
* Read a book cover to cover
* Beat someone you admire, or win with one less handi stone than before
* Play blitz, rengo or some other quirky format
* Pick a pro you like the look of and follow / study their career
* Help out at your local club


All of these are things I should probably do:

Finish redoing elementary problems and eventually completing the intermediate ones
Re-reading A&D cover to cover for the 10th time probably.
Beating you, Xombar, Hypertor, and Tonberry at least once in an even game
Sunjang Baduk
Actually looking at Lee Changho's games again
Trying to attend the go club again.

xopods
Oct 26, 2010

o.m. 94 posted:

I know it's hard and we all do it but don't obsess about your 'local' rank progress, especially on one server. It's immature and will just cause you pain. As it gets exponentially harder to progress you'll just get more and more frustrated.

If you goon over your rank graph on KGS on a constant basis as a measure of progress you will end up hating this game. I speak from experience.

Quoted for truth.

Here's a story:

Once upon a time I had just moved back to Montreal after two years of teaching in Korea and then a few months of living in Toronto for reasons that are irrelevant to the story. Just before leaving Toronto, I had performed well enough at the Toronto Go Club that I was comfortable asserting that I had finally reached shodan. I found the McGill Go Club here in Montreal and did well against the 1d and 2d players there as well.

Then I found out that the Canadian Go Championship was happening in Toronto. I'd played some smaller tournaments already at this point and won a case of ramen noodles and so forth, but this was the big one! So I took the train back and stayed with some friends for the weekend to play in the tournament, in the "A" division, which I think was for 1k-3d or something like that. Here was a chance to firmly establish my rank and, with the rate I was going - in my mind - probably be competing in the open division in another year or two.

It was a two-day McMahon format event, so you play three games each day and basically have your "virtual rank" inflated by one for each win... so if you lose, the next game you either play someone of your own rank who lost, or someone a rank weaker who won, and so on.

First day, I won all three games. Beat another 1d, played another winning 1d, beat him, played a 2d who'd gone 1-1 and beat him.

Because ties are broken by your "sum of opponent's scores," winning your first three games (and therefore playing stronger players) is much better than winning your last three. I looked at the scoreboard, did the math, and determined that all I needed to do was win any of my three games the next day and I pretty much had a lock on 1st place, unless someone with two wins swept their second day.

Well, you know the rest.

Next morning I found myself faced with the guy you've learned to dread if you play any live Go tournaments: the Asian kid. Probably about 13, I'd guess, and 4d. Anyway, he's not fully there because he lost all his games the first day and thus out of contention (which is why he's playing me), and I'm supposed to be three stones weaker than him. But I'm motivated, of course. So I burn my brain out in the early going, getting ahead in fuseki cause that's my thing, and somehow finding my way through the middlegame to get into yose with probably about a 10 point lead.

And then, because I've been straining so long, and now I'm actually going to beat this guy who's a mid dan and win the tournament and probably immediately promote myself to 2 dan and strut back to the McGill Go Club with my cock swinging in the wind... I relax. For a second. And I miss something, and I hear him sigh a sigh of relief, and I know I'm hosed.

And then I go on god drat gorilla tilt and blow the next two games stupidly as well, and go home with 3rd place Plaque of Shame and a depression that would last weeks.

You know what the prize was for 1st? Something like $100 and a Go book. But I'd tied my sense of self-worth to this game and this meaningless tournament and self-destructing like that felt like the most crushing thing ever.

Then I got over it and went on with my life.

Don't be me, basically.

xopods fucked around with this message at 15:45 on Jun 11, 2014

sephiRoth IRA
Jun 13, 2007

"Science is not only compatible with spirituality; it is a profound source of spirituality."

-Carl Sagan
It's so hard not to goon out, though. At this point I'm maybe 17k on a good day. I'm okay with that, I've been playing seriously for about a month and a half. There's no reason to freak out. The problem is that I'm having trouble finding opponents of my skill level on any of the online servers; I've been playing with people who are ranked several stones above me and getting curb stomped. I want to get better and enjoy playing go, but it's hard when I can't track my progress in a measurable way that isn't my KGS rank or whatever. It's discouraging! So instead I'm trying to figure out what shapes work, and how to invade, etc. etc. Learning to play go is a long road and I find it difficult not to get impatient on the journey.

o.m. 94
Nov 23, 2009

Regarding KGS, use automatch. Just set up reasonable settings: ~1 stones difference, no blitz. Turn on your automatch, browse the forums until a game appears. Even at your rank you should get a game in less than 5 minutes. The majority of your games should be against equally ranked opponents, and if they're not then it doesn't matter. Most of them will be, and if you play enough (at least 2 games a day), you'll see rapid improvement.

Of course, if you're hunting manually for games and playing twice a week, it's going to be a frustrating experience.

sephiRoth IRA
Jun 13, 2007

"Science is not only compatible with spirituality; it is a profound source of spirituality."

-Carl Sagan
Yeah, I just suck really bad. I just resigned from 6 minutes into an 80 min game because of how badly I played. I don't know what I'm doing wrong when I play against other people but this guy was just tearing me up. I don't think I'm actually 17k, it's probably closer to 25k. This is what killed my last attempt to get into this game, was that I just sucked so badly. I need to have more patience, but I don't know how to get that patience.

o.m. 94
Nov 23, 2009

I had the same problem. In the early days you find it hard to maintain concentration over a long period of time and you start going into autopilot and generally following your opponent around the board.

This takes time to resolve, but it will improve. I can't stress enough how much just playing lots of games and not worrying about the result is the best way to progress at your level. As your intuition and reading improves, you won't find yourself lapsing because you'll have more of a goal & an objective and your overall approach to quality will be better.

o.m. 94
Nov 23, 2009

Go Seigen is 100 today

http://gogameguru.com/go-seigen-turns-100-today/

xopods
Oct 26, 2010

I think the important question is why we can play most games and lose and still feel like we had a good time with our friends, but play Go and lose and feel like we're worth less as human beings for that. It probably has something to do with our reasons for deciding to learn Go in the first place.

Honestly, just have fun with Go. It's really, really not worth it to get your ego involved.

sephiRoth IRA
Jun 13, 2007

"Science is not only compatible with spirituality; it is a profound source of spirituality."

-Carl Sagan

xopods posted:

I think the important question is why we can play most games and lose and still feel like we had a good time with our friends, but play Go and lose and feel like we're worth less as human beings for that. It probably has something to do with our reasons for deciding to learn Go in the first place.

Honestly, just have fun with Go. It's really, really not worth it to get your ego involved.

After the handful of games today, I find that it's less about losing than it is about losing because I was stupid or played poorly. It's about mastering the game and less about the competition. So when I make eight dumb plays in a row it's easy to get down on myself. But when I play well, even if I lose, it's (sort of) rewarding.

xopods
Oct 26, 2010

areyoucontagious posted:

After the handful of games today, I find that it's less about losing than it is about losing because I was stupid or played poorly. It's about mastering the game and less about the competition. So when I make eight dumb plays in a row it's easy to get down on myself. But when I play well, even if I lose, it's (sort of) rewarding.

This is 100% in agreement with my own experience, and I think it's pretty common. It's part of the reason everyone always wants to play stronger people and not give handicap or even just take White. You lose against someone better, that's okay as long as you learned something and if you win you're amazing! Win against someone worse and that's just normal, but lose against someone worse, OMG you are stupid and terrible and moving backwards, etc. etc. And if you were winning the whole game and lost on a blunder, then it's 100x worse.

shin42k
Feb 16, 2014


xopods posted:

I think the important question is why we can play most games and lose and still feel like we had a good time with our friends, but play Go and lose and feel like we're worth less as human beings for that. It probably has something to do with our reasons for deciding to learn Go in the first place.

Honestly, just have fun with Go. It's really, really not worth it to get your ego involved.

I think that partly happens because Go is a game which is decided because of your actions and nothing external like luck, and also because for most go players they've invested time into playing decently. It becomes quite disheartening when you play in such a way that doesn't give your ability justice. In poker you could be the best player at the table, but some losses occur because of luck and as such does not reflect directly your skill, on the other hand one sort of expects that a Go game reflects your ability. Therefore a bad game in Go (although useful) is somewhat disheartening.

For example when I'm in a tournament, I want to put all my effort into my games and show my true ability. I don't mind losing at all, but when I lose because of things that are easily preventable such as going on tilt or misreading something because you don't take your time, I'm dissatisfied that I didn't play better (knowing that it's well in my capabilities). If I lost a game because I was truly outclassed and not because of self stupidity I wouldn't mind at all.

shin42k fucked around with this message at 23:04 on Jun 11, 2014

AdorableStar
Jul 13, 2013

:patriot:


xopods posted:

And if you were winning the whole game and lost on a blunder, then it's 100x worse.

This is my problem in a nutshell. Though I guess removing such blunders is key to actually, you know, gaining some stones' strength. :v:

o.m. 94
Nov 23, 2009

Obvious blunders like missing a big atari happen and there's nothing you can do. Concentration fails. It doesn't affect your strength.

It's the blunders you don't know you made that are the problem...

AdorableStar
Jul 13, 2013

:patriot:


o.m. 94 posted:

Obvious blunders like missing a big atari happen and there's nothing you can do. Concentration fails. It doesn't affect your strength.

It's the blunders you don't know you made that are the problem...

I think blunders are a part of your strength and getting stronger means reducing those blunders. I also think there's a difference between mistake and blunder. A blunder is something that you obviously know you did wrong; a mistake you might not necessarily know is wrong - that's why you might keep making them.

o.m. 94
Nov 23, 2009

Blunder, mistake, call it what you want. There's two types.

AdorableStar
Jul 13, 2013

:patriot:


This is amazing.

quote:

Since our high quality features and updates are expensive to develop (only the best is good enough), please remember to renew your KGS Plus.


:allears:

xopods
Oct 26, 2010

o.m. 94 posted:

Obvious blunders like missing a big atari happen and there's nothing you can do. Concentration fails. It doesn't affect your strength.

It's the blunders you don't know you made that are the problem...

This is true up to a certain level, but as you get stronger, the nature of your strength and the route to improvement changes...

At kyu level, most of your moves are going to be bad (DDK) or mediocre (SDK). You can therefore get stronger by adding good moves to your game.

As you start moving up through the dan ranks, however, you reach a point where almost all your moves are good, and it's your worst moves that define your strength rather than your best ones. Although it still happens occasionally that you can pull out a win from a seemingly losing position with a particularly brilliant move, that's the exception rather than the rule. Instead, most games are decided by an error made by one player or the other, and you almost always know what it was, often as soon as it's been played, but if not then, then upon review.

I found that pretty depressing, and that's another reason I quit playing seriously. I felt like further improving my knowledge of the game wasn't going to pay off in terms of improved strength, because the limiting factor had become my concentration.

o.m. 94
Nov 23, 2009

hopefully it's not too early, but i've finally found some capturing algorithms I understand and have written them into a JavaScript Goban model. Now all that's left is to render the Goban and write an instruction format, do the responsive front-end, and I can start making an interactive Go tutorial that is wayyy more comprehensive than The Interactive Way To Go!!!

AdorableStar
Jul 13, 2013

:patriot:


So I was ahead accoridng to Score estimater by about 37.5 points and made a big self atari costing me about 10 or so stones. I end up still winning by 1.5 because we have incredibly bad yose. Such a relief. Oh, and he also saved like 5 dead stones because of a shortage of liberties or something. Dead stones still cut you and remove your liberties! :argh:

The game also taught me the value of connecting instead of just trying to save points. I made a big loss that way.

The blunder in question:



k2 and k3 come back to live after white plays f1.

Also, when you take your time on a game, you tend to notice a lot more about it. I made several mistakes in the middle game that he responded to with even more mistakes. With this kind of win after a blunder, it feels like anything he could've done differently would've lead to my loss. Still, like I said, I believe reducing blunders (Even 30k ones like this because that point only looks like an eye at first glance) is a part of getting stronger.

AdorableStar fucked around with this message at 13:37 on Jun 14, 2014

o.m. 94
Nov 23, 2009

is that really your mouse cursor. jesus

AdorableStar
Jul 13, 2013

:patriot:


o.m. 94 posted:

is that really your mouse cursor. jesus

Is that important? There I edited it so we don't get derailed and talk about what's important: GO

xopods
Oct 26, 2010

Now I want to know what his mouse cursor is.

AdorableStar
Jul 13, 2013

:patriot:


xopods posted:

Now I want to know what his mouse cursor is.

An anime sprite.

o.m. 94
Nov 23, 2009

AdorableStar posted:

Is that important? There I edited it so we don't get derailed and talk about what's important: GO

I kind of thought that was the only reason you posted it. Seek professional help BTW Khel

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

xopods posted:

Now I want to know what his mouse cursor is.
same

Khel post the anime sprite cursor.


o.m. 94 posted:

hopefully it's not too early, but i've finally found some capturing algorithms I understand and have written them into a JavaScript Goban model. Now all that's left is to render the Goban and write an instruction format, do the responsive front-end, and I can start making an interactive Go tutorial that is wayyy more comprehensive than The Interactive Way To Go!!!



You made me open up an editor and try to write the capturing rule algorithm. I'm ready to curse the chinese dudes who came up with this game.

If it all goes well I'll try ko. :science:

shin42k
Feb 16, 2014


Symbolic Butt posted:

You made me open up an editor and try to write the capturing rule algorithm. I'm ready to curse the chinese dudes who came up with this game.

If it all goes well I'll try ko. :science:

Ko is pretty much the downfall to many bots, especially when it involves double and triple ko. Ko seems to screw up the bots judgement of size of points and what's alive and dead on the board.

IMlemon
Dec 29, 2008

Symbolic Butt posted:

same

Khel post the anime sprite cursor.


You made me open up an editor and try to write the capturing rule algorithm. I'm ready to curse the chinese dudes who came up with this game.

If it all goes well I'll try ko. :science:

I wrote a go playing thing some time ago. Handling ko is surprisingly simple - before a move is played, store the position. After the next move, if the new position is equal to the stored one, it violates the ko rule and is illegal. Here's a bunch of unfinished poo poo code you can look at if you really want to https://github.com/astanzys/sgf/blob/master/src/main/java/com/fruits/sgf/domain/Game.java.

o.m. 94
Nov 23, 2009

Symbolic Butt posted:

same

Khel post the anime sprite cursor.


You made me open up an editor and try to write the capturing rule algorithm. I'm ready to curse the chinese dudes who came up with this game.

If it all goes well I'll try ko. :science:

Sweet! dooo it! My solution is as follows:

I've essentially got three functions has_liberties(group), get_group(coordinate), and get_adjacent(coordinate, color).

I'm acting on a simple multidimensional array of which each sub-element stores a string representing the coloring: '.', 'b' or 'w'. This will at some point be fed into a render function will which produce the display.

When you play a stone, you get all the adjacent stones of the opposing color using get_adajcent(opp_color), and for each one, call get_group() which looks for all connected stones of the same color using get_adjacent() repeatedly. get_group() will return an array of coordinates that represent the group which you can then pass to has_liberties() to check if your move removed all the liberties of a group. You can then remove that group from the board. Otherwise obviously your stone appears on the board and no further change is made

An additional exception needs to be made by checking that the stone you play isn't missing any liberties itself (suicide). This includes checking the group this stone is connected to, not just the stone but that's just a simple call to has_liberties(get_group(stonecoordinate))

There's probably an even more super-elegant recursive solution but gently caress that

I've put off the ko rule for now because I wanna move on to the rendering of the goban, which will scale responsively like on OGS. Let me know if you get around to doing ko cause I'd like to see how its done

o.m. 94 fucked around with this message at 16:42 on Jun 14, 2014

silvergoose
Mar 18, 2006

IT IS SAID THE TEARS OF THE BWEENIX CAN HEAL ALL WOUNDS




But how can you write a Go application not in the language Go?

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
I did it! :toot:

code:
....
....
....
....
current player = b
black score = 0
white score = 0

....
.b..
....
....
current player = w
black score = 0
white score = 0

.w..
.b..
....
....
current player = b
black score = 0
white score = 0

bw..
.b..
....
....
current player = w
black score = 0
white score = 0

.w..
wb..
....
....
current player = b
black score = 0
white score = 1
This is in no way good code, I'll try and polish into something half decent eventually so it can actually be legible. Also ko and territory scoring. https://gist.github.com/mcsalgado/ac94a80bad605af26ddf

Gotta love writing "self" over and over.

o.m. 94 posted:

Sweet! dooo it! My solution is as follows:

I've essentially got three functions has_liberties(group), get_group(coordinate), and get_adjacent(coordinate, color).

I'm acting on a simple multidimensional array of which each sub-element stores a string representing the coloring: '.', 'b' or 'w'. This will at some point be fed into a render function will which produce the display.

When you play a stone, you get all the adjacent stones of the opposing color using get_adajcent(opp_color), and for each one, call get_group() which looks for all connected stones of the same color using get_adjacent() repeatedly. get_group() will return an array of coordinates that represent the group which you can then pass to has_liberties() to check if your move removed all the liberties of a group. You can then remove that group from the board. Otherwise obviously your stone appears on the board and no further change is made

An additional exception needs to be made by checking that the stone you play isn't missing any liberties itself (suicide). This includes checking the group this stone is connected to, not just the stone but that's just a simple call to has_liberties(get_group(stonecoordinate))

There's probably an even more super-elegant recursive solution but gently caress that

I've put off the ko rule for now because I wanna move on to the rendering of the goban, which will scale responsively like on OGS. Let me know if you get around to doing ko cause I'd like to see how its done

I did pretty much the same thing, it's almost eery. But I totally missed the bolded part, goddamn. I guess it's such an unnatural move to make that it didn't occur to me.

IMlemon posted:

I wrote a go playing thing some time ago. Handling ko is surprisingly simple - before a move is played, store the position. After the next move, if the new position is equal to the stored one, it violates the ko rule and is illegal. Here's a bunch of unfinished poo poo code you can look at if you really want to https://github.com/astanzys/sgf/blob/master/src/main/java/com/fruits/sgf/domain/Game.java.

Oh I guess I thought it'd be somehow harder to program the ko indicator point but I guess it's pretty much this. Also I'll try to keep every past position in memory and see if it'll still work (I guess this is the superko rule?).

IMlemon
Dec 29, 2008
Just got my first win ever vs a 2k (bonus, hes 2k EGF, which is supposed to be stronger than KGS ranks). He also accused me of using a computer/strong player assistance during the game :feelsgood:.

http://eidogo.com/#4v8kVHKoV

Adbot
ADBOT LOVES YOU

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord


Oh. Studying algorithms sure is important.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply