Show HN: Fermi – A Wordle-style game for order-of-magnitude thinking

fermi-game.andrewnoble.me

52 points by andrewrn 6 days ago

I always thought it was cool when someone could make a plausible estimate from reasonable guesses. I recently learned that these are sometimes named after Enrico Fermi, the famous physicist, and its the same technique used to create his famous Fermi paradox.

You build a rough logic chain using a few sliders and fixed quantities (e.g. weeks per year), and the goal is to get within an order of magnitude of the true answer. The math is simple; the thinking is the game.

Would love feedback.

beeftime 6 days ago

Why do I have to pick the factors first? Do I have to use all of them? Why shouldn't I use all of them? If I do, why aren't they already picked?

Why are all of these sliders? Why don't they start at zero? Why do all of them at the default setting result in me winning?

Speaking of, am I winning? Failure and success give me the same feedback. I can play this game over and over until I win? That's not really in the Wordle style.

imo you should be picking from a palette of maybe-relevant factors and increasing/decreasing their order of magnitude and order/operation, then when you submit you're locked into a win/loss state like wordle. This would be much more of a game than what you've got here.

  • andrewrn 6 days ago

    A better palette of possible factors was something I thought about. It will require rewriting nearly the whole app, but it's likely the direction I'll go when I make v2.

    To take it a step further I thought I could use even smaller building blocks via dimensional "toolboxes" like quantity, distance, volume, and conversions and each question files its factors into each tool box (with some dummies like you said). Do you think that'd be more interesting? It's more complex though so mass appeal might go down.

    • rappatic 6 days ago

      > mass appeal might go down

      I don't think Fermi questions have mass appeal anyway. I don't think most people know what "order of magnitude" means, let alone understand dimensional analysis (ie., the conceptual idea of what it means for units to cancel).

      I don't think making the game a little more complex would really affect its appeal, because it's already targeted at people with a certain level of scientific understanding.

      • andrewrn 6 days ago

        Good call. It easy to forget that the world isn't as nerdy as me lol. This would definitely let me focus the game a lot better anyway.

        • tgv 6 days ago

          OTOH, not so long ago, a colleague and I tried to guess the number of piano tuners in large cities, e.g. New York. I find your idea nice, but the execution could be more flexible, more puzzle-like. E.g., you could have units (like #passengers, #planes, #flights, time), and the user can create factors out of those.

          But I'm afraid that it'll lose its appeal after a while. These problems seem same-y to me, more so than Wordle.

jy14898 6 days ago

Some feedback:

1. Why are factors reorderable? axb = bxa

2. Why are factors pickable? Is it coincidence that all of todays choices are useful (or did I mess it up)

3. The ranges/sliders ruin it for me IMO, they pick the order of magnitude for you

  • andrewrn 6 days ago

    Appreciate all that. You're right about all of these, they're mostly there because I just wanted to get out the door and get feedback.

    The reorderability/pickability is a remnant from when there were multiple operations (+-*/), but I figured it still allows the user to build the reasoning. Mathematically it doesn't matter as you said, but there is an intuitive order for the chain of reasoning.

    You think the sliders ought to be a wider range?

    • BoiledCabbage 6 days ago

      Some more feedback

      > Fermi Game is a brain teaser that challenges your ability to make real-world (if outlandish) estimates using reasonable assumptions and mathematical reasoning.

      What assumptions am I making? All the assumptions have all been made for me? What mathematical training am I doing? What's the point of the separate formulas if they are all present and to be used? How is this order of magnitude thinking if all of the orders of magnitude have been already been determined? It kinda feels like "Hey do you like chess? Come play checkers with chess pieces."

      > You're right about all of these, they're mostly there because I just wanted to get out the door and get feedback.

      I've got no problem if someone has put a bunch of effort in and made a game and wants feedback. But this feels like asking people to come up with your game for you. It feels you kinda you don't see it as a game either yet.

      That said, it's always hard to ship things so congrats on shipping something. It's an interesting idea, but spend a bit of time figuring out the game. Good luck with it!

      • andrewrn 6 days ago

        Hey, I appreciate the thoughts.

        Yeah these are things I considered. As a person I have a nasty habit of over-optimizing super hard and never shipping because I am paralyzed by all the considerations. So I forced myself to ship it and face the music. If I end up working on it more, making it a more pure estimation experience is the first thing that I'll do. I also maybe mis-titled calling it "order of magnitude" here. Its more just general estimation.

        Thanks again.

    • tetha 6 days ago

      > You think the sliders ought to be a wider range?

      With this presentation, I'd think so.

      Like, your presentation says this is an "order of magnitude estimation". However, the slider of "85 - 125 people on a plane" locks me into ~100 people on a plane, ~100k flights, and the hours is a bit weird. However, if I just put that in, I get 200k - 1M people no matter what hours I choose, and about 500k if I choose 1 hour. As an order of magnitude, that's correct and not bad.

      Maybe something bigger & coarser could be interesting - high 100s, low 1000s, high 1000s and so on. We use that kind of magnitude estimation at work quite a bit.

      It'd also be interesting to see a highlight where you estimated very incorrectly. I'm not certain if I had guessed 100k+ flights / day.

      • jagger27 6 days ago

        Consider this my feedback as well. The slider range feels way too narrow.

      • andrewrn 6 days ago

        Awesome, I greatly appreciate the input!!

    • jy14898 6 days ago

      > You think the sliders ought to be a wider range?

      Perhaps, or just no sliders (or something else). To illustrate, setting all the sliders to the min gets the correct order of magnitude, setting all the sliders to the middle gets the correct answer, and max is only off by 1 order.

      Maybe the slider just picking the order of magnitude would make it more fun (1e-9 to 1e9 for example, 20 ish steps), not sure. Perhaps the rough range of magnitudes could be a hint provided if the user has no idea?

      • andrewrn 6 days ago

        These thoughts are all really valuable. I ought to probably pick between general estimation and pure order-of-magnitude stuff. Thanks!

zamadatix 6 days ago

I echo what the others say about the current interface.

I think there is an opportunity for "normal" and "hard mode" like Wordle. In normal you are given the names of the factors but have to enter the expressions for their value (no default values given). In hard you have to come up with your own factor names as well as the values (the name is purely aesthetic for the user to keep track of their ideas). The win condition is the same (be within an order of magnitude of the answer) but maybe there is a special "super" win for being within 10% (log scaled, so lower bound n^0.9 and upper bound n^1.1).

bangaladore 6 days ago

My honest opinion is I have no clue what's going on. To some extent it is because traditionally you wouldn't consider this a game like Worlde, other than the fact you presumably release a new setup for each day.

To some extent, the idea could be improved by always including all factors by default and only allowing sliders to be changed. Or allow me to use less factors.

The biggest issue is I have no clue what happened when I clicked guess. Going back I see the reference estimate, but frankly its unclear what that even means (again average person is uninformed). I want something to clearly tell me how close I got, and maybe what percentile I'm in for users who have played today. It's simply not addicting in the way that the other recent Worlde like games are meant to be.

Other nitpicks:

The example popup does not help me understand anything

Its not apparent why the sliders have an initial value nor what the significance is

iterance 6 days ago

I am not sure I entirely understand the game. In typical Fermi questions, the goal is to arrive at the appropriate order of magnitude. In this game, the order of magnitude appears to be provided for you. The extrema are ~220k and ~1.8M for the question regarding passengers in the air, and these extrema are less than an order of magnitude apart. Am I misunderstanding something...?

  • andrewrn 2 days ago

    Yeah I arguably shouldn't have associated it with Fermi questions yet, because you're right, its a lot more arbitrary than the clean selection of orders of magnitude. Thanks

hallh 6 days ago

The idea has potential, but needs polishing. When I read the tutorial, I thought that I had to guess the target number using completely unrelated values. Was a bit disappointed to see the "options" were obvious and not really optional, and the scales too limited. Seemed too easy. It would be more entertaining to guess the number of people currently in flight based on x number of full football stadiums, the avg number of eggs laid by y hens per month, etc.

A visual queue of reaching within the success range would do a lot too. Was a bit confused whether I was right or not after submitting the answer.

  • andrewrn 2 days ago

    Thanks for the visual queue idea!

crmi 6 days ago

I like the concept.

However the UI is a little confusing (on mobile anyway).

I might suggest you don't present the pre-set range values, as it makes it a lot easier.

Have you considered - perhaps in a way to gamify it a bit more - giving a first hint, and hiding the next 3 unless the player asks for them? It would add an element of 'getting it in 1 go' etc. I'd imagine one or two-shot winners are also more likely to share their results. More potential for your app to go viral.

  • andrewrn 2 days ago

    The # of hints is an awesome suggestion, thanks so much.

whiterook6 6 days ago

I'm on my phone, trying this. It's a question about how many people are in the air right now.

- when I tap on a factor, I can edit the slider, but it doesn't do anything.

- when I tap another factor, the previous editor stays in place.

- how do I choose my factor?

- where do I actually do the multiplication?

- where do I check my answer?

- why do the factors have "grab icons" (the six dots)? Why would I drag one?

https://imgur.com/a/QSRBbYR

Etc.

  • andrewrn 2 days ago

    Thanks for the feedback. I am totally new to making apps for phones and I clearly failed to test sufficiently. I also didn't know how to serve a react app on my local network so I could test on my phone before deployment...lol. Lessons majorly learned. I pushed fixes so now it should work on mobile.

thatnerd 5 days ago

Feedback: The units on square feet per acre are inverted. Should be acres per square foot.

I recommend having the solution check unit cancellation to confirm that it works.

I'd also like to see a choice between multiplying/dividing in the equation.

mncharity 6 days ago

If I were doing something vaguely similar, I might emphasize:

- Bounds rather than point estimates. Hard bounds (definitely more/less than this) and soft bounds (likely). With associated payoffs/penalties. A point estimate too, but bounds first. Like error bars in a plot.

Perhaps even "bet your certainty" custom hardness. Perhaps an advanced "draw your payoff curve", so one might draw a hard step-function low bound with some soft slope on the high bound. So one might draw a big-payoff pointy spike, at the risk of missing entirely. A pretty UI might even multiply the curves for you. Perhaps one gets points for each component estimate, not just the final result - though might need an LLM to cope with the variety of possible steps in reasoning.

- Order of magnitude. That's "is it more like 1/10, 1, 10, 100, 1000" etc. One can do "high/middle/low order 10^n". But oom estimation a different mindset than linear. Exponential not linear. Linear slider as UX smell.

- Permit multiple chains of reasoning. An argument that nicely establishes a hard lower bound may be of no help in firming up a high bound. And a bound may need to be hammered with multiple chains of reasoning to tighten it up.

Fermi estimation can be the aggregation of exponential-rough-quantitative reasoning with attention to confidence/uncertainty.

In a group setting, one might have: "Ok everyone, how many cats live on this block? Is it more like 1, 10, 100, 1000, etc? Can anyone suggest a bound?" "I saw one in the window this morning - so hard lower bound of 1." "Unless it's been taken to a vet." "The town human population is 10^6, so it seems unlikely the block has that many cats..." "What does everyone think?" "How confident?" "Can anyone suggest another chain of reasoning? Can we tighten up the bounds?" "Could we do a stepping stone problem, the number of households on the block?"

Perhaps a "bet coins" on the answer before grading? One advantage of bounds vs more-common point-estimates is it pulls up the handling of confidence where it can be seen and improved. So anything which encourages reflection and self-evaluation, like betting, might help with that. Another advantage of bounding is it makes each attempt at narrowing bounds, on each component, into it's own little fractal estimation problem. So an initial estimation question proliferates many others. I wonder how a UI might emphasize that...?

But all that riffs on the Fermi estimation aspect, not the Wordle aspect.

  • andrewrn 2 days ago

    Wow, thanks for the very thoughtful feedback. You're right I think bounds makes more sense. And I also like the bets idea where perhaps the user has a budget of bound softness they can use on the factors that they're least confident about. These would definitely make a richer, more gamified experience. I'd like to add all these elements, but the challenge will be packaging it all intelligibly into the UX, which is struggling even on this initial basic mvp version.

    The idea originated because I thought it would be really cool to get good at making these quick estimates, for practical usage in everyday life. So I'm trying to strike a balance between a really rich, complex game, and a little tool to just build mathematical thinking habit and ability.

    Your mention of team-based estimation where people use one another to whittle down estimates reminds me of this competition I came across while researching: https://estimathon.com/about. It's very related to this project. Social features, starting with something simple like "you guessed closer than x% of people!" are something that I want to add but I hadn't thought of an almost team-based gameplay like you suggest. Definitely intriguing...

    Thanks so much!

bobdigit 6 days ago

A kid/younger audience version of this would be great!

mNovak 6 days ago

It looks very nice visually, but I think the input sliders are way too narrow. Point in fact, in this example they have roughly a 2:1 range, which means virtually any combination of inputs 'wins' the game (is within 1 order of magnitude). That's not particularly fun, is it.

Personally, I approach Fermi estimates as order of magnitude guesses for each factor (e.g. if guessing how many ping pong balls fit in a 747, you might say, "well the width of the jet is closer to 10ft than 100ft", rather than guess 22ft), so having such fine-grained sliders feels like it misses the point.

  • andrewrn 6 days ago

    This is revealing an important design distinction. The game needs to adapt to different scales. There are huge scale estimations (day 3's question is the volume of air humanity inhales each day, for ex), and smaller ones that are still useful "how many cups of coffee can a barista make in a hour". Both seem like they could still be fun, with the mechanics being more dynamic to the question's scale. Do this seem right?

    I ought to make this cleaner in the app. Thanks so much!

    • mNovak 5 days ago

      A few other points on further reflection:

      - If you're giving us all the factors, and all factors are necessary (e.g. to make units work out), then clicking them is a bit of a pointless activity. You could just give them as a list of sliders outright.

      - The above points out that there's not much of a "gameplay loop" to speak of. We make 3-4 guesses and game over. I think this places a hard cap on how much "fun" Fermi can be. Even in something like Wordle, which is also only 5 guesses, each guess builds on feedback from the last; it's interactive and strategic.

      - You could consider for instance maybe chaining multiple Fermi estimates, that build up to some bigger one. That would give you a mechanism to give intermediate feedback, and have a multi-step game.

      • andrewrn 2 days ago

        Incredibly helpful point about the iterative aspect. A softer benefit of the chaining idea you have is that you could build an amusing narrative like pizzas eaten annually in the U.S. -> gallons of milk used -> cows dedicated just to pizza production. And if a user was ~30% low on one stage, they'd know to overestimate slightly on the next. Thanks!

mrngm 6 days ago

A few thoughts, I tried this on mobile but got a bit confused by the initial "How to play" dialog (besides that it was too large to fit on screen). The dialog says:

  How to play. String together factors to answer the question.
... but the dialog doesn't pose a question! It just shows two factors with sliders, and the calculated answer, but no reason why we're sliding these two elements from left to right. I would skip the initial dialog for now, and perhaps make the "How to play" dialog very easy to reach to give a general description of the game, what is asked of the player, and how they could think about answering the question, instead of trying to explain the interface.

For the question I got ("How many people are flying in airplanes right now?"), the influencing four factors were nicely chosen, although I would refrain from guiding the player too much with (too) narrow "x - y" bands. We're looking for orders of magnitude, so you could think about sliders that also suggest thinking in orders of magnitude, say "1, 10, 100, 1000" (e.g. number of passengers on a plane), and "10 minutes, 30 minutes, 1 hours, 2 hours, 8 hours" (e.g. flight duration).

(Another angle here could be: how many flights and/or passengers does the nearest airport handle during a year, or how many flights/passengers do the global top 10 airports handle during a year, and how does that account for the total amount of flights in a year?). In other words: I don't think you want your players to do exact guesses using these rather precise sliders and narrow bandwidth, but hint them into also thinking in orders of magnitude.

I would skip the clicking on factors (I saw in another comment that you thought about arbitrarily mixing addition and multiplication, and their order in an earlier version, but that seems too difficult), and just give the player a few sliders and their proposed answer directly. Perhaps you can show the proposed answer directly beneath the question, start with 0, and have all sliders set to 0 (instead of the current random values) as well.

Another idea, perhaps even more intuitive, could be to give the player one (easy), two (intermediate) or three sliders (expert), without giving them hints for individual contributing factors:

- (slider 1) 1, 10, 100, 1000, ... for the rough orders of magnitude (e.g. "100")

- (slider 2) 1-9 multiplier for the chosen order of magnitude to give the player a way to say "it's more in the order of 500 than 100"

- (slider 3) 0-9 multiplier for one order of magnitude lower, to give the player a way to say "it's more 550 than 500"

Then the answer is calulated as (1) * (2) + (3). You can then tell the player if their chosen orders of magnitude were correct ("within the chosen order of magnitude"), slightly off (one order of magnitude too high or low), or too far off. Let the player decide if they want to be rather precise (with three sliders), or not.

Or even combine these ideas! Let the player choose a strategy ("guided" as you've already implemented with a couple of factors already given, or "non-guided", for lack of a better term, for those looking for an extra challenge).

Closing nit: "Share results" contains a non-existing domain.

If you need inspiration for future questions, have a look at this recent discussion [0] and linked website [1].

[0] https://news.ycombinator.com/item?id=43389455

[1] https://taylor.town/napkin-math

  • andrewrn 2 days ago

    Thank you SO much! The configurable easy/medium/hard windowing is such a damn good idea! It's immediately intuitive to me and is way less arbitrary and more pure than what I've got going on now.

    I'm replying a little late so I'm not sure you'll see this, but I do wonder about dropping the clicking of factors. Others have pointed out that since multiplication is commutative its mathematically meaningless to click factors. But to me, when I make these estimations on paper, determining factors in a certain order in my head is critical to get the dimensional "path" to the answer units, so to speak. Having the chain pre-made for the user would take some fun out for me, I think. I could be alone on that though. I'll have to think about this a bit.

    I guess as I am writing this its giving me clarity... when done on paper, factor ordering/pathing serves (me, at least) as a proxy for getting the correct set of factors, even if their order is mathematically irrelevant. So there's got to be a way to implement this in the game. I made this project bc I want to get good at this kind of estimation in a practical sense, so it seems like matching the on-paper thinking structure might make be good?

    On another note, I am a little horrified at how much stuff slipped by me on this mvp, like that bad domain in the copy+paste text. Thanks for pointing it out :|

    Thanks again!