HN.zip

Show HN: Unflip – a puzzle game about XOR patterns of squares

151 points by bogdanoff_2 - 35 comments
BoppreH [3 hidden]5 mins ago
Very nice and satisfying, but I would suggest ramping up the difficulty a little faster. I got until lvl 15 by just flipping the obvious areas, taking no more than 2 seconds. It's otherwise very cool and minimalist.

Edit: limiting it to square flips was a great idea. There are just enough moves to make the answer non-obvious (after lvl 15), but not so many possible moves that you get overwhelmed.

---

Edit 2: I just remembered I made a similar "game"[1], where you select columns to XOR with other columns and try to reach the target pattern. Use the scroll wheel and shift+wheel to change the pattern and size.

That was actually part of a real research project in optimizing circuits for computing binary finite fields, where the "game" was a sandbox to try different algorithms. The best algorithm was actually found by someone playing in this sandbox and coming up with an efficient strategy.

[1] https://boppreh.com/source/playreduce/

bogdanoff_2 [3 hidden]5 mins ago
Thanks! And yeah, I've gotten the suggestion to ramp up difficulty faster from a few people.

Although interestingly some other people in the comments here say they liked how the progression goes.

And that's an interesting little game you made.

And I spent quite some time creating an algorithm and solver to find the par for Unflip. I'm planning to release a blog post about it soon

riffraff [3 hidden]5 mins ago
I think if you make the par visible in the "result screen" and add a "try again" option to "next" this could make it more interesting without the need to ramp up difficulty. I think I solved a few cases with a bunch of random shifts, for example, and may have switched to thinking mode if I was faced with that.
Hackbraten [3 hidden]5 mins ago
If you're into retrocomputing, the C64 game Quadromania (1987) has similar gameplay:

https://archive.org/details/Quadromania_1987_CP_Verlag_de-en...

james_marks [3 hidden]5 mins ago
Really nice concept and super clean execution. Wish I’d had 1/2 this restraint on adding complexity when I made my own tile-based puzzle game[0]

[0] https://www.hidden-mirrors.com

jy14898 [3 hidden]5 mins ago
Stopped at 74 but managed to par all before that somehow. Didn't really do any problem solving/deep thinking about it, just clicking what felt right
berkaycit [3 hidden]5 mins ago
It’s amazing. It inspired some new ideas.
snowfield [3 hidden]5 mins ago
Played until 27. All the levels were pretty easy, 15-30 seconds per level. Mainly because of the "par" feature
stephenlf [3 hidden]5 mins ago
Level 24. I took a natural approach (pull each corner to the center) and got a rather unfortunate picture

—-

Edit: and the right answer was so obvious, too

sd9 [3 hidden]5 mins ago
This was incredibly easy and then it suddenly got incredibly hard
lovegrenoble [3 hidden]5 mins ago
Neumorphic knot, a puzzle about Knot patterns: https://brainteaser.top/knot/index.html
stephenlf [3 hidden]5 mins ago
Love it. The “par” value is a huge hint. You might consider hiding it
bogdanoff_2 [3 hidden]5 mins ago
That makes sense. I think what I'm gonna try is hiding it until the level is solved at least once.
atum47 [3 hidden]5 mins ago
Android gestures need to be prevented in order for the game to work on mobile (drag finger from right to left go back). Nice game thought.
mkl [3 hidden]5 mins ago
Worked fine for me on Firefox on Galaxy Note 20. I've never run into single finger back gestures that can start anywhere - seems like that would break almost everything that involves dragging.
bogdanoff_2 [3 hidden]5 mins ago
Interesting. I don't get that on my android phone. What model and browser are you using?
intalentive [3 hidden]5 mins ago
I like it. Played a bunch of levels. I could feel my brain learning new patterns (like the card game Set). There are a handful of really useful primitives.
kinduff [3 hidden]5 mins ago
Did I just get flipped in level 13? I really like it, the level progression feels good. Very nice execution.
zem [3 hidden]5 mins ago
I really love how the first few levels teach you about various solving elements and patterns. very well done.
bogdanoff_2 [3 hidden]5 mins ago
Yeah, that was the idea.
goodmachine [3 hidden]5 mins ago
Well, you nailed it there. Nice work
martin_balsam [3 hidden]5 mins ago
I agree the ramp up is a bit slow, but I love the concept, and the interface. I am stuck at level 26

edit: found a way to solve it in 6, but not in 4

vunderba [3 hidden]5 mins ago
Nice job. I'm reminded of the "Lights Out" game [1].

https://en.wikipedia.org/wiki/Lights_Out_(game)

wilsonnb3 [3 hidden]5 mins ago
Had a lot of fun with this, great job on the concept and presentation!
bogdanoff_2 [3 hidden]5 mins ago
Thanks! I'm glad you enjoyed it!
mikewarot [3 hidden]5 mins ago
Wow... 120 levels... that was hard. I kept getting down to 1 square, and that always stumps me.
bogdanoff_2 [3 hidden]5 mins ago
wait, did you actually do the whole 120 levels in one sitting? Wow. How long did it take you?
bogdanoff_2 [3 hidden]5 mins ago
If anyone wants an extra challenge: think, how would you write a solver for this?
penwielder [3 hidden]5 mins ago
(If I'm trying not to spoil anything, do I even post? Maybe I can encourage someone else to have fun giving it more thought.) At least one elegant and efficient answer is within reach for many. The person who first pointed it out to me didn't need to know the relevant branch of mathematics to do so; he intuited the shape of it without the formal terminology.

I'll be particularly curious to hear the pattern(s) in how many solutions there are, and/or the probability of a random board being solvable.

The haptic feedback on mobile is really on point in this implementation.

NatKarmios [3 hidden]5 mins ago
Tangentially related, have you heard of Bombe? It's a hexagonal minesweeper where you write rules to solve every possible scenario. It even checks your rules' satisfiability via SMT.
fsckboy [3 hidden]5 mins ago
i have a strong quibble about calling this XOR. XOR takes two arguments and one of the arguments here is implicit. The game inverts the square colors, which XORing with "1" will do, but it's not defined whether white or black is 1, it just inverts white and black.
Retr0id [3 hidden]5 mins ago
Level 60 is a fun one
senfiaj [3 hidden]5 mins ago
yeah, eventually figured out how to do in 5 moves
anigbrowl [3 hidden]5 mins ago
Yes I got stuck there for a while. I did a few more after that but my interest waned. I did spend a lot fo time feeling ike a pixel in Conway's game of Life.
bogdanoff_2 [3 hidden]5 mins ago
Ah, yes, the single-pixel level.