Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Zebrapuzzles.com – Daily Logic Puzzles (zebrapuzzles.com)
32 points by slig 8 months ago | hide | past | favorite | 24 comments
Hi all,

I've always been fascinated by logic puzzles and, over the past 15 years, I've published around 300 zebra puzzles, mostly in Portuguese. Now, using LLMs, I've managed to automate the creation of these puzzles, leading to the birth of ZebraPuzzles.com.

There are around 80 different themes that the generator uses to transform a raw puzzle into a thematic one. For instance, the LLM translates this clue:

>The girl Shirt=Pink is next to the girl Age=11

to

>The girl who wears a Pink shirt is next to the 11-year-old girl.

The website offers five new logic puzzles daily, designed to challenge and engage your problem-solving skills. The site requires JavaScript to track your progress interactively, but for those without JavaScript enabled, you can still enjoy the puzzles by marking off clues manually.

While classic Logic Puzzles requires a grid, the puzzles we generate do not: they're solvable using only basic logic and pen/paper.

I'm eager to hear your thoughts and feedback. Are the puzzles challenging enough?




This is not the UX I'm used to for these puzzles - the more common experience is a full grid of all possible relationships between clues. The drop-downs feel stifling because you can't cross off an option that you know is not in that position, nor do you get the visual cross-referencing across categories. It throws the whole thing off to me so I didn't even finish the first puzzle.


Thanks for the feedback! Indeed the usual way to play logic problems is using a grid, and they're usually called logic grid puzzles. Zebra Puzzles are somewhat simpler and the interface is purposely different. It should feel like a "jigsaw puzzle" where the pieces are the constrains and they only fit specific places.

I plan to launch a logic grid puzzles website with a proper grid as well. Thanks again for the honest feedback.


Hi Slig, just wanted to say that my family has been obsessing over these puzzles since you posted these. Thanks for the putting this together.

I would suggest you add some sort of share button, for bragging and viral spreading. And maybe some sort of local state for tracking streaks.


Wow, that's so nice to hear! Thank you so much!

I'm going to implement some sort of tracking streaks as soon as possible.

Since you have many data points, I'd love to hear your thoughts on the level difficulty and on the clues that require external knowledge (such as "the universal donor is sitting at..."). Thanks again!


Slig, I don't know how to reach you other than here.

Today's hardest puzzle (#110 @ 2024-03-23) says that "Theodore's favorite player is Italian".

The list comprises of the following players: Di Stefano (Argentina then Spain), Maradona (Argentina), Ronaldinho (Brazil), Ronaldo (Brazil or Portugal, depends on who the game speaks about), Rooney (England).

That's roughly what I don't like with your implementation: the grids cannot be solved by themselves. Some external knowledge is required, and in this case, the knowledge is incorrect. Basically, the hint here should say: "Theodore's favorite player is <whoever the AI thinks is Italian>".


Hi again Oliver! Just got your email and I'll reply there you tomorrow as well. Thanks for the feedback.

>The grids cannot be solved by themselves. Some external knowledge is required

I introduced this kind of feature in another custom made puzzles, such as one about blood types ("the universal donor is ...") and I got a lot of praise for it and I thought it could be extended to another themes. But I can see that it might be too broad and uninteresting. Will revise this.


You can do woodworking in the woods, just saying. :-) (I can not do difficulty 4 without paper, it's a good difficulty)


Thanks for the feedback!


I have loved this kind of puzzle, since the first time I topped it with Einstein's Riddle.

I found it when I was a teenager and right before starting as a programmer. This kind of iterative and deduction process to solve it is what I like the most.

Good job!


Thanks, I completely forgot to mention the "Einstein's Riddle" in the description. I too loved that puzzle as a teenager.


I've always loved these types of puzzles, glad to know what they're called and have a place to find them!

Very well-designed site, definitely will be returning often


Thank you so much!


I had to break out the paper for 3+ light bulb puzzles.

It would be great to mark which options aren't valid on the website. Maybe a checkbox UI for the more challenging puzzles? Where we can mark a checkbox for entries that aren't the right answer and choose the correct one with the dropdown?


Thanks for the feedback! Do you mean a custom dropdown with checkboxes inside?

BTW, it's completely normal to use paper/pencil while you're getting the hang of it.


I think for difficulty 4+ pen & paper is necessary because there are too many constraints to consider, so I made myself a small helper based on rlorenzo's comment [0]

[0] https://galati.dev/personal/zebra-puzzles-helper


Wow, that's great! Loved the way you coded it in pure JS.


I wish it was possible to manually check the clues since I'm writing them down on paper.


  document.querySelectorAll('.clues span.icon').forEach( el => { let p = el.parentNode; let ck = document.createElement('input'); ck.setAttribute('type', 'checkbox'); p.removeChild(el); p.appendChild(ck); })
and I have absolutely no idea why anyone would fake checkboxes in a webpage, anyway


They're not exactly checkboxes in the game, as they have three states (blank, checkmark and cross), that are automatically updated given the current game state.


Right now the alternative is to disable the JS for this website, and the HTML-only version has checkboxes that you can check on/off. Thanks for the feedback!


It's very nice. I couldn't finish the hardest difficulty: I must be missing something.

I've found some issues: - when refreshing, all progress is lost, including previously solved puzzles. I guess that you could store the current state of the daily puzzles in a cookie or on the drive. -

And I've some suggestions: - maybe add a grid like this one[0] in a tool or something to help us solve the hardest puzzles. I don't know if it's relevant, but i feel it is. I didn't need to use this kind of grid until the hardest puzzle, but again, I couldn't finish it, so I'm not sure it's useful. - make the coloring of the grid optional: they're distracting when solving the puzzle, I think

Anyways, very nice! I can't wait for tomorrow's puzzles :)

[0]: https://murdle.com/


Thank you so much, Oliver! You're the second person that recommends me to look at murdle today, I'm sure I'll get some nice ideas from them.

About saving the state locally, should be trivial to do since I'm using React, nice suggestion.

The hardest level usually is tricky, but I'm sure you'll solve tomorrow's puzzle.


Just out of curiosity, what kind of metrics do you consider relevant to this website?

For instance, Do you track completion rates x time to see how hard it is for users?


Time playing which is about 10 minutes per visitor and completion for each difficulty.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: