Sometimes the initial rotation hides a part of the shape.
Also, I have always wondered if there's a way to translate these shapes to strings for quick "mental algorithm" matching. Something like, "5, left turn, 3, right turn..."
I guess you'd need a normal form. The first turn can be defined as always "right" or "left," and subsequent turns can be right, left, up or down. The first turn that's "up" or "down," can be defined as "up." That leaves two ways to read any shape, but that's an uhh constant-factor overhead. :)
(I can't think of a way to define a normal form reading direction that wouldn't involve potentially reading an arbitrary distance in before having to re-start the other way.)
>Also, I have always wondered if there's a way to translate these shapes to strings for quick "mental algorithm" matching. Something like, "5, left turn, 3, right turn..."
I was once measured to have abysmal spatial reasoning (which is probably backed up by poor hand-eye coordination and sense of direction) but I had no problem doing molecular geometry and group theory, I suspect it was because I applied logic rather than visualisation to compensate. (I am terrible at walking into an empty place an imagining how I might want to fill it)
I think that's basically what I did, just without elevating the forms to anything conscious. By the end, I was matching shapes too fast to have actually counted much of anything -- some sort of consolidated memory had started.
A small improvement: use a vowel to encode turns, and consonants to encode segment lengths. So each shape would be encoded by a "word", e.g. "bakitux". Brains have dedicated "word-processing units" and those are much faster than number-processing units.
Abstracting into words will lead to invention of words that are disconnected from the underlying geometry (i.e., shapes that are not possible due to collisions), but have strong verbal associations. Eventually, the word thinkers will redefine the system to allows them to play word games without dealing with the pesky geometric limitations.
> The first turn can be defined as always "right" or "left,"
No it can’t, not in 3D... it is just a turn.
You can however choose to rotate about the first segment until the turn is Right, then use this orientation for the rest.
In terms of normal form and restarts, who cares? Just generate the string both ways, it’s 2n computations, choose the lowest in lexicographic order, and life is good. If you get to billions of turns are humans really going to be doing the comparison? Surely we’d just stream the string into a hash function or something...
WLOG the shape starts at the origin (0,0,0), the first kink is at (0, 0, m), and the next point is (x, y, m), where x²+y²=n²
You can always rotate this to (n, 0, m) and view from the +y axis looking down, and it is a right turn.
The L shape is not complex enough to be chiral, but the post is (and you are!) is claiming that you need an extra bit of information to specify “which L, the right handed one or the left handed one?” ... That is a distinctively 2D question.
You can just define the first turn to be Right no matter how it is oriented.
If you are not happy with that then just rotate the first segment until it looks Right to you. Then label the other turns.
If you are still not happy with the word Right to denote the first term then just make up new notation. Define the first turn to be 1. Use numbers to denote turns if you object to using Left and Right.
IMO this would be more enjoyable if the shapes were more different morphologically, and fewer (ideally no) close pairs which differ only in the length of a segment by a single block.
After the first couple of wrong guesses (though I'm pretty sure one guess was correct - could be the bug https://news.ycombinator.com/item?id=30408567) I started to count segment lengths rather than relying on mental shape rotation.
I don’t think it’s a bug. I resorted to some guessing because I saw shapes that were similar but different only by length. But the view was obscured so I couldn’t count the blocks.
IIRC Kobyashi maru incident involves a no-win situation where you change the rules of the game to create a winning situation. How are we looking at a Kobyashi maru incident here? Can you explain?
The shapes generally progress in difficulty until they are deemed “impossible” for any human shape rotator to figure out.
If you reduce the problem to counting instead of shape rotation (3D matrix multiplication) many humans can “shape rotate” to impossibly high levels of IQ
Inspired by Super Hexagon (remember that?), you need to repeatedly tell a "snake" which way to go with the left and right arrow keys... while the game viewport twists and rotates randomly as it continually zooms out.
I incidentally find I have to mute the background music, as I really get into it (used to listen to it often!) and zone out... welp
(Also, for completeness - the APK link is sadly dead, but it still lives on on the scary APK sites that are out there, and my phone doesn't seem to mind it.)
Much like super hexagon, I found that "turning my mind off" and going on instinct/intuition is a surprisingly good strategy for this game - till it isn't.
Ismorphism is hard to detect, even in reduced spaces. Really hard in arbitrary graphs.
For a "fast filter" generate the center of gravity for each (just the average of the voxel points as doubles) and abs+sort the resulting vector and assume they match if the "Sorted Cog Vector" matches. It will have false positives sometimes but no false negatives.
Damn, that's surprisingly difficult. But I think I shouldn't be allowed to brute-force answers (that's really tempting in the current design) and I'd probably appreciate if shapes were standing still, since the movement is distracting and barely relates to the skill being tested.
I think they move so that they aren't accidentally covering up crucial bits, and so you get a sense for them in 3d. I'd also like it if they moved less, or had a pause button though.
That's a lot of fun, I'm sure pmarca loves it :-). Initial rotation can result in feature hiding that is critical, perhaps making the wobble selectable (easy = big wobble, medium = current wobble, hard = no wobble) The follow on should be the folding one (planar surface with dotted lines, pick the folded version) I always thought those questions in IQ tests were put there so that there would be some "easy" questions that everyone got right, but found later my wife couldn't do them!
I know it's not the point, but I find it way easier to just brute force it. Got 31 pairs matched that way (three matches in the last two seconds, even).
because of the "vanishing point" style 3d perspective it's difficult for me to tell relative sizes of things, so I had to frequently resort to counting bricks on the front leg vs the rear leg for extra-dimensional-L pieces; it was more about that than things like chirality. The result was, didn't really feel like a shape matching game to me, felt like a brick counting game. I guess in a certain way I was expecting something that felt more like those "which cube matches this piece of paper folded up" type matches
Also, don't mind being timed to the nth of a second, but I'd prefer a clock that was not so frenetic in my field of vision, just showing seconds would be enough.
I wrote a "smart" random clicker. It iterates through all the shapes and clicks their locations in a double-for loop. I added some jitter because it can't tell when it succeeds (so sometimes it starts in the "middle" of a loop and get stuck).
I got a score of 33 on the first full run, which seems to be the highest in the thread (just barely beating the manual brute-force 31 run from @chungy[1]). I think it could be improved by being smarter about the when to click a random guess (or figuring out a way to remove the random clicking completely).
I’d be really curious to collect gender before testing, because I feel like this is always one of those go to examples of the difference and male and female brains, would be curious to know if there is any substantial actual difference.
Difficult to control for the effects of "building toys" such as Lego being primarily marketed at boys. These types of toys help train this kind of spacial awareness from an early age.
Reading that study, I’m not convinced, it’s 20 boys and girls, and the method doesn’t appear foolproof to me. To be clear, I don’t really have an issue accepting there may be some difference, but I feel like it’s extremely overstated.
I read in a psychology book that this is one of the (few) cases where there’s a big gender difference in intelligence: males statistically do a lot better at this than females, and I believe those with higher testosterone also statistically do better.
I remember this fact being cited a lot as well, but honestly I question it, as others said, boys toys have traditionally been much more building / schematic oriented. I honestly doubt there would be a huge discrepancy in kids today
From playing around with it, it's pretty obvious this is an extremely trainable task. I was able to double my performance within a few seconds, and I got a really strong feeling that I could become even better with training. I don't think it would be an obvious way of telling apart female and male brains because of all the differential relevant training.
Piaget's water-level task[1] is an experiment where participants are shown a bottle with its water level marked and are asked where the water level should be in various rotations of the bottle. Female participants for some reason fail the task at significantly higher rates than male participants, and this test has been replicated all over the world.
I used to do a lot of 3D CAD professionally,and I remember being able to mentally rotate around IKEA instructions no problem. Haven't done that in several years. Now IKEA furniture is much difficult. I question whether this gender difference is nature or nuture.
Same. I'm male, but terrible at these. It has been suggested in some research that being homosexual (like me) results in a "more female" brain. I would be interested to know if this tracks.
20 matches is my high after spending 20 minutes with it. I think I could probably get that to 30 ish with another hour.
Obviously you should not be rotating, but finding features of the shapes that are invariant with respect to rotation to calculate. We can think of the two middle segments as defining two coordinate axes which I'll just call the body, with the remaining segments the legs.
There are three cases.
1) both legs coplanar with body: W, question mark, and O.
2) neither leg in the plan of the body: The lightning bolt, and the forklift.
3) one leg coplanar with body: Z with leg, Hook with leg.
Unfortunately, the lightning bolt, Z with leg, and Hook with leg are all chiral, (and are therefore more likely to appear, reducing the effectiveness of this heuristic), but just guessing among matching classes is sufficient to get 20 matches. A quick test of chirality could maybe do better, but I suspect it's most just about speed of guessing after this.
edit: 32 is my high score after playing for an hour. Which is at least higher than the brute force clicker guy's score, so I feel like I can be done. The human brain is very good at optimizing its solutions to this problem.
This reminds me of a very poor interview question I asked a couple of times (and then never asked again because it is a terrible, terrible, interview question).
The snake cube puzzle [1] is a puzzle where you have to fold up a string of 27 cubes, with fixed "turns" like the shapes in the OP, into a 3x3x3 grid.
The goal was not to find a solution to the puzzle, but to find the smallest 2d area the snake could fit into without folding against itself. It turned into a modeling problem (how do you represent the puzzle in code?) and a recursion problem (try all possible folds), but, uh, even with a physical puzzle to play with, it was a little too abstract
A commenter on the link below asked another question over 13 years ago: can the puzzle be folded into a plane without any holes? Obviously if you just lay out the puzzle from end to end it will be in a plane, and without any holes, so maybe the question should be: what is the smallest 2d area the snake can fit into without creating any holes?
I would suggest also adding some sort of error counting into the mix (perhaps allowing 3-5 lives in total, maybe with bonus lives if you're fast or you get it on the first try). Right now it's a bit too easy to semi-brute force shapes that are somewhat similar.
It would also be good to have increasing levels of difficulty. Eventually you could add a leaderboard.
As a side note, it's fun to see the amount of humble-bragging going on in the thread right now ;))
Thanks a lot for making this! Really exciting and difficult game, makes my mind tired. I just got 16 several times in a row, seems like that's my level, will try tomorrow to see if it improves after sleep.
Pretty weird, the first two are consistently way harder for me! They take 20+ seconds each, and then the subsequent ones take only 3-7 seconds. In my third try I managed 14 shapes, 8.33 seconds per shape, on my first I did 7 - it's pretty clear that you can train yourself to get a lot better.
Also, once, there were two matching pairs, but only one was accepted, I'm pretty sure.
Looks great! Maybe add a small time penalty for guessing wrong? It's currently way faster for me to try ~7 combinations (takes about 5 seconds per round) than to honestly figure it out.
I'm in the same ballpark: 21 2nd try, and 18 3rd try. I've sort of always known that I've had good spatial reasoning, and this is one way to confirm it. I tend to think about most problems spatially, even molding things like code and social relations into this medium, because it's my strongest skill. I also tend toward the hyperphantasia side of the spectrum. I'm curious if other highscorers also tend toward hyperphantasia.
If the site is recording telemetry on scores, but it would be fantastic to have a percentile rank at the end.
I'm shocked. I have the same mindset. For example, if I need to predict how technologies can potentially evolve, I visualize them in different planes based on the history of technologies, such as centralization/decentralization cycles, compute networks growing, and the shift to centralization. Also, I visualize how some technologists like Kubernetes go into decentralization (like this is some of primitive form of life, where Datacenters/Bigdata some sort of prebiotic soup for the first vertebrates (Edge Computing devices)). And decentralized solutions such as blockchain are superimposed on this infrastructure. In my head, it looks like a huge visual picture with different levels of abstraction. It constantly evolves
I see how human sins are the drivers of technology development
I'm amazed that some people can actually rotate objects.
On of the reasons I don't drive is for fear of driving directly into traffic, if I make a mistake figuring on which lane is "on the right side" of the new perspective when turning.
Mental rotation is one of the very top causes of mistakes for me and I've learned to always be on the lookout for it, and assume my conclusion is wrong if I find myself doing it.
In the end I found it way better to not rotate the shapes but use my intuition to match pairs then verify by counting squares and checking chirality. Actual rotation takes me like 10-15 seconds but the intuition+check technique is more like 4-5 seconds.
This is brilliant! (Especially after the rotating puzzle post yesterday, exactly what I needed!)
Thank you! (I managed to get 14 at 8 seconds but damn this is pretty hard)
feedback: Sometimes the shapes get too occluded by it's own body. Not sure bug or a feature. Also could be fun to increasing or decreasing difficulty curve depending on performance
For VR (Quest/Steam) There is a beautiful minimalistic game called Cubism that uses a similar set of shapes in 3 dimensional space where you need to fit the group of blocks into increasingly complex forms. It's a very soothing environment and the graphics are so clear with technical touches like a high frame rate (120hz), perfect hand controls, and use of AR/passthrough, all possible due to the relatively simple game requirements. Highly recommend the experience if you can do it.
There is also a free open version similar to Cubism built in WebXR called Plockle that follows the same theme [2].
It is important that people don't take this thing seriously.
As an undergraduate in physics, I sort of prided myself on being able to "derive things from scratch" which is the culture in physics, given profs gave tests with the formulae and physical constants so you never really had to memorize, you just needed to show your work. At the time, honestly, I looked down humanities and history and even bio students as they were just memorizers who didn't have a deep understanding of things.
When I went to graduate school, one of my best professors said he heard people amongst my cohort saying things like this, that physicists are good a deriving and are not memorizers, he made the joke that he thought that people saying this were doing so to weaken the competition, so to speak. The idea that any set of skills is not necessary to be a scientist just makes you a worse scientist than others who have those skills. At this point in life, I've learned that holding on to things like your MBTI scores as if it's your identity honestly just limits you. Like imagine saying, "I'm a python person, I'm not able to do ruby. It's against my personality," instead of it really being what it should be seen as, just another skill to learn or one your just haven't learned yet (or might not even want to!) Instead, saying "I use python in my daily work, I'm less familiar with ruby" makes more sense because that's how it is. So, ditto that with everything else honestly, I feel like people can have preferences and that's fine, like you can enjoy reading a book more than playing a video game with spatial reasoning, but limiting yourself to being a "math person" or a "people person" or a "reading person" is just that, limiting yourself.
That's brutal. On my first attempt I've matched only 2 shapes. The naive approach is to match each pair, and with 15 pairs total, that's gonna take time, even though you need to check only 7.5 pairs on average. A better approach is to "hash" each shape and find the duplicate hash in linear time, which is 3 comparisons on average. The hash can be computed logically, by counting turns the shape takes, or, after looking at hundreds of such shapes, one should be able to "hash" shapes subconsciously, and that will be a dramatic speed up.
I suggest you make a similar problem: matching small isomorphic graphs. I think that's what a lot of software engineeting is really about.
I consistently get around 8 to 10... I get approximately the same performance if I try to use my gut to match shapes or if I mentally rotate the shapes one at a time. The focal length distortion is a bit too extreme for me. I would prefer if it the shapes were a little bit more isometric-looking.
With the current focal length distortion, shapes look as if they're a few inches from my eyeballs so it's kind of hard to visualize without counting the blocks.
Yep, as aphant, I can't rotate. Instead I describe the shape to words and look for a match. Something like - the shapes short tail facing outwards, long tail straight.
Very nice. One nitpick: it would be nice if the outlines turned from red to green (in addition to the other feedback already provided) to indicate a match.
did a similar assessment when i was conscripted into the singapore armed forces - guessing it was a way to filter people into the air force pilot program.
The nod to culture war bs is pretty funny, but this is also a deep and interesting problem. In this talk Hinton relates it to conv nets (and their shortcomings). The shoe example is also great.
Maybe an advanced mode where extra seconds are deducted for each wrong pair guessed? And along with that the ability to skip a turn for extra seconds deducted. That way, since brute force would no longer be an option, you wouldn't find yourself getting hopelessly stuck early on behind a particularly difficult set.
9 on my first try. Spent ages on the first one to figure out what was going on. I guess, reading from the comments, that it is possible to get real good at recognizing these patterns and with practice you can reach the upper limit of how fast you can click and match the objects.
A few of them were repeats, as in the same orientation (although the random perturbations were different), others had more than two of the same kind, which might be okay.
That said, that this is a meme some people take seriously (like the idea of wordcels) really makes me irrationally mad.
This is great! I work on visualizations all day and it’s a real skill to interpret size and angle of 3D shapes. 10 seconds per shape on my first play through. I think I would have been a lot worse if the shapes didn’t move.
I found this interesting, played for a bit, but at no point did it feel like fun to me. Just felt like hard work and reminded me how bad I am at this task.
(I do really like other shape matching games, just not in 3d apparently)
The shapes often render with extremities occluded, leaving me to random guessing. Maybe render them in a more canonical way so that we can see at least a decent hint at the extent.
I’d love to play around with it, but I don’t see a license at a glance. If I were to make a variation of this, would I be allowed to share it with attribution to this version?
Very cool indeed. One can get quite lucky from time to time when some forms are not rotated quite too far from each other or other forms are simply too different. Very nice idea!
Would you please add keyboard shortcuts? Numbering 1-6 and letting each key toggle a shape would suffice. Repetitive mousing on a non-touch display can trigger RSI flareups.
A different version could be about rotating the shape to correct position. A lot of times I've just eliminated impossible matches, rather then seeing how they match.
I understand that the shape motion is necessary to reveal hidden parts of some shapes but it found it very distracting. A “freeze” button would have been very helpful,
first try was with touchpad, rest of them with mice
that 1/120 was brutforcing, there was at least 4 or 5 similar shapes with deadzones
maybe there should be a way to rotate viewport manually (for some time penalty?) and bruteforcing should be time taxed as well though
I thought I'd be good at this since I do 3D editing all day, but apparently not. In my first try I couldn't get even one. Practicing some more I got up to 4 in a game. I wonder if this game can distinguish between people who have rich mental imagery and those who don't?
You might have too rich of a mental geometry framework such that each shape was rendered more thoroughly, but not necessarily in a way that helped compute matching objects.
That's impressive to me. I got 4 on my first go, 6 on my second and I doubt I'll be going much higher without significant practice. I find it extremely hard and made several wrong atttempts in addition to being slow.
Seems to have an issue in Safari on iPad - there’s no way to submit my guess. The shapes highlight but then nothing happens. The timer just keeps running. I’m pretty sure I’ve selected correctly.
Tried on Android chrome. I select two shapes which I'm pretty sure match and nothing happens. The only thing on the screen is a "code" hyperlink. Is there supposed to be a "accept" or "go" button or something?
There's no "accept" button, it should move to the next set when the two correct shapes are selected. But as someone else pointed out in this thread there may be multiple matching pairs - looking into it.
So this game going to the top of HN is likely part of the meme where shape rotators strike back against wordcels after wordle became popular, something like that.
Also, I have always wondered if there's a way to translate these shapes to strings for quick "mental algorithm" matching. Something like, "5, left turn, 3, right turn..."
I guess you'd need a normal form. The first turn can be defined as always "right" or "left," and subsequent turns can be right, left, up or down. The first turn that's "up" or "down," can be defined as "up." That leaves two ways to read any shape, but that's an uhh constant-factor overhead. :)
(I can't think of a way to define a normal form reading direction that wouldn't involve potentially reading an arbitrary distance in before having to re-start the other way.)