What counts as logic when a puzzle never makes you guess?
A solo developer in Japan on deciding which kinds of reasoning count as “logic”, and why even boards with only one solution could fail that test.
In this Fix Stories contribution, Hidenori Kawamura explains the limits he set while making KEEPYBOO. His account appears below in his own words.
By Hidenori Kawamura, developer of KEEPYBOO (Bit K.K., Japan)
Indie developers, in their own words
Get more Fix Stories, independent games coverage, and developer interviews in your inbox.
Join Our Newsletter
Stay updated with the latest interviews, previews, and indie gaming news.
Minesweeper has a famous flaw. Sooner or later a board hands you a 50/50, and the win depends on a coin flip rather than on your reasoning.
I’m a solo developer in Japan, and my small logic puzzle, KEEPYBOO, is built around one promise: no board ever asks you to guess. You look for ghosts hidden on a grid. A number inside a cell counts the ghosts in the eight cells around it, as in Minesweeper, and every row and column also shows how many ghosts it holds. All the clues are visible from the start, so there is no first click to survive.
I’m far from the first person to want this. Minesweeper players have made no-guess versions before, and they hold strong opinions about what the term should mean. With good reason: “no guessing” means very little until you say which logic counts.
A 9×9 board partway through (ROUND 0862). The numbers along the top and left edges count the ghosts in each column and row; a number inside a cell counts the ghosts in the eight cells around it. Credit: Bit K.K.
One solution is not enough
Checking that a board has exactly one solution sounds like enough, but it isn’t. Allow “suppose this cell is a ghost, and inside that, suppose that one is too”, and with enough nesting every cell of such a board becomes “provable”. I tried allowing deeper assumptions and dropped the idea: at that depth, “provable” stops meaning anything to a player.
Three kinds of step, and nothing deeper
So I wrote down the kinds of step a careful person takes, and limited my solver to exactly those.
One clue at a time. If a row needs two more ghosts and has exactly two open cells left, both are ghosts. If a clue already has all its ghosts, every other cell around it is empty.
Two clues side by side. Say a column still needs one ghost, and a clue next to it still needs two. They share two open cells, and the clue has only one other open cell. That pair must hold exactly one ghost: no more, because of the column, and no fewer, because the clue can’t find two elsewhere. So the clue’s other cell is a ghost, and the rest of the column is empty. Experienced Minesweeper players do this by eye.
One “what if”. Suppose a cell is a ghost (or that it’s empty) and follow the first two kinds of step. If that leads to a contradiction, the opposite must be true. One assumption at a time; never a what-if inside a what-if.
Of the 2,000 boards in the game, 969 can be solved one clue at a time, 1,031 need two clues side by side at least once, and 293 need a proof by contradiction. Any board that would have needed a guess, or a deeper chain of assumptions, was thrown away.
What I threw away
Every board is made ahead of time. The generator places ghosts and clues at random and keeps a board only if the solver can finish it with those three kinds of step. It also throws a board out if the solver ever disagrees with the stored answer, or if more than three of its clues read 0, which gives too much away for free. A separate audit then replays all 2,000 boards, catching only ghosts provable from what is already confirmed: 2,000 checked, 0 unsolved. Even the oldest 1,000, which came from an earlier browser prototype, had to pass it.
Generating boards on the phone would have been cheap and endless, but I couldn’t have promised “no guessing” for them, so I decided against it.
Since this is a story about proofs, I want to be plain about AI. The boards and their proofs come from deterministic code I wrote. I used AI tools for parts of the code, the art, the sound and the translations, always to my own direction, and kept only what passed my own review.
What the promise changed
The solver’s record of which steps each board needed also gave me a better measure of difficulty than size: a 9×9 can be a warm-up, and a 7×7 can be nasty.
The promise also changed what the game rewards. The Logic Rating, which estimates deduction skill, only counts a first-attempt clear if every ghost was provable when it was caught. A lucky tap counts as a miss, so the rating reflects your reasoning, not your luck. And there’s no time limit: the point of a puzzle you can always reason through is that you get to take your time.
A line, not a law
If one thing here might help other puzzle makers, it’s this: decide which logic counts before promising “no guessing”, and draw the line where “provable” still means something to a player. Mine, one what-if and no deeper, is a choice, not a law. The full method and numbers are at https://keepyboo.com/en/no-guessing, and if you’ve drawn your line somewhere else, I’d genuinely like to compare notes.
And if you’re ever stuck on one of these boards, you’re not missing luck. You’re missing one of those three kinds of step.
If you’d like to try it, the first 50 rounds are a free demo in the browser, with no install and no ads: https://keepyboo.com/play/. The full game is a free app for iOS and Android.
KEEPYBOO
Release: Available now
Genre: Logic / Deduction Puzzle
Developer / Publisher: Bit K.K.
Platforms: iOS / App Store · Android / Google Play · Free browser demo
Related Reading
Fix Stories: One Swift Engine, Two Phones — Stelline
Fix Stories: I Built an iPhone Duo Game Without Owning the Phone
Story written by Hidenori Kawamura, developer of KEEPYBOO (Bit K.K., Japan), for Fix Gaming Channel.
Edited for publication by Ronny Fiksdahl, Founder & Editor-in-Chief of Fix Gaming Channel.
Send interview pitches, corrections, tips, or developer stories to contact@fixgamingchannel.com.
Support independent games coverage on Ko-fi.
