[HN Gopher] Show HN: Test your shape rotation skills
       ___________________________________________________________________
        
       Show HN: Test your shape rotation skills
        
       Hi all, hope someone enjoys (or not) my weekend project. See how
       many matching pairs you can find in two minutes.  This is written
       in C++ and built to WebAssembly with Emscripten. The code is at
       https://github.com/0xf00ff00f/rotator
        
       Author : 0xf00ff00f
       Score  : 272 points
       Date   : 2022-02-20 19:19 UTC (3 hours ago)
        
 (HTM) web link (0xf00ff00f.github.io)
 (TXT) w3m dump (0xf00ff00f.github.io)
        
       | barrkel wrote:
       | 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.
        
       | fenollp wrote:
       | ESC freezes it on Chrome on Linux.
        
         | 0xf00ff00f wrote:
         | Oh, this one is an easy fix - thanks for letting me know.
        
       | Shadonototra wrote:
       | great idea but the UX is very poor, it's not intuitive at all
        
       | moralestapia wrote:
       | Finally, that semester of topology has paid out.
        
       | princeb wrote:
       | 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.
        
       | [deleted]
        
       | stevage wrote:
       | 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)
        
       | hexman wrote:
       | 10 shapes 12 sec/shape (2nd try, no brute-force, mobile)
       | 
       | 16 shapes (3rd try)
       | 
       | 18 shapes (4th try)
       | 
       | 24 shapes (5th try, no brute-force)
       | 
       | P.S. I had 7 years of art school in addition to engineering
        
         | exikyut wrote:
         | -> 7
         | 
         |  _(Notices this comment)_ "...Hmph!" _(Tries harder, focuses)_
         | 
         | -> 12
         | 
         | -> 10
         | 
         | :(
         | 
         | Nothing like neural training, eh? Hmph :)
         | 
         | Now I'm curious what you think of
         | https://news.ycombinator.com/item?id=30409693.
        
         | kelseyfrog wrote:
         | 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.
        
         | Graffur wrote:
         | Wow, that's impressive. After figuring out the game I got 8
         | shapes which I thought was good!
        
         | jyscao wrote:
         | You're the shape rotator of shape rotators.
         | 
         | I only managed to break 10 after about a dozen tries..
        
         | whatshisface wrote:
         | Is this the singularity?
        
           | hexman wrote:
           | idk bad in wordceling
        
       | acid__ wrote:
       | Does anyone else feel their brain "heat up" when doing intensive
       | thinking like this?
        
         | hexman wrote:
         | Yes :)
        
         | brotchie wrote:
         | +1
        
       | cousin_it wrote:
       | 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.
        
       | modernpink wrote:
       | 12 matches on my first go. Not very impressive, but likely an
       | indicator of my middling IQ.
        
         | omnicognate wrote:
         | 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.
        
           | ionwake wrote:
           | Please forgive me for being cynical but it feels like he is
           | boasting especially as he starts talking about intellect then
           | downplaying it.
           | 
           | Just my take but maybe I'm just jealous ! I could only get to
           | 6 shapes.
        
       | blhack wrote:
       | 11 shapes! This is a fun game. I think it's testing something
       | other than shape rotating though.
        
       | steve_adams_86 wrote:
       | So cool, I love this!
       | 
       | 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?
        
       | larusso wrote:
       | 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!
        
       | throwaway73838 wrote:
       | This sounds interesting. Will it be available on mobile?
        
         | PuddleOfSausage wrote:
         | Works fine on mobile for me. Fun game!
        
         | 0xf00ff00f wrote:
         | It should work on mobile browsers (though I haven't tested
         | yet).
        
           | layer8 wrote:
           | I only see a tiny "code" link on iOS, rest of the page is
           | blank (gray).
        
           | ithkuil wrote:
           | 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?
        
             | 0xf00ff00f wrote:
             | 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.
        
           | Lio wrote:
           | Works well on iOS on iPhone.
           | 
           | I like it. Great fun, thanks.
        
           | drivingmenuts wrote:
           | 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.
        
       | 1270018080 wrote:
       | It's hard when part of a shape is hidden even with the rotation.
        
       | anyfactor wrote:
       | First game
       | 
       | - I briefly go through each shapes
       | 
       | - Anchor on a particular shape
       | 
       | - Check other shapes based on that shapes
       | 
       | - Realize the number of cubes is the distinguishing factor not
       | the shape itself
       | 
       | - Exclude the first focused shape from future comparison
       | 
       | - Try to compare 2 shapes randomly
       | 
       | - And after 4 clicks of match attempts I find a match
       | 
       | 2nd Game
       | 
       | - Go through the first 2 rounds with ease as they were
       | essentially in the same row or the same column
       | 
       | - Second game I get confused as the obvious matches aren't
       | obvious
       | 
       | - I time out
       | 
       | - I didn't even notice how the timing worked in the first game
       | 
       | 3rd game
       | 
       | - I try to count the number of blocks between each 'lines' of
       | shapes
       | 
       | - But for shapes that have 3 or more turn of these lines matching
       | them is very difficult
        
         | capableweb wrote:
         | First game
         | 
         | - I quickly glance each shape
         | 
         | - Select the ones that "feel" more similar.
         | 
         | - Scored 13 on my first run
         | 
         | Sometimes I think thinking less is better. Same for a lot of
         | sports, things that require careful motor control and fast-
         | pacing.
        
           | keithnz wrote:
           | yeah, I was similar, my brain just told me the right ones, I
           | didn't really have to work it out.
        
       | jb1991 wrote:
       | Wow, the scrolling does not work at all for me on macos, using FF
       | or Safari.
        
       | stygiansonic wrote:
       | 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.
        
       | jcims wrote:
       | I think this is the first time I realized that wasm wasn't just
       | some kind of funky javascript.
       | 
       | Fun game!
        
       | dataangel wrote:
       | I wish it showed you the right answer when you lose. A few times
       | I have sworn there are no matches ;_;
        
       | sudosysgen wrote:
       | 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.
        
       | soheil wrote:
       | It's easy to just guess a few times and get it right. At least
       | wrong guesses should have time penalty.
        
       | jack_riminton wrote:
       | Very cool! I feel I'm a bit rusty on rotating shapes, I got 5
       | right in the time (1st and only attempt)
        
       | [deleted]
        
       | yablokoffya wrote:
       | Just played 5 times, super cool although UX is a bit vague in the
       | first session. What's the max matches you have?
        
         | sudosysgen wrote:
         | I managed 14 after a couple of tries, I feel like if I
         | continued anymore I'd end up procrastinating my entire day!
        
       | eternityforest wrote:
       | 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.
        
         | sudosysgen wrote:
         | 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.
        
       | boppo1 wrote:
       | Needs to place you on a bell curve against prior completions.
        
       | svet_0 wrote:
       | Small bug: occasionally there are multiple matching pairs,
       | although only 1 works (screenshot: https://ibb.co/JpRp0Pm)
       | 
       | Additionally, the auto rotation itself is mostly confusing, could
       | be better to enable manual mouse rotation.
       | 
       | Cool game nonetheless!
       | 
       | Edit: The bug seems to be that shapes with different "DNA" can
       | still be isometric in some cases:
       | https://github.com/0xf00ff00f/rotator/blob/master/demo.cc#L4...
        
         | 0xf00ff00f wrote:
         | Ouch. Thank you so much for noticing this! Looks like I need a
         | more robust test.
        
           | blamestross wrote:
           | 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.
        
             | [deleted]
        
             | [deleted]
        
             | 0xf00ff00f wrote:
             | Great suggestion, thanks!
        
           | amelius wrote:
           | In chemistry, there is the problem of normalization of
           | molecule identifiers that looks like this problem.
           | 
           | https://en.wikipedia.org/wiki/International_Chemical_Identif.
           | ..
        
         | phreeza wrote:
         | I encountered the same bug and it was also a donut kind of
         | shape, maybe something to do with the closing of the loop?
        
           | svet_0 wrote:
           | Probably. L-U-R-D is the mirror of R-D-L-U but not the mirror
           | of L-D-R-U, although isometric to both.
        
         | cptskippy wrote:
         | Ok so I'm not crazy. The shapes moving had me second guessing
         | myself trying to compare them.
        
       | Ericson2314 wrote:
       | This is great, but I wish length never mattered. Counting blocks
       | is drab, and length not mattering makes the equivalence class
       | more exciting, IMO.
        
       | ag8 wrote:
       | 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.
        
       | fsckboy wrote:
       | 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.
        
       | zuminator wrote:
       | 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.
        
       | evanmoran wrote:
       | Nice. It's very fun and quite hard.
       | 
       | If you are looking for tweeks consider calling it Shapdle and put
       | them in a row, and color yellow if close and green if right (only
       | slightly joking :)
        
       | faangiq wrote:
       | Wordcels can't cope with this.
        
       | jvandonsel wrote:
       | 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,
        
       | whatshisface wrote:
       | 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.)
        
         | musingsole wrote:
         | 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.
        
         | akomtu wrote:
         | 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.
        
           | Teever wrote:
           | > Brains have dedicated "word-processing units" and those are
           | much faster than number-processing units.
           | 
           | *In most people.
        
       | V__ wrote:
       | This is a fun little game. I find the small movements confusing,
       | though. Maybe a fixed camera (isometric?) would work nice.
        
       | ChuckMcM wrote:
       | 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!
        
       | screye wrote:
       | Can't wait for blind to be like 'shape rotator score or GTFO'. /s
       | 
       | It's a fun game. The difficulty does vary quite drastically
       | accross attempts. Occlusion in particular can be a pretty big
       | issue.
        
       | pininja wrote:
       | 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.
        
       | amar-laksh wrote:
       | 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
        
         | TrianguloY wrote:
         | Can someone post that rotating puzzle post from yesterday? I
         | think I missed it (and can't seem to find by searching)
        
           | amar-laksh wrote:
           | There you go: https://roonscape.substack.com/p/a-song-of-
           | shapes-and-words?...
        
       | mfashby wrote:
       | surprisingly difficult, only scored 1 the first try!
        
       | kebsup wrote:
       | 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.
        
       | ggerganov wrote:
       | Cool!
       | 
       | Small issue I found - when I run this as native app, always the 2
       | bottom-left shapes are the answer.
        
       | krick wrote:
       | 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.
        
         | otherme123 wrote:
         | -10 seconds if you fail a pair should work against brute force.
        
         | ravi-delia wrote:
         | 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.
        
       | holtkam2 wrote:
       | vvvvvvvv-----Scoreboard-------vvvvvv
        
         | boppo1 wrote:
         | 11
        
         | holtkam2 wrote:
         | 10 shapes
        
       | renewiltord wrote:
       | I liked it, might I suggest some tiny things?
       | 
       | - Turn selection outline to green on success
       | 
       | - Show incremental progress (num matched)
        
       | aaron695 wrote:
        
       | nickpeterson wrote:
       | 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.
        
         | armchairhacker wrote:
         | 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.
        
         | MrsPeaches wrote:
         | 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.
         | 
         | See also early computers being marketed almost exclusively at
         | men and boys, potentially being the cause of a major drop off
         | of women in computer sciences in the 1980s:
         | https://www.npr.org/sections/money/2014/10/21/357629765/when...
        
           | alisonkisk wrote:
        
       | silisili wrote:
       | This brings back nightmares of mech eng school! I essentially
       | quit because of my inability to do such things :(.
        
       | greatwave1 wrote:
       | Waiting out for the wordcel version of this
        
         | jdminhbg wrote:
         | I believe The NY Times just bought it.
        
         | sudosysgen wrote:
         | You mean Wordle?
        
           | KaoruAoiShiho wrote:
           | It's a 4chan meme:
           | https://knowyourmeme.com/memes/cultures/wordcel-shape-
           | rotato...
           | 
           | 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.
        
             | sudosysgen wrote:
             | It's actually a Twitter meme by @tszzl on Twitter. It was a
             | 4-chan meme to add "-cel" to words, but the shape rotator
             | vs wordcel meme is from Twitter.
        
               | KaoruAoiShiho wrote:
               | You should read the article
        
               | sudosysgen wrote:
               | I did despite my better judgment. The 4chan part is just
               | adding "-cel" to words and doesn't form a direct lineage
               | to the modern meme.
        
       | exikyut wrote:
       | A totally different style of game which also seriously stretches
       | spatial reasoning: https://vladimirslepnev.itch.io/zigzag
       | 
       | 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.
       | 
       | GoOd lUcK.
       | 
       | (It's from here, 1 month ago:
       | https://news.ycombinator.com/item?id=29923707)
       | 
       | 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.)
        
       | oh_sigh wrote:
       | If you're recording stats, I would love to know the distribution
       | of correct guesses per game.
        
       | akomtu wrote:
       | 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.
        
       | sshb wrote:
       | Curious about group theory take on this. It seems that symmetry
       | helps to easily exclude multiple shapes at the beginning of each
       | round.
        
         | whatshisface wrote:
         | If you can turn one into the other with a single reflection,
         | then you can't rotate them. Two reflections, and you can.
        
       | rbobby wrote:
       | 12 matches, 10 seconds per shape.
        
         | hexman wrote:
         | Awesome!
        
       | chungy wrote:
       | 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).
        
         | 8note wrote:
         | Makes sense, you have to wait to see enogh information to be
         | able to actually submit choices, vs being able to start brute
         | forcing immediately
        
       | cryptica wrote:
       | 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.
        
       | sowbug wrote:
       | 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.
        
       | microjim wrote:
       | Scored 7 my first go but that was aided by one or two that were
       | more or less had the same orientation and could spotted pretty
       | easily.
        
         | bemmu wrote:
         | 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?
        
           | musingsole wrote:
           | 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.
        
           | 8note wrote:
           | When you don't know the shapes, you have to do lots and lots
           | of comparisons since you don't know what info you're missing
           | behind the shape.
           | 
           | Once you do it a couple times, you can skip a lot of the
           | conparison
        
       | leto_ii wrote:
       | 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 ;))
        
       ___________________________________________________________________
       (page generated 2022-02-20 23:00 UTC)