Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I finished my site for daily dogbunny puzzles, as I promised on HN (dogbunnypuzzle.com)
244 points by drcode on Nov 17, 2022 | hide | past | favorite | 53 comments
Hi everyone, based on the feedback on my prototype puzzle (https://news.ycombinator.com/item?id=32884467) I have now built a daily puzzle site, with lots of animation and interactivity.

Hope you enjoy it!




Creator here: I will do what I can to address the "hug of death" today. Meanwhile, here's a gif showing the look and feel: https://twitter.com/lisperati/status/1593296453534785537


Those animations look great. Congrats on the launch - I'll try it out later when you're not getting hugged to death quite so hard :)


Is it weird that I think the tree should be less detailed?


I actually know what you mean, I was wondering the same- These are always hard taste-based decisions


Yeah, it doesn't look bad, but everything else has a stronger cartoon vibe to it and the tree looks more on the realistic side of that.


this rocks also thanks for land of lisp! people like you, why the lucky stiff, and james halliday (substack) are my programming inspirations. seeing people with a passion for making cool, weird, and fun things is so great.


seems back up again after some harrowing server changes, will need to put more work into scaling starting now


I remember playing this 60 days ago when you released the prototype - congratulations on the official release! The game was a lot of fun, simple enough to be intuitively picked up but complex enough to spend a good 20 minutes trying to solve.

It also teaches the user quite a bit about prioritisation, and the fact it's essentially just a graph problem with multiple constraints which can be solved with a variation topological sort shows how useful algorithmic thinking is in daily life!

I can't view the site at the moment due to the HN hug of death, but I do have a question.

You say these are daily puzzles, are they hand curated by yourself or algorithmically generated - or a bit of both?


I have a heavily-tuned puzzle generator (written in zig) that generates candidate puzzles, which I then lay out with graphviz, then manually refine the layout and curate.


I'm trying to write program to solve it as a practice. I've almost got the algorithm part done, but I have to input the puzzle manually. I wonder if there is a way to automatically fetch and read the puzzle.


I also played the prototype and similarly enjoyed it, and also can't play it now

Something that occurred to me: is there any way - or rather, are there any existing browser features that support - setting up an "alarm" for when a hug-to-death site becomes generally available again?


The difficulty would be not contributing to the deathhug. You could check if it's accessible at all if everyone accessed a server that was itself polling the site every minute, but trying to gauge beyond "accessible" and "not accessible" seems difficult.

Best would be if a site could report its availability status on its own externally. Anyone know of an existing service where you can report the status of your website?


And if you do, could you also share it with the various cloud providers so they can render an accurate status page?


I'm Conrad, the main creator of the site and creator of the puzzle. Happy to answer any questions. The site should run on most modern browsers and phones, let me know asap if you have any difficulty so I can fix!


Hey, congrats on shipping your game! Just a heads up - the first time I loaded up the game on Safari iOS (iPhone 11 Pro) the bottom part of the game was a bit cut off at the bottom of the screen. When I changed the day tabs back and forth it fixed itself.

Edit: it looks like the site is also getting hugged to death by HN.


Yeah, mobile browsers are brutal if you want to use a "make this rectangle as big as possible" layout strategy, because they have multiple "view heights" depending on whether the address bar is visible (since they automatically hide on scroll these days) there is no good solution for this with CSS yet that works on all browsers. I will continue to work on improving that.

the struggle is real


The “you have to have someone on the carrot” message sometimes took too long to disappear. Maybe it should fade away once you try to move something else.


Yes, will fix


The 'i' button brings up the info page, but the words are too large, and the bottom is cut off in my browser (Firefox Nightly on Windows 11). I cannot scroll down to see the rest of the page.

To read it properly, I had to zoom the page (pressing Ctrl + '-' repeatedly).


Heads up- your external link to Twitter isn't working


Thanks, will fix


Did we hug it to death? (It's not loading for me. 504 Gateway Time-out)


sorry, I didn't expect it to reach the top of hacker news after 5 minutes of posting the link :(


My condolences, I'm happy for your loss.


that's good news in a way. congrats!


I did some hail mary fixes to try to get it up again, but it's unfortunately still struggling


Made a note of the URL and will step aside for a while.


It seems yes


Same here


Site is currently down, here's an archive link: https://web.archive.org/web/20221117183654/https://dogbunnyp...


Love the game. I wish I had taken a screenshot to help describe this, but I completed with 68 moves and in the 15th percentile. On the lower right of the completion page was an illustration of where my solution fit - to me, it looked like the illustration was showing a small number of solutions "above" mine (I assume the 15% of people who took more moves) and a large number "below" mine.

My intuition is that "Higher is better". I would expect my solution to be near the bottom, not near the top. Of course, maybe it's complicated because I have a higher number of moves than most, so maybe the thinking is "higher is higher"?

Minor minor issue. I love the game and I think the stats page is great.

One other issue - it's sometimes hard to select which character you want if both the rabbit and the dog are on the same node.


Love this game. On completing the level this error popped up:

class java.lang.IllegalStateException:Attempting to call unbound fn: #'clojure.core/unquote

I'm running on Chromium browser on XUbuntu.


animations are cute, but the hitboxes are a bit large for when you've got two characters on one square and want to select who's behind


Yes, this is tricky to fix because javascript doesn't check alpha channels on mouse events for images. I have a partial fix planned to improve this, should be improved in the next few weeks.


I believe you can apply an svg clip-path to the element with css to change the region you get events from. https://css-tricks.com/the-many-ways-to-link-up-shapes-and-i...


maybe single-click to shuffle the top item to the bottom of the pile.


I can't get to site but the pof had slow return animation. You can move an item to uncover one behind then move that one before first return.


My only complaint is that moving one character a long way can be quite awkward with click-drag-drop-click-drag-drop-click-drag-drop. It would be much nicer if you could just drag the whole way then release in one go.


My friends and I are enjoying this site very much! Thanks for sharing. :)

My only suggestion is that I think clicking on the suggestion dialogues should make them disappear.


Will do


Working for me here (Firefox/Iceraven Android). I remember the original post; congratulations on shipping! Looking forward to playing more.

Took me 68 moves.


Fun game. I hit an exception at the end of the Thursday puzzle, was going to capture it but it went away too fast.


Hi, did I miss something or I can't reset after finishing the puzzle?


I did this in 32 moves


it went down I think. am excited about this


Great work!


Tip for everyone posting their works to HN – address scaling for your site before it reaches the front page. It can be as simple as pressing two buttons on Cloudflare. You aren't going to get exposure like this often, and you don't want to blow it.


The tricky part is, you never know how much load you can handle until it's too late- I figured I had more headroom LOL


Great puzzle. I liked it so much that I saw your message about going live a few days ago already.

Is there any dynamic content generation involved? I am wondering because the Gateway timeout hints at something behind nginx being the bottleneck. Don't you just serve static files? Maybe you could configure nginx to cache dynamic resources if they only change once a day or even consider turning dynamic resources into static resources by generating them once per day and serving them as static files.


The problem is I'm not big on devops, so I was just hoping "things will be fast enough"

I just modified the server to serve all images from a cloudflare-based source, hope that will help

Also, it's definitely not just static stuff, it tracks full statistics on how people did in the puzzles so they can compete, and I didn't go very deep on optimizing that yet


turn off statistics for the next day or so.


Now that it loaded again for me, I can see the /graphql endpoint. Caching GET requests to endpoints for a few minutes (or even just one minute) will likely suffice, given that the puzzle is the same for all users. If I am not overlooking anything, stats will lag behind for that period of time in the worst case. More info on how to configure nginx can be found on https://docs.nginx.com/nginx/admin-guide/content-cache/conte.... When a 502 error is served, images or bandwidth are usually not your problem but your backend that is too slow. In your case you probably only need `proxy_cache_path` to define the cache path, `proxy_cache` to specify the zone name you used with `proxy_cache_path`, and `proxy_cache_valid 200 302 1m;`.


this is super helpful, thanks

all stuff I don't know but I should




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

Search: