HNHacker News
TopNewBestAskShowJobs

igpay

680 karma · joined March 15, 2014

Hi, I'm Cameron.

https://csun.io

submissionscomments
igpay··on Show HN: Voronoi Go
I mentioned this in another comment but I think it's just kind of hard to learn without the context of knowing how to play Go... I don't think it's a matter of being dumb. For me, learning Go was very much the same way where I had absolutely no idea what was going on and the amount of possible choices was very overwhelming. Also, fwiw the easy bot is not very easy. It mostly feels to me like the hard bot but it makes more mistakes.

I'd say general overall strategy is to try to create "bubbles". You want to surround areas with your stones rather than filling them in.

On the small board, it's pretty hard to go wrong with just making a line of solidly connected stones (make sure the colored line shows up between them) between two edges of the board. This might not let you win against the bot, but will at least help you claim territory. Then once you have figured out how to do that, you can start to think about making moves that block the bot from surrounding area, or reduce the amount of area available to it, etc.

One of the guys on the discord is a strong traditional Go player and was playing a lot of teaching games with people yesterday. If you're interested in learning you could ping on the discord and I'm sure he or someone else would be down to help you out: https://discord.gg/4ren7UAFeb

igpay··on Show HN: Voronoi Go
Thanks! Yes, I'm still unsure about how much you can stray from playing tightly connected. I mentioned this in another thread, but I think part of the problem is that the small board is too small. Even though it's 9x9 stones in dimensions, you can "span" the board with only 6 or 7 stones due to the way connectivity works. I think this makes it a bit too hard to play disconnected, but watching some games from stronger players, I think they play less tight and still find a way to win, so idk.

The bigger board sizes definitely feel different to me, but I haven't played enough games yet to really know for sure. I'm interested in watching the meta develop. Maybe it will turn out that there really is a dominant strategy and the game is not as deep as Go, but I don't think I've seen enough to start thinking that yet.

The discord is pretty active and people discuss strategy a lot if you're interested. Regardless, thanks for playing! https://discord.gg/4ren7UAFeb

igpay··on Show HN: Voronoi Go
Hey there, thanks! You might already know this, but if you hover your stone around or turn on "Group View" mode you can see solid colored lines between stones. These indicate whether or not they're close enough to prevent cuts, and are really important. Other than that, I think that the uncertainty and need for estimating is kind of intentional - it's a lot more handwavey than normal Go.

Hope that helps!

igpay··on Show HN: Voronoi Go
Thanks for playing! There's a little plus sign that displays on the most recent stone - although I often get lost searching for it so it can probably be made bigger.

For the naming, I would think the game needs a bigger following before I can drop the "Go" or otherwise shorten the name. Not sure the SEO situation would be very good with just "Voronoi" right now :)

igpay··on Show HN: Voronoi Go
Thanks! I think that the high CPU utilization is probably the bot itself. It's a full-blown neural net running in-browser, so it's definitely a resource hog. If you ever play against a human performance should be much better (though please let me know if that's not the case).
igpay··on Show HN: Voronoi Go
Thanks for playing! I don't have a ranking in traditional Go, but after tens of hours playing this game I'd generally agree with your assessment.

One issue is that I think I made the small board too small. This makes it very easy for a monolithic group to dominate. The bot prefers to open right in the center, and I've generally found that to be strong.

I _think_ that playing on the big board gives some more variety to the strategy, but I haven't finished enough games yet to be sure. Playing really connected though seems to still be hard to beat. If players continue to get stronger and play big board games it will be interesting to see how the meta evolves.

igpay··on Show HN: Voronoi Go
Thanks for playing! Yeah, the mobile experience is pretty wonky still. I mostly use it to respond to correspondence games when I'm afk but otherwise I think most people prefer to play on desktop.
igpay··on Show HN: Voronoi Go
Thanks for the feedback - the tutorial is definitely dense. It existed a long time before the bot did, so it had to cover everything in one sitting. I think now though that you're probably right about an improved tutorial flow being mostly playing + some explanation.

My takeaway from the past couple months is that the game is just kind of hard to learn. I actually felt the same way about trying to learn traditional Go - it was very daunting to start a game. Basically all of the players who have stuck around / joined the discord were already pretty familiar with Go, so I think it helped bridge that gap a bit. I've spent a good amount of time trying to figure out how to make the game more approachable, but it kind of seems like the core audience for now might just be people who already like Go. There also seems to be a lot of overlap with people who are interested in designing a bot to play, so I've open sourced some code to allow for that: https://github.com/csun/voronoi-go-rs

Anyway, thanks for taking a look!

igpay··on Show HN: Voronoi Go – The game of Go without the grid
It is not yet but the game is still under active development and bots have been requested. If you’re interested in getting updates on development, the discord (linked on the site) has been gaining some traction. I’ll be posting updates there.

The time control implemented currently is that you start with a base amount of time and get additional time for each move. I believe it’s referred to as Fischer time which makes me think it’s related to chess, but I’m unsure how prevalent it is in chess or go.

igpay··on Solving Probabilistic Tic-Tac-Toe
Hey there, I thought this was a good idea so I added it to the game as "Tutor" mode. Thanks!
igpay··on Solving Probabilistic Tic-Tac-Toe
The D20 was the first die shape I tried and I ended up just sticking with it. My reasoning was basically the same as yours - 5% intervals look better.

Agreed that 6 sided dice would not detract from the amount of strategy in the game. I think it could be cool to try a physical version of the game where you shuffle premade tiles and place them in the grid - maybe a fun game to teach kids probability :)

igpay··on Solving Probabilistic Tic-Tac-Toe
I can't edit my original comment but I have updated the game with "Impossible" difficulty mode as implemented by Louis.

Based on a suggestion from a sister comment, I have also added a "Tutor" mode. When hovering over a square in tutor mode, it shows the probability of winning the game given that you a) select that square and b) continue to play optimally for the rest of the game. Both of these options are in the settings menu in the top right of the game.

Finally, I've added a little writeup to the bottom comparing the strengths of the two AI implementations. Enjoy!

https://www.csun.io/2024/06/08/probabilistic-tic-tac-toe.htm...

igpay··on Solving Probabilistic Tic-Tac-Toe
Hey all, I'm the author of Probabilistic Tic-Tac-Toe. I'm currently working with Louis to integrate this solver into the game itself so that people can play against it. I'm hoping to have it released by EOD and will update this comment when it's ready.
igpay··on Show HN: Probabilistic Tic-Tac-Toe
The current code for board generation is as follows:

  var neutralChances = Random.Range(1, MaxNeutralChances + 1);
  square.GoodChances = Random.Range(MinGoodChances, 20 - neutralChances);
  square.BadChances = 20 - (square.GoodChances + neutralChances);
MaxNeutralChances and MinGoodChances are both set to 6 in the release build. Note that one chance is equal to one face of the die, so 5%. Also, this overload of Random.Range() has an inclusive min value but an exclusive max value.

I guess I didn't include ties in that little blurb I wrote up, but the real results of my 10k trials were around 5:1:11.5 (lose:tie:win) for the AI vs random actor.

Would love to see your AI when it's done! Please shoot me an email if you want. My email is in my profile / in the site footer.

igpay··on Show HN: Probabilistic Tic-Tac-Toe
Yes, the AI mostly just looks for plays that have high certainty and are connected to other potential winning squares (for either team). Then it weights plays positively or negatively based on whether or not the "bad" chance outweighs "good"
igpay··on Show HN: Probabilistic Tic-Tac-Toe
Yes, those should go straight to a "Tie" result.
igpay··on Show HN: Probabilistic Tic-Tac-Toe
Thanks! I've added a fast forward button to the top left so that you can play faster.
igpay··on Show HN: Probabilistic Tic-Tac-Toe
Agreed that 3D is overkill. I'm fastest at prototyping in Unity though and this was only a couple day project, so I'm unlikely to port it to anything else.

Probabilities are mostly randomized during board generation but skewed in a way to make gameplay feel a bit better. There's a cap on the likelihood of the neutral event, and a bias towards the good event rather than a bad one.

igpay··on Show HN: Probabilistic Tic-Tac-Toe
That's good feedback, thanks. I've added a fast forward button to the top left.
igpay··on Show HN: Probabilistic Tic-Tac-Toe
Thanks for that, I added a loading bar. It should be visible now if you refresh the page.
igpay··on Sheldon Brown's Bicycle Technical Info
I love this website - such a great repository of knowledge that presumably would've been lost to time otherwise. Although I don't remember there being so many ads last time I visited the site.

His wife, Harriet Fell, was one of my Computer Science professors at Northeastern. I really regret that I never took the time to talk to her about Sheldon. It always crossed my mind but never seemed like the right time.

igpay··on Ask HN: Could you share your personal blog here?
https://www.csun.io/

pretty random assortment side projects

igpay··on How I See Numbers
Nope, I definitely do not have human calculator abilities. I'd solve your example problem with long multiplication, and would likely be unable to do so without pen and paper. The only difference is that each single digit multiplication or addition would be done with shapes. The shapes and their interactions seem to be more of a memory recall aid for things I already know (small addition and multiplication tables), rather than tools for solving problems I haven't seen before.
igpay··on How I See Numbers
Negatives are the same shape as their positive counterpart, but the inverse. So where there would normally be a shape for the number, there's instead a void or impression that wants to be filled.
igpay··on How I See Numbers
No color associations for me. In fact, I mostly "feel" the shapes I describe in the article rather than seeing them constantly. The pictures I ended up drawing are what the shapes would look like if you could drag them out into the real world and shine a light on them, but otherwise they're generally invisible in my head.
igpay··on How I See Numbers
My visualizations are definitely heavily base-10-centric. I did some experiments with visualizing numbers in other bases while doing this writeup, and I've come to the conclusion that I just convert each digit to its base 10 equivalent and add. My mental representation for 0x6a, for example, takes on the same shape as (6 * 16) + 10 in my head.
igpay··on How I See Numbers
Some low primes above ten are slightly pointier than I'd expect them to be (not sure where that expectation is coming from...), but that trend doesn't continue for very long - stops way before triple digits. I think it's likely a characteristic I've assigned to those numbers after repeatedly encountering them in a context where I needed to know they were prime, rather than some innate sense I have for detecting which numbers are prime or not.
igpay··on How I See Numbers
Thank you! I didn't include them because there aren't many, but I can expand a bit here.

Beyond 10, it's mostly classes of numbers that have unique forms, rather than the numbers themselves. So 15, 25, and 35 to some extent are somewhat of a stair pattern made of three squares, and they want to interlock nicely with each other. Things like powers of two also take on these sorts of interlocking forms, so maybe it's just numbers where I've memorized their doubled versions over time.

Low multiples of three from around 18 through 27 take on a sort of blobby trefoil shape and want to be divided into three parts. Higher, obvious multiples of three like 333 or 666 are similarly tri-lobed, but each lobe is a bit spikier in a way. I don't really have any strong associations with operations for these apart from splitting them into three. Again, I wonder if this is a sort of learned association from multiples of three that I encounter a lot.

igpay··on How I See Numbers
I'm now pretty convinced that this could be classified as some form of synesthesia, though I'd never thought of it that way before. When I'm actually doing math I tend to _feel_ the shapes of the numbers and their interactions, rather than it being a highly visual sensation like some others experience. The visualizations of the shapes only really happen when I slow down and focus.

I'm not an exceptionally quick calculator as far as I'm aware, though I've never tried to measure. I don't have strong associations with numbers greater than ten (though certain classes of numbers like multiples of five tend to have forms in some contexts), so I do arithmetic on larger numbers digit-by-digit, which is inherently kind of slow.

igpay··on How I See Numbers
While writing this article, I learned that Ed Catmull has aphantasia. It's amazing to me that someone with a Turing award for work on computer graphics can't mentally "see" those graphics when he closes his eyes. It'd be really eye-opening to somehow get his (or anyone else's) mental state into my own brain, just to try it out for a little.

Interesting that we share some conceptual similarities in how we think about numbers, but they're expressed through different pathways (language vs. visual.) I wonder if the people who imagine pen-and-paper stuff when doing mental math just don't have these pathways set up, and instead recall memories of math-adjacent experiences in lieu of another internal representation of numbers.

Page 1 of 2Next →