175 comments

[ 4.1 ms ] story [ 244 ms ] thread
I posted Bracket City to HN on February 24th and the game went live yesterday on The Atlantic (!)

The game will stay free to play (and not require logging in). Also, I'm still making all the puzzles!

HN provided the first real infusion of players that weren't my mom's friends. So thanks everyone.

FWIW The Atlantic's team is amazing and got this live exactly 2 weeks from when we signed the deal.

This happened quick and I feel very lucky. The HN community of solvers keeps me honest with much helpful technical and editorial feedback. I love it all -- here or at mayor@bracket.city

T[Tom who befriended a volleyball] HN

PS my original post! https://news.ycombinator.com/item?id=43160542

That's amazing, congrats!
Congrats! My only feedback is that it's irritating to be counted "wrong" for naming a correct answer whose clue hasn't been simplified completely yet.
I agree. Thankfully that happened to me in the tutorial, so I went into the real game understanding that.
Yeah, this one is tough. I tried doing today's puzzle and I immediately knew the full solution, so I guess the designer's dilemma is whether or not to allow Wheel of Fortune-style "I would like to give the full answer", and if so how to score it. Did you do as much "work" as somebody who solved all the puzzles? I would argue not, so it should probably be scored less, but how much?
I see that as the core point of the game! Would it be a whole lot of fun to complete the game in one guess?

On the other hand I like when I can ‘skip ahead’ and then try to reverse engineer a trickier inside clue.

The instructions say one can solve any clue, and I could take that to mean any bracketed phrase. If they say "highlighted clue" it may help.
> Would it be a whole lot of fun to complete the game in one guess?

I would say yes. It would feel great, like you are outsmarting the game. Kind of like when you discover a good build in an RPG that helps you get ahead - even though it's often intended by the designer, you feel like you pulled a fast one on the game and it feels awesome.

If you look at it instead like a 1D version of a crossword puzzle, then it's not skipping to the end so much as just filling out one of the other words.

I see it as a UI limitation that you can't fill it in (how would you show it?). But it's fine as is, I'll just use it to help me solve the adjacent ones.

Except the games isn't linear. The goal is to answer all of the clues without getting any wrong. Answering one clue doesn't do that.
Isn't the goal to get the final answer? I think it should be allowed. Similar to not using all the available attempts at wordle or finding a secret passage to the end in a videogame.
I completely agree with this.

Edit: And congratulations!

I would add that the answer detection logic should probably get beefed up a bit as well. When I solved today's puzzle, it counted "race car" as a wrong answer when it expected "racecar". It should accept both forms of a compound word (also "racecar" isn't a word but that's more minor).
But "race car" with a space isn't a palindrome.
It wouldn't be accepted by a palindrome-detecting function but it would generally be accepted by puzzle-solving conventions (e.g. for crosswords), which normally ignore spaces.
There's an ambiguity here between palindromic words and palindromic sentences (where punctuation and spacing are non-breaking):

"Go hang a salami, I'm a lasagna hog"

or

"A man, a plan, a canal, Panama"

though it seems that all of the answers (in the one tutorial and one round that I played) are single words, often slid in as character insertions. Just go light on the spacebar, apparently.

You wouldn't happen to be a fan of Jon Agee ?
It seems that every answer is a single word. I don't think it says that anywhere, but the few I've done seem to be that way.
There is no space bar on the on-screen keyboard on mobile, so it's not possible to type multiple words as well.
I had the same thought, but agree with others that it's the core part of the game.

I've played about a dozen of these now, and very often I can see what one of the big outer clues is way before I've worked out the inner clues.

If I just solve the big outer clue, the game is done in 20 seconds or so, and I'm not sure I'd keep coming back.

Rather, the challenge is to use what I've understood to work out the inner clues. This is tricky because I've got to keep more in my head at the same time, Towers of Hanoi-style. Or I sometimes write it out.

I have my notes in an open notepad from yesterday, so I can reproduce my thinking without spoiling today's:

[scold, with "at"]: hmmm, no idea.

[something golfers' apparently [scold, with "at"]]: not sure...

["there[something golfers' apparently [scold, with "at"]]]: Ah, ok, got it: [there[X]] has to be "therefore." So I see [something golfers' apparently [X]] is going to be "fore."

So if "fore" = "Something golfers apparently [X]" and X is [scold, with "at"], I can see that innermost one must be "yell."

i think they're saying it shouldn't be counted as a fail, rather than it should be accepted as an answer at that point.

if not i agree with you. it'd be nice if it flashed green or something around the entire set of brackets but made you still answer all the sub-clues though.

Eat it and make the user think it's a failure, but don't count it negatively towards the score.

"If you answer early, we'll ignore your guess without letting you on."

Or maybe it could give some kind of extra credit for guessing a clue early. Or it could accept it, but still make you guess the interior clues, but when you get to the one, you already guessed, it shows it as already solved.
yeah, it would be really nice if it turned the brackets around the word you guessed green and then filled it in automatically once the subclues were solved
100% this. I appreciate the puzzle of each individual clue, but I feel like it should be a valid answer if I guess a correct "outer" clue even if I haven't gotten all of its relevant inner answers.
Yeah, tried it for the first time and that limitation was enough that I don't expect to play it again. I mean, it's a choice the game designer has a right to make, but it makes it much less interesting for me if I can't try to work through and skip answers.
Yep. Wrong for forgetting to spell in American English, wrong for plural vs singular and wrong for guessing the right word too early are annoying.
C["have you tried turning it off and __ again?"]grats! [stinger]n p[bet against an outcome]ing it daily and really en[ode to ___]ing it.
n[frozen water]!
My constructive crit:

I'd really like to be able to just answer the puzzle without answering any of the intermediate stages. It is a much more challenging feat to just hold it all in your head and then type out the one long answer than to answer the individual stages. It promotes some real mental modelling skills that way.

The game, played as-is, is almost no challenge at all. It just feels like busywork.

As soon as I saw "second rock from the", I knew the top-level answer was going to be "Venus". At first I felt frustrated that it wouldn't let me enter the solution, but if it had accepted that then I would have missed out on the rest of the puzzle. In retrospect, I felt like having to work backwards from "Venus" and "sun" to figure out the lower-level clues was much more interesting then if it had just let me skip those clues.
exactly this! a whole lot of people above suggesting stripping away all the fun
Consider the challenge being: how to get from here to there.
Congratulations on a great product and getting it distributed like that!

Did they take your product as is in those two weeks or rebuild it?

Fantastic game, and really enjoyed the thought you put into "submit-gate" and entertaining ideas from the peanut gallery.
That's awesome, congrats! I had a lot of fun solving today's puzzle.

One minor bit of feedback/request: maybe I'm too spoiled by code editors, but it would be nice to have a visual aid for identifying matching brackets -- maybe colorizing matching pairs ("rainbow brackets"), and/or a click-to-highlight feature that highlights the entire contents of a pair of braces for you. I felt like I was spending a lot of time trying to count bracket pairs, which made it hard to keep track of where I was in the puzzle and was less interesting than trying to solve the wordplay.

Yes! Please!
Agreed about the matching brackets, I had sent that suggestion to mayor@ a couple weeks ago, so maybe once this craziness settles down...
If the game never has more than three nested levels, you could use [square], then {curly}, then <angle> brakest. You could even do a fourth level with (parenthetical) brackets, but that would mean you couldn't use parenthesis in clues.
I think colors, or even shades of grey for accessibility, would be better for non-coders. Maybe even just put the current bracket in bold.
Side note: colors are fine for accessibility, as long as you think in HSL space and vary at least two of those dimensions. As a red/green colorblind person, bright red versus dark green is fine, as is pink versus bright saturated green. No need to go grey.
Seconded. This would be super useful.

Amazing game!

Nice work - congratulations! ...and, yes - I had to paste the text of today's game into vi so I could use the bracket matching to untangle the clues... :)

Also, I would make it more obvious which clues are eligible for solving at the moment rather than penalizing us for not being able to discern which ones are.

Very cool how some websites are still hunting for actual fun content and rewarding creators even in the middle of the internet's enshittification there are still a few bright spots
Congratulations! So glad to hear this.
big fan since you posted! I agree with the feedback on matching brackets. Additionally the fake keyboard is driving me nuts… I get a lot of errors from phat fingering it when my hands are conditioned to use the native ios keyboard. NYT web games had/have similar issues…
Switching to desktop version of the site seems to work in all the major mobile browsers!
Congrats! Great game - I did todays, and then immediately did them for the last week - it's really fun, tricky, and gives that nice little dopamine hit when you untangle the answer.

Contra several other people here, I also like that you _can't_ skip ahead - yes, I know that's probably "Venus", which is a good clue for working back up to the clues I _can't_ figure out. It's the journey, not the destination.

Were the terms confidential? If not, would you be willing to share what kinds of terms a deal like this has?

(If you have any doubt whatsoever about whether the terms are confidential, assume they are, and don't put anything at risk.)

Congrats! Some feedback, if you're taking any:

- Without the tutorial, it's confusing that you're not supposed to click and you're supposed to start typing. I wonder if placing the text box at the top would make that more clear.

- Some of the clues are confusing due to inconsistent punctuation. For example:

  [to ___fish, to lure someone in using a fake internet persona] = cat
  [do this or cut bait] = fish
  [taking a pay one is a bummer] = cut
  [rocks when added to soda will NOT cause your stomach to explode] = pop
The first line uses a comma, the second line uses "or", the third and fourth lines don't have any punctuation at all, so the sentences make no sense.
> Some of the clues are confusing due to inconsistent punctuation.

> The first line uses a comma, the second line uses "or", the third and fourth lines don't have any punctuation at all, so the sentences make no sense.

... There is no inconsistency there. The 'or' and the comma in lines 1 and 2 are not parallel to each other; they're doing different things. Neither could be replaced by the other without changing the meaning of the clue.

Similarly, in line three, nothing in it could be replaced by a comma or by a disjunction. (But, and I want to emphasize this, line 2 doesn't even contain a disjunction; you appear to have misunderstood all of the clues.)

Line four is a bit different in that it contains a grammatical mistake. It should say [rocks that when added to soda will NOT cause your stomach to explode]. Other than that... it's a fourth style of clue. It isn't comparable to the other three, and there's still no inconsistency.

What do you imagine would add "consistency" to these clues? #s 1, 2, and 4 could be unified like so:

    [to ____fish, to lure someone in using a fake internet persona]
    [____ or cut bait, common idiom]
    [____ rocks, rocks that when added to soda will NOT cause your stomach to explode]
But clue 3 can't be rendered in this style; the closest you can come is [pay ____, taking one of these is a bummer], and the parenthetical isn't really the same as it is for the other three.
Good points. I think clue 3 is weird because what is a "pay one"? You can't take a "pay one", but I get how to read it now---it's like an anaphor for the word. But yes, for consistency a blank space would have worked: [taking a pay ____ is a bummer]

I think my confusion with clue 2 was that I had never heard of the idiom "[to] fish or cut bait" [1]

[1] https://en.wikipedia.org/wiki/Fish_or_cut_bait

Some feedback: On mobile, why is there a custom keyboard? I found it pretty annoying. I kept getting missed taps, and at least one wrong guess due to a typo I didn’t catch before. It doesn’t seem like the system keyboard’s spellchecking would interfere with the puzzle, so why not just use it? Is it an issue with layout consistency?

Otherwise I quite liked the puzzle.

Not having a 'space' button was helpful for me in getting going without the tutorial.
I also find the keyboard so terrible!
Yeh use native inputs unless you absolutely need a custom one.
These kind of games rely on custom keyboards. Using the native control would be a lot more difficult.
Same feedback from me, puzzle was great but the custom keyboard is really hard to use, seems to misplace clicks a lot and it has no haptic feedback
Congrats. I missed the HN post, but I found your game through https://lemmy.zip/c/dailygames.

Glad to hear you will still be making the puzzles yourselves.

There is one point of feedback and it's that I would like to have a native keyboard on iOS instead of a virtual one. For the rest this game is great.

That's a fun little puzzle.

I realize it might be easier to write a puzzle than solve one. Writing them seems quite hard at first, but you have the solution and can choose words to break into clues, and from there do the same again until you have a properly complex puzzle.

Congratulations on getting it picked up by the Atlantic.

It's quite fun and interesting. Well done!
Hey congratulations!

Did you approach Atlantic, or did they approach you?

I’ve had a word game in-mind for years, and several attempts to implement it. It’s a tricky one but I’ll crack it one day :)

My plan is to be acquired by a news company.

So, how did you go about this? I have some ideas myself

>My plan is to be acquired by a news company.

I feel like this is going about it the wrong way. This puzzle game licensed by The Atlantic for example, was made because they wanted to provide a fun game experience for their patrons.

With games, the best games come from an organic experience. Its almost worse to have a preset plan.

Not to mention, making a game is work - you have to have approachability, rules think through alot of scenarios even for "simple" games to make sure things make sense etc - and if you haven't even done it before I highly suggest you actually try and make a game first

Thanks for your comment, I’ve toyed with this game idea for about 7 years, no preset plan from the get-go, but within the last year see an opportunity with aligning with a news site.

But I had all the game logic and flow mapped out long before I thought about platform.

Yes games are tough to make, I’ve made a few so far and it’s always a struggle

That's fantastic and congratulations!
It would be nice if it worked in Brave when Brave Shields are up. The Atlantic seems to load an absurd amount of trackers, even for paid subscribers.
In Firefox+uBO and in Firefox on iOS it works. You do have to enable one of those cloudflare domains, though. It seems to contain the essential scripts.
I think I hit issues since I'm in Brave on iOS.
Works fine with uBlock Origin enabled and only blocked 9 domains
It worked for me today in Brave with shields up. I am not logged in to The Atlantic.
Another vote for FF plus UBO. No ads, no issues with the app.
It works, but I cant see the last line of the clue.
What kind of money is involved in a deal like this?
Probably around 5 digits in total, would be my guess
it seems like it would require ongoing support too though, to generate more puzzles?
Congratulations! What was the stack/language you used to make this [ didn't see it in your original post ]?
What would have happened if they just implemented the same principle themselves? I’m assuming there’s no patent?
Some other newspaper would quickly run a "The Atlantic stole a game developers game and you wouldn't guess what happened next" article, people would be upset for a day or two, original author might/might not sue and then business as usual unless judge rules in authors favor.
These puzzles need to be handcrafted and a UI built. So they could hire other people to do it or hire the person who already has it done and start monetizing immediately.
I sold an app once to a company in the same situation. Neither one of us had sold / bought an app before so they asked me how many hours it took to write and what my hourly rate was. Then they offered half the number I quoted, which I thought was fair.

They paid a lot less than it would have cost to rewrite and I made a lot more than if I had just kept it as a free hobby app.

Very cool. I was very curious to see how AI would do. I tried Gemini 2.5 Pro:

> whats the answer to this where you replace the bracketed sections with words?

> the [second rock from the [dial ([two-dimensional [your ["the of nowhere"] one can get you grounded] puppet projected on a wall]-based clock)]] de Milo is discovered by a Greek [guy with a [kind of stop for a [vehicle that's a palindrome ]]chfork that's not the [[[a mechanic might look under it] color for a little girl with a wolf problem] spandex halloween costume, maybe]]

Response:

    Okay, let's break this down piece by piece:
    
    ["the of nowhere"] one can get you grounded] -> "middle" (middle of nowhere), but being sent to "your room" gets you grounded. Let's stick with room.
    
    [your [room] one can get you grounded] -> room (as discussed).
    
    [two-dimensional [room] puppet projected on a wall] -> A 2D projection on a wall is a shadow. (The 'room' clue seems less direct here, 'shadow puppet' is the key).
    
    [dial ([shadow]-based clock)] -> A clock using shadows and a dial is a sundial.
    
    [second rock from the [sundial]] -> The "sundial" represents the Sun. The second rock (planet) from the Sun is Venus.
    
    [vehicle that's a palindrome ] -> racecar.
    
    [kind of stop for a [racecar]] -> pit (pit stop).
    
    [a mechanic might look under it] -> hood.
    
    [[hood] color for a little girl with a wolf problem] -> Little Red Riding Hood's color is red.
    
    [[red] spandex halloween costume, maybe] -> This describes something that is not the pitchfork. A pitchfork is not a red spandex costume. This part confirms the item described earlier.
    
    [guy with a [pit]chfork that's not the [red spandex halloween costume, maybe]] -> Combining "pit" and "chfork" gives pitchfork. A guy with a pitchfork, especially in a Greek context finding an artifact, is likely a farmer (or peasant).
    
    Putting it all together:
    
    The Venus de Milo is discovered by a Greek farmer.
I'd like to provide you with some constructive feedback on your comment:

1. You should include what you think is interesting about the large language model's ability to solve the word puzzle. It's not obvious to me as a reader.

2. You shouldn't post the step-by-step solution to a puzzle, regardless of how it was derived. It's unlikely that anyone will read through it, and if they do, they're less likely to try the puzzle themselves.

I mean, I thought it was an interesting read... I'm sorry you didn't
What did you find interesting?
It's not actually solving the puzzle, for one. Like half the steps are obviously nonsense.
Are you sure about that? It correctly solves the puzzle.

Each step (though a little confusing to parse) does make sense in context.

The first line is already nonsense. The answer is obviously not "room".

Getting the correct final answer tells you nothing about the reasoning. The LLM will solve the puzzle even if you only pass it the sentence "the [] de Milo is discovered by a Greek []".

> Each step (though a little confusing to parse) does make sense in context.

The proposed intermediate answers don't make sense, and they're the actual puzzle. You must answer all the intermediates correctly, you can't skip levels.

The following ones clearly aren't correct (I think, I hadn't actually done that puzzle):

["the of nowhere"] -> middle; the model gets that right, but garbles the answer due to not correctly extracting the clue and having trailing garbage

[your [middle] one can get you grounded] -> finger; "room" as suggested by model makes no sense

[two-dimensional [finger] puppet projected on a wall] -> shadow; the model gets this right, but only by ignoring the clue completely, which means the justification is nonsense

[dial ([shadow]-based clock)] -> sun; the model says sundial, which then forces it to make an inane "a sundial represents the sun" argument at the next level.

[[red] spandex halloween costume, maybe] -> devil; the model doesn't give an answer word at all for this, but just says that "a red spandex costume is not a pitchfork"

I was actually quite interested, even though it's more of a comment about AI than about the game.

I would note that I think the LLM had trouble because copying and pasting from the puzzle omits all the blank word underlines ("____"). I've dealt with this when copying into my own notepad for trying to work it out myself.

What did you find interesting about it?
This about jives with my normal experience with the LLMs - a superficially valid answer that falls apart when you start interrogating how and what it actually did.
(comment deleted)
Congratulations! You deserve it.

I shared it with all of my friends and family when you first posted it, and we’re all hooked.

This was so fun; thank you! Congrats on getting it licensed!
Phenomenal game. Great job. In response to those complaining about the intermediate stages, it'd be too easy to complete the entire puzzle otherwise.
The thing that bugged me was that I also knew a BUNCH of intermediate steps. I wished I could enter them and get feedback instead of "Incorrect answer". I don't mind having to do all the pieces.

I think what might work is just if it says "Too early" and makes a list of stuff below the puzzle that you've solved too early and just put a checkmark next to it once it's ready and let you click it to enter it.

Right now it's giving negative feedback, I think it should be a positive to recognize pieces of the puzzle early, even if you still need to do the whole puzzle.

That's part of the challenge. It's interesting being able to unwind the stack from both directions.
Agree - I don't think giving correct feedback early does anything to hurt this, in fact I expect it encourages it. You still need to do the whole solution. But a little bookkeeping and correct feedback when you've got the pieces outside-in would be greatly appreciated.
Congratulations! I wish I had this inside emacs so I can use paredit
Firefox on Android, every other word or so a key press wouldn't register. Which is quite frustrating.
Can you color code the brackets so it’s easy to see how the clues are nested? Like outermost brackets are red, one level of nesting is blue, next level of nesting is orange. My brain is having a hard time parsing all of the clues.
I have the same feedback. Very creative and fun game but it’s giving me flashbacks to years of looking for mismatched curly braces and parentheses in code.
I was wondering if that is also part of the puzzle, trying to match the open and closed brackets, sort of like how excel highlights the corresponding parentheses when one is selected in the formula bar. This might be second nature for folks who code, but it requires a lot of focus for me.
Re: many comments: The puzzle (as I think of it) is NOT to get the top-level answer. The puzzle is to get all the answers. If you figure out an outer answer earlier, that acts as a clue for an inner answer, just as inner answers act as clues for outer answers. A crossword isn't speedrun by just filling in the bottom-rightmost word.
This is the right answer. The fact that you might know an outer clue helps you when the inner clue is a stumper!
I've been playing and enjoying this game since it was first posted on hn. Doing this is absolutely key to getting a good score. Eg, for the final answer in today's puzzle, I had the outer answer, and had to work backward 3-4 layers. The other good thing to do is, if you have an answer to work forward a couple layers. Once you know that an answer makes the next couple questions make sense, you're much less likely to give an incorrect guess.
Next you'll say I can't speed run 2048 by shoving everything down and to the right.
I would suggest using the device's default keyboard on mobile. It feels rather awkward having to use qwerty instead of the azerty I'm used to.
Same here... I use Dvorak and it always takes me a second to reorient (perhaps they wanted to show that you can only use certain characters?).
congrats!

from now on you gotta doublecheck your Signal groups though :-)

This is awesome! I love the game.

My one piece of feedback is to improve the keyboard (if that’s at all possible). I regularly miss points because of typos even if I had the correct answer.

That keyboard is seriously bad. If you start pressing the next letter before you release the previous letter, you get neither!
This was a lot of fun to play. Congrats!
This is a lot of fun. Congratulations!
Congrats — well deserved! I love the game and play it every day; it's actually the first thing I do in the morning. A big fan of Hard mode! My best friend has also started playing it and we share the results with each other.

Just one feedback - on desktop browsers, I can see the list of answered clues below the textbox, but on the phone (Brave or Firefox on Android), I don't see that list. I am not sure if this is a feature or a bug, but it’s a feature I miss when playing on my phone. Seeing those answers gives that little “aha!” moment of satisfaction.

I also made a custom GPT - Bracket GPT [0] that helps in solving the clues when I am stuck. It doesn’t directly give the answers, but offers hints to help nudge you to the solution. It’s a fun companion when you're totally blanking.

[0] https://chatgpt.com/g/g-67e0f124cd408191943faadb3d70c6df-bra...

I'm curious why you opted for a custom keyboard vs the built in one. It's not as good and unlike worldle it doesn't seem to really take advantage from custom keys.
Yeah, the keyboard ruins the fun I had playing this. It took 2-3 taps per letter on my phone for keys to register.
If you use the built in keyboard I imagine you have to continuously deal with the page resizing to avoid the keyboard, and potentially people not having easy access to an English keyboard.

The custom keyboard makes all the tools you need a first class component of the game.

But yes, it's currently a little clunky.