[HN Gopher] enclose.horse
       ___________________________________________________________________
        
       enclose.horse
        
       Author : DavidSJ
       Score  : 1047 points
       Date   : 2026-01-06 06:01 UTC (17 hours ago)
        
 (HTM) web link (enclose.horse)
 (TXT) w3m dump (enclose.horse)
        
       | lukebechtel wrote:
       | Which came first -- the game or the domain name?
        
         | sneak wrote:
         | i have soooo many domains i've paid for for years that will now
         | get sites because of the fact i can code at 10x+ now.
        
           | cdelsolar wrote:
           | i like how this was mildly downvoted for some reason
        
         | hk__2 wrote:
         | Generally the idea of the game, then the domain name, then the
         | game.
        
       | divbzero wrote:
       | The game dynamic feels a bit like Wordle: One puzzle per day and
       | different solutions that you can compare with others.
        
       | roskelld wrote:
       | Enjoyed that.
       | 
       | Removing a block was a bit fiddly on FireFox (Floorp) due to the
       | right click menu appearing when I tried to click on a tile.
       | 
       | Looking forward to tomorrows!
        
         | porphyra wrote:
         | I thought so too at first but you can just left click to remove
         | the wall actually.
        
       | savolai wrote:
       | I would like to be able to compare/switch optimal with my
       | solution with single click.
        
         | zimpenfish wrote:
         | Side by side or a diff view would be great.
        
           | rob001 wrote:
           | I agree. Also, knowing the max score in advance would be
           | better, so you know when to stop/whether to keep going.
        
             | naedish wrote:
             | I'm happy not knowing myself but the answer can be found
             | easily in DevTools. All the max scores are there (for
             | current and previous days only).
        
         | merelysounds wrote:
         | Same.
         | 
         | I took a screenshot of my solution and the optimal one - and
         | then I could compare like this.
        
       | zem wrote:
       | lots of fun! the fact that the walls spill over the square
       | boundaries is very annoying though, i would love to have an
       | option to just make a wall a filled in square without the 3d
       | effect.
        
       | fwipsy wrote:
       | I expected the horse to move one tile for each block you placed.
       | I had an elaborate plan to lure it towards one exit and then
       | close it at the last minute... Nope!
        
         | zimpenfish wrote:
         | I did see a game recently which did that (you place a tile, the
         | animal moves a tile, etc.) - possibly on itch.io. I'll see if I
         | can dig it out.
        
           | matsemann wrote:
           | I remember a game I played on my phone ~15 years ago called
           | "Greedy Spiders". The spiders would move greedily towards
           | something every move, but you could cut strings in their web
           | so they would have to start a new route. So you would kinda
           | have to lure them into going one direction while slowly
           | chipping away at the web, until you could completely cut them
           | off or force them to have to take a longer detour giving you
           | more time to cut more of the web. Quite challenging after a
           | while.
        
           | OscarCunningham wrote:
           | There's an old Flash game called 'Chat Noir' where you have
           | to trap a cat on a hexagonal grid. Here's a copy of it:
           | https://www.hoodamath.com/games/chatnoir.html
        
             | zimpenfish wrote:
             | Ah, yes, the one I played recently was basically that
             | (except it was a horse, I think.)
        
           | netsharc wrote:
           | A Windows 3.1 game called Rodent's Revenge:
           | https://classicreload.com/win3x-rodents-revenge.html
           | 
           | Video: https://www.youtube.com/watch?v=-r6CnPzTXKE
           | 
           | Damn, the good old days when games didn't have loot boxes,
           | ads, etc...
        
         | Biganon wrote:
         | John Conway studied similar problems
         | 
         | https://en.wikipedia.org/wiki/Angel_problem
        
       | roskelld wrote:
       | I did Day 8 - I don't know if Perfect means I got the most
       | optimal score, I do show up at the top of the graph.
       | 
       | https://enclose.horse Day 8 PERFECT! 100%
        
         | zimpenfish wrote:
         | If you click on "View Optimal", it shows you the optimal
         | solution which should be identical[0] to yours for "Perfect".
         | 
         | [0] I'm assuming, possibly quite wrongly, that there's only one
         | optimal solution per day.
        
           | grodriguez100 wrote:
           | I don't see any View Optimal button. Is it present in Mobile
           | ?
        
             | culi wrote:
             | I don't see this button either (desktop) but searching the
             | HTML gives a <script> that says
             | window.__LEVEL__ = null; window.__DAILY_MODE__ = true;
             | window.__DAILY_LEVELS__ = [{"id":"FswXDo","date":"2026-01-0
             | 6","dayNumber":8,"optimalScore":86},{"id":"6UV4Yw","date":"
             | 2026-01-05","dayNumber":7,"optimalScore":95},{"id":"VfWi_1"
             | ,"date":"2026-01-04","dayNumber":6,"optimalScore":77},{"id"
             | :"CNtGPI","date":"2026-01-03","dayNumber":5,"optimalScore":
             | 116},{"id":"tnLvlG","date":"2026-01-02","dayNumber":4,"opti
             | malScore":51},{"id":"Qn9vLs","date":"2026-01-01","dayNumber
             | ":3,"optimalScore":74},{"id":"Kj7mXp","date":"2025-12-31","
             | dayNumber":2,"optimalScore":90},{"id":"E03KkY","date":"2025
             | -12-30","dayNumber":1,"optimalScore":68}];
             | 
             | EDIT: the view optimal button appears after submission
        
             | toxik wrote:
             | Results, then scroll down a tiny bit.
        
       | ryandrake wrote:
       | Cool game, but I don't like how you get only one chance. Even
       | returning to the page, you can't try again to beat your previous
       | score. No replayability value at all.
        
         | MrGilbert wrote:
         | I disagree about the replayability aspect. It's a daily
         | challenge, so come back tomorrow. I quite like it.
        
           | bgbntty2 wrote:
           | I seriously don't get the idea behind daily challenges unless
           | you want to keep users hooked to extract some value from
           | them, but that doesn't seem to be the case here, as there are
           | no ads.
           | 
           | Just show all the different levels at once.
        
             | MrGilbert wrote:
             | That's fine. So these kind of games aren't for you, then.
             | Remember crosswords in newspapers? Yeah, think of it like
             | that. You don't get hooked until you cannot let go, you get
             | a limited chunk served each day. Same with Wordle.
        
               | bgbntty2 wrote:
               | I remember buying a magazine full of crosswords and
               | similar puzzles when I was in the mood.
               | 
               | And when there were sites with unlimited Wordle, I played
               | a few in a row.
               | 
               | On the internet, unlike with newspapers, you're not
               | limited to how many levels/games you can make per day.
               | Making it once per day doesn't make any sense whatsoever.
               | It's condescending to the users and feels like a power
               | trip.
        
               | anonymous908213 wrote:
               | You can freely make levels and browse other people's
               | levels. The complaining about power trips seems as
               | uncharitable a perspective as you could possibly conceive
               | of, not to mention a bit theatric.
        
               | rtgfhyuj wrote:
               | so don't? others have said they like it, you don't, move
               | on
        
               | sunrunner wrote:
               | > It's condescending to the users and feels like a power
               | trip.
               | 
               | condescending (adjective): having or showing an attitude
               | of patronizing superiority.
               | 
               | I don't really see how a once-a-day puzzle is
               | condescending, unless it's a "You can't be trusted to
               | regulate yourself so I'll do it for you" type thing.
               | Adding a dictionary definition like above, however,
               | probably _is_ condescending :)
               | 
               | But I like the one-a-day format because, as other
               | comments have said, you can spend an entire day with just
               | one puzzle feeling important (relative to things that are
               | important).
        
             | Skeime wrote:
             | I assume that "all the different levels" might not exist
             | yet. The author is probably creating them a bit in advance,
             | and will keep going as long as they're motivated. Having a
             | regular schedule for new releases helps, and doing it daily
             | seems as sensible as any other schedule.
        
             | rbits wrote:
             | If you click the menu button in the top right you can play
             | all the past puzzles
        
             | sfink wrote:
             | > you want to keep users hooked to extract some value from
             | them
             | 
             | Ironically, that's what I initially liked about the daily
             | puzzles like Wordle: they forcibly prevented you from
             | sinking too much time into them. It was sort of like, "hey
             | here's something cool, and I'm going to make sure it's a
             | positive addition to your life by preventing you from
             | succumbing to your own addictive impulses". You could call
             | that condescending or infantilizing, but to me it's just
             | part of the look and feel of a thing. Especially if the
             | author isn't charging money, they get to use whatever tools
             | are at their disposal to craft the users' experience of it.
             | Wordle Over And Over Again is a _different game_ than
             | Wordle Once Daily. (And WOAOA done properly would probably
             | have a progression of difficulties, or themes, or
             | something, whereas WOD makes more sense with pure
             | randomness.)
        
         | anigbrowl wrote:
         | It shows you what the exit routes are, what your score will be,
         | and you can move the gates around as long as you want, so the
         | means of finding the maximum area are entirely within your
         | grasp.
        
           | sceptic123 wrote:
           | But you have no idea what the optimal solution is, are you
           | 1,10,50 away from it. Would be nice to have some indicator of
           | how close you are before you submit, though I guess that's
           | intentional.
        
             | ryanjshaw wrote:
             | I believe that's the point. I had the optimal solution for
             | some time but was convinced there was something better.
             | Eventually I submitted, and seeing the perfect score was
             | more thrilling after convincing myself I was an idiot.
        
             | butlike wrote:
             | If it told you how close you were then you could just brute
             | force your way to a perfect score every board by trying
             | each square.
        
         | klohto wrote:
         | bruh it's like Wordle, come back tomorrow
        
         | QuantumNomad_ wrote:
         | You get one submit but you can press reset and find better
         | solutions even though you can't submit it to the leaderboard
        
         | geoffschmidt wrote:
         | Click the sandwich icon in the top right, then either Past
         | Puzzles or Browse, and you can play more puzzles. (Or even
         | create and submit your own.)
        
         | hombre_fatal wrote:
         | The one shot per day provides a reason to sink your teeth into
         | one board.
         | 
         | I love Wordle but I found it unplayable when I used that Wordle
         | archive site to play infinite games since there was no reason
         | to think deeply about the 10th+ round I was playing in one
         | sitting.
        
         | zwnow wrote:
         | You can just test without submitting though?
        
         | matsemann wrote:
         | You can just remove/change walls after having placed all. You
         | see your current score, but can keep iterating.
        
           | hn8726 wrote:
           | Yes but it would be nice to see the targets, so you know how
           | far off from an optimal solution you are. I know I'd spend
           | more time looking for better solves if I knew the current one
           | can be improved
        
         | goodmatt wrote:
         | Clear cookies?
        
         | gs17 wrote:
         | IMO they should have a (second) pop-up that warns you that you
         | only get one submit. Not sure if it should let you know if
         | you've made an optimal solution or not, but since it's not
         | timed there's no cost in slowing people down. I've seen similar
         | daily puzzles where you get to see the leaderboard and then can
         | go back and optimize further. Yes, it says it at the beginning,
         | but it's still easy to forget.
        
       | kanemcgrath wrote:
       | I am curious on how you would algorithmically find the optimal
       | solution for this kind of problem for much bigger grids. I wanted
       | to do some seed finding in Factorio for the same exact problem
       | using the generated map images, but never found a good solution
       | that was fast enough.
        
         | Zobody wrote:
         | Constraint programming seems to be a fitting approach. Input
         | would be number of walls, and the location of lakes. The
         | decision variables would be the positions of walls. In order to
         | encode the horse being enclosed, additional variables for
         | whether horse can reach a given square can be given. Finally,
         | constraints for reachability and that edges cannot be reached
         | should ensure correctness.
        
           | Macuyiko wrote:
           | Yes. CP SAT crunches through it in no time, but of course
           | larger grids would quickly make it take much longer.
           | 
           | See
           | 
           | https://gist.github.com/Macuyiko/86299dc120478fdff529cab386f.
           | ..
        
             | ooopdddddd wrote:
             | I don't believe this works in general. If you have a set of
             | tiles that connect to neither the horse nor to an exit,
             | they can still keep each other reachable in this
             | formulation.
        
               | Scaevolus wrote:
               | Yes, this is the major challenge with solving them with
               | SAT. You can make your solver check and reject these
               | horseless pockets (incrementally rejecting solutions with
               | new clauses), which might be the easiest method, since
               | you might need iteration for maximizing anyways (bare SAT
               | doesn't do "maximize"). To correctly track the flood-fill
               | flow from the horse, you generally need a constraint like
               | reachable(x,y,t) = reachable(nx,ny,t-1) ^ walkable(x,y),
               | and reachable(x,y,0)=is_horse_cell, which adds N^2
               | additional variables to each cell.
               | 
               | You can more precisely track flows and do maximization
               | with ILP, but that often loses conflict-driven clause
               | learning advantages.
        
               | Macuyiko wrote:
               | Good point. I don't think the puzzles do this and if they
               | would, I would run a pre-solve pass over the puzzle first
               | to flood fill such horseless pockets up with water, no?
        
               | ooopdddddd wrote:
               | It's not quite that easy. For the simplest example, look
               | at https://enclose.horse/play/dlctud, where the naive
               | solution will waste two walls to fence in the large area.
               | Obviously, you can construct puzzles that have lots of
               | these "bait" areas.
               | 
               | Like the other comment suggested, running a loop where
               | you keep adding constraints that eliminate invalid
               | solutions will probably work for any puzzle that a human
               | would want to solve.
        
         | Scaevolus wrote:
         | The site uses Answer Set Programming with the Clingo engine to
         | compute the optimal solutions for smaller grids. Maximizing
         | grids like this is probably NP-hard.
         | 
         | Note that traditional SAT and SMT solvers are _quite_
         | inefficient at computing flood-fills.
         | 
         | The ASP specifications it uses to compute optimal solutions are
         | surprisingly short and readable, and look like:
         | #const budget=11.       horse(4,4).       cell(0,0).
         | boundary(0,0).       cell(0,1).       boundary(0,1).       %
         | ...truncated for brevity...       cell(3,1).       water(3,1).
         | % ...              % Adjacent cells (4-way connectivity)
         | adj(R,C, R+1,C) :- cell(R,C), cell(R+1,C).       adj(R,C,
         | R-1,C) :- cell(R,C), cell(R-1,C).       adj(R,C, R,C+1) :-
         | cell(R,C), cell(R,C+1).       adj(R,C, R,C-1) :- cell(R,C),
         | cell(R,C-1).              % Walkable = not water
         | walkable(R,C) :- cell(R,C), not water(R,C).              %
         | Choice: place wall on any walkable cell except horse and
         | cherries       { wall(R,C) } :- walkable(R,C), not horse(R,C),
         | not cherry(R,C).              % Budget constraint (native
         | counting - no bit-blasting!)       :- #count { R,C : wall(R,C)
         | } > budget.              % Reachability from horse (z =
         | enclosed/reachable cells)       z(R,C) :- horse(R,C).
         | z(R2,C2) :- z(R1,C1), adj(R1,C1, R2,C2), walkable(R2,C2), not
         | wall(  R2,C2).              % Horse cannot reach boundary
         | (would escape)       :- z(R,C), boundary(R,C).              %
         | Maximize enclosed area (cherries worth +3 bonus = 4 total)
         | #maximize { 4,R,C : z(R,C), cherry(R,C) ; 1,R,C : z(R,C), not
         | cherry(  R,C) }.              % Only output wall positions
         | #show wall/2.
        
           | stabbles wrote:
           | Nice, you don't see clingo mentioned often. We use it in the
           | Spack package manager for resolving dependencies [1]
           | 
           | [1] https://github.com/spack/spack/blob/develop/lib/spack/spa
           | ck/...
        
           | freakynit wrote:
           | Im over 35 years of age. I have 15+ years of programming
           | experience. And I generally consider myself as someone who
           | has good breadth of tech in general. Yet, this is the first
           | time in my life I've heard of ASP. And gosh. I was completely
           | blown away by this as I read more about it and went through
           | some examples (https://github.com/domoritz/clingo-
           | wasm/blob/main/examples/e...)
           | 
           | Therefore, like a good little llm bitch that I have become
           | recently, I straight away went to chatgpt/sonnet/gemini and
           | asked them to compile me a list of more such "whatever this
           | is known as". And holy cow!! This is a whole new world.
           | 
           | My ask to HN community: any good book recommendations related
           | to "such stuff"? Not those research kinds as I don't have
           | enough brain cells for it. But, a little easier and practical
           | ones?
           | 
           | Thanks..
        
             | ctxc wrote:
             | Has to be my favourite comment, haha!
        
             | Scaevolus wrote:
             | The pre-machine-learning formulations of AI focused on
             | symbolic reasoning through the dual problems of search and
             | logic. Many problems can be reduced to enumerating legal
             | steps, and SAT/SMT/ASP and related systems can churn
             | through those in a highly optimized and genetic manner.
        
               | freakynit wrote:
               | Thanks... noted a few keywords to expand on further:
               | 
               | 1. Symbolic reasoning
               | 
               | 2. SAT/SMT/ASP
               | 
               | 3. pre-machine-learning formulations of AI
        
               | sfink wrote:
               | "Logic programming"[0] is what I've always heard this
               | stuff called. I was introduced to it with Prolog.
               | 
               | "Declarative programming"[1] is kind of a superset of
               | logic programming, which may or may not be the aspect
               | that piques your interest.
               | 
               | "Constraint programming"[2] and "Constraint logic
               | programming"[3] are also a perspective on it.
               | 
               | [0] https://en.wikipedia.org/wiki/Logic_programming
               | 
               | [1] https://en.wikipedia.org/wiki/Declarative_programming
               | 
               | [2] https://en.wikipedia.org/wiki/Constraint_programming
               | 
               | [3] https://en.wikipedia.org/wiki/Constraint_logic_progra
               | mming
        
             | tgamblin wrote:
             | The more recent Lifschitz book is the easiest to learn from
             | IMO:
             | 
             | - https://www.cs.utexas.edu/~vl/teaching/378/ASP.pdf
             | 
             | It starts with basics of using ASP and gives examples in
             | clingo, not math.
             | 
             | The Potassco book is more comprehensive and will help you
             | understand better what is going on:
             | 
             | - https://potassco.org/book/
             | 
             | Things I don't like include that it's more dense, doesn't
             | use clingo examples (mostly math-style examples so you kind
             | of have to translate them in your head), and while the
             | proofs of how grounding works are interesting, the
             | explanations are kind of short and don't always have the
             | intuition I want.
             | 
             | I still think this is the authoritative reference.
             | 
             | The "how to build your own ASP system" paper is a good
             | breakdown of how to integrate ASP into other projects:
             | 
             | - https://arxiv.org/abs/2008.06692
             | 
             | The Potassco folks are doing amazing work maintaining these
             | tools. I also wish more people knew about them.
             | 
             | EDIT: I forgot to mention that specifically for games stuff
             | like enclose.horse, look at Adam Smith's Applied ASP Course
             | from UCSC:
             | 
             | - https://canvas.ucsc.edu/courses/1338
             | 
             | Forgot to mention that one... we use clingo in Spack for
             | dependency solving and other applications frequently slip
             | my mind.
        
         | johanvts wrote:
         | I think it's NP hard, maybe from Sparsest Cut. But you could
         | probably find the min-cut and then iterate by adding capacity
         | on edges in the min cut until you find a cut of the right size.
         | (if the desired cut-size is close to the min cut size at
         | least).
        
           | emil-lp wrote:
           | It's NP-hard from Minimum s-t Cut with at least k Vertices.
           | That's the edge version, but since the grid graph is
           | 4-regular(-ish), the problem is trivially convertible to the
           | vertex version.
           | 
           |  _Edit:_ apex-4-regular
        
         | qwertyforce wrote:
         | I think there should be some graph algorithm for this, to find
         | a bottleneck in a graph
        
         | sunrunner wrote:
         | > algorithmically find the optimal solution for this kind of
         | problem for much bigger grids.
         | 
         | Great, now I've been double nerd-sniped - once for the thing
         | itself and another for 'What would an optimiser for this look
         | like? Graph cuts? SAT/SMT? [AC]SP?'
        
           | qsort wrote:
           | I'd bet it's NP-hard. The standard reduction to a flow
           | problem only tells you if a cut exists (by min-cut max-flow
           | duality), but here we want the cut of size at most N that
           | maximizes enclosed area.
           | 
           | The Leetcode version of this is "find articulation points",
           | which is just a DFS, but it's less general than what is
           | presented here.
        
         | emil-lp wrote:
         | There's probably an FPT algorithm using important separators
         | (4^k).
        
         | emil-lp wrote:
         | Someone asked about this very problem here:
         | 
         | https://cs.stackexchange.com/questions/176005/how-to-remove-...
        
       | 29athrowaway wrote:
       | A good game. Possibly the 2048 of 2026.
        
       | jerbearito wrote:
       | Very fun
        
       | valleyer wrote:
       | Nice. Reminds me of Rodent's Revenge.
        
       | gorgoiler wrote:
       | Great game, I love it! I hope the author is collecting juicy
       | analytics. They would be useful if they ever want to bundle 100
       | levels in order of difficulty and release this as a Steam game
       | (which I would absolutely buy!)
       | 
       | I don't think the gates should animate up into the air. It breaks
       | the visual logic of 2D for no benefit. It's subconsciously
       | confusing to see a gate I place in one cell move to occupy pixels
       | in the cell "above" it.
       | 
       | I look forward to future days introducing new mechanics as well.
       | Can I suggest a few, based on dynamics?
       | 
       | - Food! The horse moves on every turn towards an attractor. Have
       | a hay bale / giant sugar cube in one corner fall off the back of
       | a truck / helicopter :) Horses start out dumb and move directly
       | towards the goal before backtracking. Smarter horses path find
       | the shortest route to the goal.
       | 
       | - Goals! Now that the horse is moving, get the horse into a
       | static horse box / cattle pen cell by strategically placing
       | fences so that the path it takes towards the food involves
       | walking onto the goal square.
       | 
       | - Floods! Water encroaches from the edges on a turn by turn
       | basis. Not only do you have to contain the horse, you also have
       | to hold back the flood.
        
         | cubefox wrote:
         | > I don't think the gates should animate up into the air.
         | 
         | I think it should go up, otherwise it doesn't look like a wall.
         | It would look like something the horse can step on and run
         | over. For the water it makes sense to be flat flat and that the
         | horse doesn't want to touch it: it is water-shy.
        
           | stevage wrote:
           | To me the current design doesn't look like anything at all. I
           | don't see a gate or a wall, just two rectangles.
        
             | snewman wrote:
             | +1 to this. It's also visually confusing, the gate looks
             | like it's covering two cells.
             | 
             | Great game! Feature request: add a button that shows my
             | submitted solution. I'd like to be able to compare it with
             | the optimal solution (so it'd be nice if a single tap could
             | toggle between my submission and the optimal).
        
               | ianstormtaylor wrote:
               | It would be nice if the "optimal" view visualized both my
               | solution and the optimal one at the same time, like a
               | Venn diagram.
        
             | layer8 wrote:
             | It also conceals the cherries when it's on the field below
             | them.
        
         | emregucerr wrote:
         | > I don't think the gates should animate up into the air.
         | 
         | I agree! It feels off compared to the overall aesthetic of the
         | game.
         | 
         | Awesome game though! Loved it.
        
         | doctordoctor2 wrote:
         | IMO, the game is great to keep simple, but I'd like to play
         | more levels than just daily, so could see people paying for the
         | ability to play more, like NYT games, and could be part of a
         | suite of game if curated daily by expert vs social curation.
         | The blocks are small though for a small phone with big fingers.
         | 
         | I also wonder if making it GPL and submitting to various *NIX
         | distros would be best. Then it may need to be standalone with
         | random maps created by ML or similar.
        
           | maartin0 wrote:
           | It has a very pleasant editor to make + share custom maps,
           | e.g. https://enclose.horse/play/a3OGcW
        
           | 47282847 wrote:
           | You can play the previous days and hundreds of user
           | contributed maps! Check out the menu. Enjoy :)
        
             | webstrand wrote:
             | Ah I did not see the menu at all
        
         | oliwary wrote:
         | Another thing to try could be to rank people in realtime
         | instead of the one-off submission approach. I do this in
         | https://spaceword.org (create tight crosswords using 21
         | letters), and I think it's quite motivating to see how you
         | compare to others as you improve your solution. On the other
         | hand, its a bit more taxing on the server, and then you also
         | could not show the optimal solution.
        
           | michaelmior wrote:
           | Cool game! One minor feature request. It would be helpful to
           | have some way to move the entire block of placed tiles around
           | at once to give myself more room in a particular direction.
        
             | oliwary wrote:
             | Thank you! :) If you click the three dots on the left top
             | side of the letters area, you can shift all tiles in a
             | direction.
        
           | layer8 wrote:
           | I would prefer not being distracted by that, and not having
           | information on possible solutions before submitting. Trying
           | to find the best solution with added hints like that is a
           | different game. So it should be opt-in.
        
         | anticorporate wrote:
         | > I hope the author is collecting juicy analytics.
         | 
         | I hope they're not. Can't we have a few things in this world
         | that are just fun without going and sticking surveillance on
         | them?
        
           | snackdex wrote:
           | if the analytics lead to an actual game on steam im down
        
             | butlike wrote:
             | You could just package an arbitrary 100 levels, let the
             | player play them in any order, then give rewards for 10,
             | 20, 30, 40, etc. levels completed/mastered.
        
               | Feathercrown wrote:
               | This would still benefit from a difficulty rating system
               | or order
        
               | Forgeties79 wrote:
               | Or go full on kaizo Mario and make it a random room out
               | of the 100
        
               | snackdex wrote:
               | naw im looking to have fun, not cry
        
               | snackdex wrote:
               | something in me loves progressively harder levels
        
           | BloodyIron wrote:
           | Collecting analytics like this is effectively the same as
           | play-testing physical board games in-development. People play
           | a game, information is gathered, and the game is tuned in
           | response to that. If zero information were ever gathered,
           | games could not be balanced or tuned for other things like
           | unforeseen problems.
           | 
           | Please, show me a piece of software, or game, that is perfect
           | the first time it is made.
        
             | wat10000 wrote:
             | It's effectively the same, except people volunteer or are
             | paid to play test.
             | 
             | This whole industry really needs a lesson on consent.
        
               | adventured wrote:
               | So long as personal information is not collected, consent
               | is not morally necessary.
               | 
               | If I collect information on how often a coin-op Street
               | Fighter II game is played in an arcade, while collecting
               | no personal information, consent is not needed.
        
               | wat10000 wrote:
               | Because using someone else's hardware in a public space
               | is clearly equivalent to using your own hardware in the
               | privacy of your own home.
        
               | crazygringo wrote:
               | This is software coming from a server, not hardware. It
               | doesn't matter which device it's run on, or whether it's
               | in your home or not.
        
               | Zetaphor wrote:
               | You are not entitled to play the game, which is hosted on
               | their server which requires bandwidth and other
               | resources. In the same way that you are free to make
               | demands about how software runs on your machine, the
               | author is free to make demands about the use of their
               | software.
        
               | Sardtok wrote:
               | If the data gathered is only on gameplay, and not
               | something that can be used as PII like IP addresses or
               | device information, then it should be fine. Gathering
               | things like the score and time spent completing the
               | level, isn't a problem. This could be used to rank the
               | levels, without gathering any user information.
        
               | wat10000 wrote:
               | If gathering the data should be fine, then asking for
               | permission should also be fine.
        
               | BloodyIron wrote:
               | There are games that let you opt-out, hell even ones that
               | ask you when you first open the game. There are bad
               | apples, but there are plenty of good ones too.
        
               | jader201 wrote:
               | I think the argument is that they shouldn't be opt-out,
               | but opt-in.
               | 
               | If I want to play a game and provide my feedback, the
               | default should be that that doesn't happen unless I
               | explicitly say it should.
               | 
               | Opt-out means that, by default, you're collecting metrics
               | from my plays, until I find the means to opt-out.
        
               | llmslave2 wrote:
               | If the game asks you when you first open it, does it
               | matter if the question is to "opt out" or "opt in"?
        
               | wat10000 wrote:
               | If it asks you then it's neither opt-in nor opt-out. Then
               | it depends on how it asks you. If it's a simple yes/no,
               | it's fine. If it's typical tech bullshit where your
               | options are a big "I want to make the world a better
               | place and save the whales by sending my data" or a tiny
               | button in the corner labeled "maybe later" that takes you
               | to another screen saying "please confirm you want to opt
               | out of data collection and kill a bunch of kittens" then
               | not so good.
        
           | helle253 wrote:
           | 'analytics' and 'surveillance' are not the same thing
           | 
           | trying to understand player behavior in the context of a
           | board or video game (though there is some overlap!) is not
           | the same as trying to understand user behavior in the context
           | of social media or purchasing behavior - the data of both of
           | which derive their value from being sold to THIRD PARTIES as
           | a commodity.
           | 
           | being able to tune a fun little video game is not the same
           | thing at all
        
             | badtuple wrote:
             | Does your opinion change if they use it to train a
             | commercial program to do a similar task?
        
           | alpha-male-swe wrote:
           | yeah man what a horrible world we live in man. thats so
           | profound of you to say, truly. well said man
        
         | gwbas1c wrote:
         | Sometimes simple things are best. I really like the game as-is.
         | 
         | This is a rather simple game to program. IMO, if you can
         | program, take a few weekends to make your own game based on
         | your ideas. If you can't program, your ideas will lead you to a
         | wonderful learning project.
        
         | xg15 wrote:
         | > _I don't think the gates should animate up into the air. It
         | breaks the visual logic of 2D for no benefit. It's
         | subconsciously confusing to see a gate I place in one cell move
         | to occupy pixels in the cell "above" it._
         | 
         | I interpreted it as standard "top-down" RPG graphics, where the
         | Y axis always doubles as the Z axis. As such, I didn't find it
         | visually confusing - but it did made playing on mobile
         | annoying, because you often end up targeting the wrong field.
        
         | xg15 wrote:
         | And of course: Buy additional walls using in-game purchases!
         | 
         | (jk)
        
         | tgtweak wrote:
         | There is definitely a turn-based minigame here - get the most
         | "distance" travelled by the horse, every turn the horse moves
         | one block towards it's closest escape and you can drop walls to
         | cause it to find a new path - in this one you actually lose
         | when the horse can't get out but the goal is to get the horse
         | to move as many blocks as possible using your limited number of
         | walls (or apples which can attract it).
        
           | mbreese wrote:
           | I was initially expecting the horse to move after each turn.
           | As it is, this is a logic game, similar to what I'd expect to
           | see in the NYT Games app. Quite entertaining, but something
           | that you could look at and reason about to solve.
           | 
           | But, you absolutely could make this a turn based game where
           | the horse is trying to escape and you (playing as the
           | farmer), work to fence it in as it meanders towards a gate.
        
           | dllu wrote:
           | That reminds me of Paquerette Down the Bunburrows [1] which
           | is a very fun pathfinding game where the bunnies will
           | pathfind to try to run away from you. It's not exactly what
           | you described, but it is very fun and surprisingly deep and
           | challenging.
           | 
           | [1] https://store.steampowered.com/app/1628610/Paquerette_Dow
           | n_t...
        
       | nirolo wrote:
       | Very cool game. Immediately reminded me of pathery, which I can
       | also recommend to everyone who enjoys this.
        
       | g0ran wrote:
       | Seeing tile animations immediately reminded me of Godzilla 2: War
       | of the Monsters on NES.
        
       | menzoic wrote:
       | Leetcode problem
        
       | abhi555shek wrote:
       | Nice game! I could only play one game but wish I could play
       | previous days' games as well
        
         | wseqyrku wrote:
         | You can. Checkout the Past Puzzles in the menu (top-right).
        
       | n4r9 wrote:
       | Nice game! Out of curiosity, are the daily levels built by hand
       | or algorithmically? Is there some way to measure their difficulty
       | computationally, other than just trying to do it yourself or
       | seeing how many people get a perfect score? I'm also working on a
       | grid-based browser game and both those questions have come up for
       | me, I'm keen to see how other people tackle it.
        
         | pests wrote:
         | There is a built in map editor, click the hamburger menu.
        
       | dvh wrote:
       | > Horses can't move diagonally or over water.
       | 
       | Ah the famous spherical horse in vacuum
        
       | niemandhier wrote:
       | This is surprisingly similar to a subset of the ARC II puzzles.
       | 
       | The collected answered could probably be used to teach an AI to
       | approach this type of problem thereby gaining some of the
       | cognitive biases that humans have, which is exactly what you want
       | in some cases: An AI that generates human like solutions to hard
       | problems .
        
       | rob001 wrote:
       | This is a very cool and enjoyable game. I'd be really interested
       | in knowing what framework/library was used to make it. I
       | inspected the source and can see the game is done on canvas, but
       | can't work out more than that.
        
         | Retr0id wrote:
         | I wouldn't be surprised if they're just rawdogging the canvas
         | API
        
         | daneel_w wrote:
         | The canvas API itself is pretty basic. It's not complicated at
         | all to slap graphical tiles onto the screen.
        
       | posed wrote:
       | I enjoyed it, thanks for making it!
        
       | langarus wrote:
       | lovely, I've created a solution finder for it.
       | 
       | 1. Do a screenshot of the grid (try to include walls as well)
       | 
       | 2. Open https://enclosure-horse-solution.onrender.com/
       | 
       | 3. Make sure the number of walls are correct in the input (bottom
       | left)
       | 
       | 4. Press "Solve"
       | 
       | PS: It might crash as it's on the free version of render. I've
       | added a caching layer.
       | 
       | Here's the github so you can run it locally:
       | 
       | https://github.com/langarus/enclosure.horse-solution
       | 
       | clone it and run
       | 
       | make init // make web
        
         | langarus wrote:
         | I see some of you are already crashing the server. :melting:
         | try to run it locally if you can't get the result via render
        
         | ronbenton wrote:
         | You caching in memory or disk? Redis or db might survive the
         | crashes and reduce future ones
        
           | langarus wrote:
           | on disk, so basically I'm trying to save the image of a
           | solution and reuse it if the same quiz is required. So
           | instead of recomputing the result just return the same image.
        
             | ronbenton wrote:
             | Got it. Is that cache surviving the crashes?
        
               | langarus wrote:
               | I'd have to host it somewhere (s3?). Right now I only
               | commit the solution png to github. OFC it's not a good
               | option but it's free and fast.
        
               | ronbenton wrote:
               | I think Cloudflare r2 has a generous free tier. You can
               | also technically store images in redis I think. anyways,
               | thank you for making this, really cool!
        
             | slashyellow wrote:
             | curious question from a non-programmer - are you checking
             | against the exact same image (i.e. hashed), or is there an
             | easy way of trying to match an image to a very similar one
             | you've seen before?
        
               | flexagoon wrote:
               | Not OP, so I don't know what their website does, but
               | there is a technique called "locality-sensitive hashing"
               | that gives the same hash for similar items instead of
               | exactly the same ones
               | 
               | https://en.wikipedia.org/wiki/Locality-sensitive_hashing
        
         | g4zj wrote:
         | There is a level editor with the ability to show the optimal
         | result for a custom level. In theory, one could recreate any
         | official level and reveal the best solution that way. However,
         | I haven't tried this to verify any intentional roadblocks by
         | the developer.
        
       | rhymemini wrote:
       | Score init should say N/EIGH instead of N/A, otherwise great.
        
         | ronbenton wrote:
         | Reminds me of a comic I saw a couple years back about a horse
         | parliament where the horses only voted "neigh"
        
           | _1 wrote:
           | That's from the Far Side. My mom has had this on her fridge
           | for at least 30 years.
        
             | inanutshellus wrote:
             | This appears to be it. :)
             | 
             | https://i.pinimg.com/736x/4f/51/e0/4f51e04263a89a008e29668b
             | 7...
        
         | snackdex wrote:
         | dead. how in the world does a thought like that come into your
         | mind. i feel like i got 0 in creativity
        
       | keepamovin wrote:
       | I imagine you went searching for domain names and came up with
       | this? I resisted clicking on this top story all day because I
       | thought "how good could _that_ be?  "enclose horse" what is
       | that?" Yet, the experience was genuine-slow-forming-smile-of-
       | understanding. This is really good.
        
       | adonovan wrote:
       | I think you should change the cherries to a battery and call the
       | game Correct Horse Battery Stable.
        
         | MildlySerious wrote:
         | That is just delightful.
         | 
         | Reference[1] for anyone wondering.
         | 
         | [1] https://xkcd.com/936/
        
         | gwern wrote:
         | Or the cherries could be a delicious pastry or PBJ-like treat:
         | _Collect Horse Buttery Stable_...
        
         | layer8 wrote:
         | Use staples instead of walls as barriers.
        
         | tetris11 wrote:
         | Or turn the cherries into sugar lumps, and call the game _My
         | Lovely Horse_
        
       | lionkor wrote:
       | I found the optimal solution for day 8 by hand, that was fun!
       | 
       | My algorithm, by hand, was as such:
       | 
       | 1. Start with the smallest possible valid solution (1)
       | 
       | 2. Expand slowly, and each "step" (like, moving a wall or two
       | around to "obvious" spaces) must be a valid solution (this brings
       | you to 40-60 score, depending on your choices, on day 8).
       | Continue to step 3 once you can't see anything obvious.
       | 
       | 3. Look at possible places where you could expand, but need 1
       | more block. You'll find one eventually.
       | 
       | 4. See if you can spare any walls anywhere, using diagonals for
       | example. If so, place the solution from 3 and go to 3 (repeat).
       | If not, go to 5.
       | 
       | 5. Count or estimate the squares gained by doing your improvement
       | from 3. See if you can _reduce_ your score by less than that,
       | pessimizing your solution, to gain 1 wall. Once you 've found
       | one, go to 3.
       | 
       | That got me to the optimal score within 15 mins or so.
        
         | ChrisbyMe wrote:
         | I found the same algorithm! The top down solution didn't really
         | work.
         | 
         | Very fun game
        
         | sambuccid wrote:
         | This feels strangely similar to TDD with the Tranformation
         | Priority Premise
        
       | sandyarmstrong wrote:
       | Is there guaranteed to be a solution that encloses the cherry? Is
       | Day 8 the first day to have a cherry?
        
       | zwaps wrote:
       | Which AI am I training here?
        
       | naedish wrote:
       | A very fun game - it took quite a bit of fiddling to get an
       | optimal solution using an LLM. Interesting as I haven't tried
       | using them for 'unique' algo problems much. And then the day 9
       | puzzle broke my original solver (I had bounded areas that were
       | unreachable to the horse so didn't actually score). Will be
       | interesting to see whether the solver works on day 10.
       | 
       | It would be interesting to be able to change the wall budget for
       | each puzzle to add some variation (with a max limit).
        
       | scrumper wrote:
       | This is nice, I enjoyed it. Was a couple points off the optimal
       | score for day 8 but when I clicked "Show optimal" I couldn't then
       | go back to see mine to compare. Either way, stretched the brain a
       | bit.
       | 
       | Only nit: fix the walls. They take up one and a half spaces so
       | are confusing, and they're sci-fi steel with flashing red lights.
       | Turn them into one-square-only fences. You use fences to enclose
       | horses, not raptor walls from Jurassic Park.
        
         | xg15 wrote:
         | I mean, the horse does sometimes talk about the demon god if
         | you click on it, so who knows...
        
         | Groxx wrote:
         | Yeah, it needs to add a toggle button to let you switch between
         | yours and optimal quickly.
         | 
         | I did figure out that you can get back to yours by going
         | through the past-days menu though.
        
         | xp84 wrote:
         | This is my feedback too. Turn "show optimal" into a toggle that
         | persists on the page and toggles between yours and the optimal.
         | 
         | And same about the walls. Especially on mobile it's hard enough
         | to tap the right square, and having a wall poking up from the
         | square below just makes things worse.
         | 
         | But overall I love the game!
        
       | Arubis wrote:
       | Each time I see a `horse` domain, particularly for entertainment,
       | I remember to `traceroute bad.horse` and smile again.
        
         | ZeWaka wrote:
         | lmao, this is beautiful
        
       | xg15 wrote:
       | Looks like some people have discovered the first "accidental"
       | game mechanic: The horse can walk over cherry fields, but the
       | player cannot place walls on them - so if a level designer places
       | cherries strategically, they can create unblockable paths.
       | 
       | Right now, this is only used for troll levels, but I wonder if
       | you could also use it for some actual puzzles.
        
       | xg15 wrote:
       | I'm pretty sure the author got the domain first and then designed
       | an (awesome) game around it.
        
       | arthurjj wrote:
       | My 10 year old loves this game. He started playing it Wednesday
       | or Thursday of last week and basically all of his screen time.
       | Both trying to optimize and the level design scratch an itch that
       | few games do
        
       | grugdev42 wrote:
       | Love this! I feel like this would get a lot of traction as a
       | mobile app. It's a perfect "I've got five minutes free" game.
       | 
       | Doesn't feel outrageously difficult to put inside a webview?
        
       | nickponline wrote:
       | I think this problem is called the maximum-weight closure and can
       | be solved as max flow. You want to find a cut between source
       | (horse) so they were no out-going edges not in the cut (escape
       | routes).
        
         | emil-lp wrote:
         | It's not the same problem. First, it's not directed, second
         | it's a vertex separation problem.
        
           | nickponline wrote:
           | Ah yes quite right.
        
       | alexjplant wrote:
       | Fantastic fun! My humble level contribution is here [1].
       | 
       | [1] https://enclose.horse/play/44wCCO
        
       | DonThomasitos wrote:
       | I love it! I miss a way to see the reference solution, would be
       | nice in order to learn. Or maybe get a hint.
        
       | atticus_ wrote:
       | https://enclose.horse Day 8 PERFECT! 100%
        
       | sambuccid wrote:
       | I want a tool that visualizes code paths in this way
        
       | Narushia wrote:
       | Happy Year of the Horse!
        
       | sublinear wrote:
       | Fun game, but the animation style is too distracting for me.
       | Maybe there should be an option to disable it or have it stop
       | automatically.
       | 
       | I didn't initially expect it would be a problem, but the constant
       | squiggly movement gets very annoying.
        
       | croemer wrote:
       | I didn't realize level 1 gave me 11 (eleven) walls at first. I
       | thought it stood for II = roman 2. Maybe use a font that makes
       | the difference between 1 and I clearer.
        
       | DuncanCoffee wrote:
       | Nice game, I'm going to sink some time on these! Got 86 points
       | today
       | 
       | https://enclose.horse Day 8 PERFECT! 100%
        
       | DougN7 wrote:
       | Wow, that's a lot more challenging than it looks. I agree with
       | another commenter that the 3d blocks look confusing - they appear
       | to cover two spaces.
        
       | theo1996 wrote:
       | I dont understand what is the goal of this game
        
         | pests wrote:
         | Enclose the horse. Horse likes most space.
        
       | godisdad wrote:
       | Looking forward to the AI enabled subscription version
        
       | Lammy wrote:
       | It's like ChuChu Rocket! + JezzBall; two of my favorite games!
        
       | MagicMoonlight wrote:
       | This is a really fun game. And I just realised you can make your
       | own levels!
        
       | komodo99 wrote:
       | Usability, i'd like either a 'save/restore state' button, or a
       | 'restore current best'. Right now, experimenting after finding a
       | solution seems like a punishment if I can't recall exactly what I
       | did to hit my rolling 'best'. Good game though!
        
         | abetusk wrote:
         | There is a button that restores your best, it's right under the
         | current score.
        
       | wirtzdan wrote:
       | So fun!
       | 
       | I wonder how the wiggle animation is implemented in for the
       | buttons and modal.
        
       | Aardwolf wrote:
       | Nice puzzle! But I'd like a button to go back to your most
       | optimal solution so far: it's tedious to try other options but
       | then have to convert it back to your better solution again...
        
         | xp84 wrote:
         | There is one! Or maybe dev is just that fast. Tap where it says
         | "Best: 67" and it reverts to previous best.
        
       | zachallaun wrote:
       | Ton of fun! Was interesting to see how my strategy evolved as
       | well. I started out trying to make a large pen, but quickly
       | realized that wouldn't work, so I made a small pen and then
       | started moving it out. This allowed me to see individual
       | optimizations and try alternatives. Even at the end, about to hit
       | submit, I wasn't sure my solution was optimal, but ended up with
       | the optimal sizse-86 solution for today's challenge. Will try
       | again tomorrow!
        
       | athrowaway3z wrote:
       | Great little game. For the community levels, I'd suggest adding
       | filters based on size & walls.
       | 
       | I'd even go so far as to deny any submission with more than
       | sqrt(size) walls.
        
       | hotsalad wrote:
       | Does each day's challenge come out at a certain time in your
       | local timezone? I have a friend who is seeing day 9 when I can
       | only see day 8. I'd request having new daily maps come out at a
       | consistent global time for the purpose of competing with friends
       | who live in different timezones.
        
       | genekwame wrote:
       | Raaarrrhh. Perfect solution yesterday, perfect solution today!
       | I'm really on a roll lmao. Love it
        
       | genekwame wrote:
       | Raaarhh. Perfect solution yesterday, perfect solution today! I'm
       | really on a roll. Love love the game
        
       ___________________________________________________________________
       (page generated 2026-01-06 23:09 UTC)