Play a 30-second tapping game: bunnies, owls, hedgehogs and foxes peek out of nine holes in a meadow, and you pop each one back down before it hides.
Popped 0
Time left 30 s
Best -
Tap or click a critter to pop it. With a keyboard, use the arrow keys to move between holes and Enter or Space to pop, or press the number keys 1 to 9 (1 is the top left hole, 9 the bottom right). Escape or P pauses. There is no penalty for tapping an empty hole. Little ones is the calm level: critters stay up longest and only one or two appear at a time.
A round is 30 seconds. New critters appear in a random empty hole, never twice the same kind in a row, and a hole rests for about three quarters of a second after a critter leaves it. The time a critter stays up shrinks a little as the round goes on, and never drops below a fixed floor for the level. You get one point per critter popped. Critters that go back down by themselves cost nothing. Your best round is kept on this device for each level.
As-is, no warranty. These apps are free under their listed license and run entirely in your browser. Use at your own risk — don't blame me if your PC catches fire, your dog runs away, or the math turns out wrong. Verify anything that actually matters. None of this is professional financial, medical, legal, or engineering advice.
Press Start or tap the meadow. Critters peek out of the nine holes one after another. Tap a critter to pop it back down and score a point. A round lasts 30 seconds, and then you see how many you popped and which kind you popped most.
Nothing bad happens when you tap an empty hole, and nothing bad happens when a critter hides by itself. There is no lives counter and no losing, only a number to beat.
| Level | Time a critter stays up | Most up at once |
|---|---|---|
| Little ones | 3.4 s shrinking to 2.6 s | 1, then 2 after 20 s |
| Middle | 2.0 s shrinking to 1.3 s | 2, then 3 after 15 s |
| Big | 1.4 s shrinking to 0.85 s | 2, then 3 after 8 s, then 4 after 20 s |
Little ones is the calm level for very young children. Critters stay up longest, only one or two appear at a time, and the board is wider so the holes are larger on a big screen. On a small phone the holes still fill the width and are never smaller than 56 pixels.
Four kinds of critter appear: a bunny with long ears, an owl with ear tufts, a hedgehog with spikes and a fox with pointed ears. Each has its own shape as well as its own colours, so you never need the colour to tell them apart.
Each hole is a button with a label such as “Hole 6, row 2 column 3, owl is up, press to pop”, and a message line announces the start, pause and end of each round. When you ask your device for reduced motion, critters simply appear and disappear instead of sliding, the +1 does not rise, and the round runs about 25 percent slower, so critters stay up and arrive less often. Nothing flashes. There is no sound.
The engine is a set of pure functions with no page attached. tick(state, 25 ms, rng) moves the round forward by one tick and returns a new state. The page feeds it whole ticks from a fixed-step clock, so a 30 Hz phone and a 144 Hz monitor play the same round, and a stalled tab cannot fast-forward it (one frame is cut off at 50 ms).
The spawn scheduler follows these rules, and the tests check every one of them on every tick of thousands of simulated rounds, for all three levels, at normal pace and at the slower reduced-motion pace, and against three kinds of player (one who does nothing, one who pops everything at once and one who taps at random):
Time a critter stays up shrinks in a straight line from the start value to the end value over the 30 seconds, so the round gets quicker gently and never faster than the floor for the level. Every critter is accounted for: the number spawned always equals the number popped plus the number that went down by themselves plus the number still up.
Hit testing. The board is cut into a 3 x 3 grid. A press at position (x, y) on a board w wide and h tall is in column floor(3x/w) and row floor(3y/h), so every point belongs to exactly one hole and there are no dead zones. The test suite sweeps every pixel of four different board sizes and checks that each point lands inside its own cell and that each hole gets about a ninth of the area.
One input path. A pointer press is turned into a hole by that grid. The buttons themselves only act on keyboard or assistive-technology clicks, so a touch never pops twice.
Given the same random numbers a round replays exactly, and a different seed gives a different round. The page takes its random numbers from the browser’s secure random source.
| Check | Result |
|---|---|
| Round length | 1200 ticks of 25 ms, exactly 30 seconds |
| Perfect player, one pop per critter | score always equals critters spawned, and stays under 100 |
| Player who does nothing | 0 points, every critter goes back down |
| Frame rates 30, 60, 144, 240 Hz | 400 ticks in 10 seconds, within 1 |
Nothing is uploaded and there is no account. The best number of pops for each level (and for the slower pace used with reduced motion) is saved in your browser’s local storage under one key, as small whole numbers inside a small JSON object. The page address holds your level so you can share it. Clearing site data removes the scores.
For informational purposes only. Not financial, medical, or legal advice. You are solely responsible for how you use these tools.