Five frogs, five bays, and the river that reverses every rule
How the road half and the river half teach opposite lessons, what the thirty-second clock forces you to do, and the habits that get all five frogs home with lives to spare.

Lane recipes: speed, length and spacing
The board is a grid of 13 columns by 13 rows. A cell is 32 pixels, so the play area is 416 by 416 board pixels. On screen it is stretched to fit, up to 645 pixels wide, but every number here is in board pixels. Row 12 at the bottom is the start. Rows 11 down to 7 are the road. Row 6 is the grass bank. Rows 5 down to 1 are the water. Row 0 holds the five bays.
A road lane is given a speed of 0.7 plus a random amount up to 1.1. So a car moves between 0.7 and 1.8 pixels per frame. Odd rows 11, 9 and 7 run to the right. Even rows 10 and 8 run to the left. The odd rows carry vehicles two cells long. The even rows carry vehicles one cell long. Each lane gets two or three of them, picked at random.
Water lanes use the same recipe with smaller numbers. Speed is 0.5 plus up to 0.9, so 0.5 to 1.4 pixels per frame. Odd rows 5, 3 and 1 drift left. Even rows 4 and 2 drift right. Logs are three or four cells long, and again there are two or three in a lane. At 60 frames a second that works out at about 1.3 to 3.4 cells a second for cars, and about 0.9 to 2.6 cells a second for logs.
Spacing is worked out by dividing the 13 columns by the number of items. Two items sit 6.5 cells apart, which is 208 pixels. Three items sit about 4.33 cells apart, which is 138.7 pixels. Each item is then nudged right by a random amount up to one cell. Nothing looks at the result afterwards. On a river lane with three four-cell logs, the plan leaves only about 10.7 pixels of clear water between them, and a nudge can close that gap for good. Those lanes play like a moving raft.
Items wrap by teleporting. A right-moving item is sent back to one full width left of the board once it clears the right edge. So a two-cell car covers 416 plus 64, which is 480 pixels, on each lap. That is why evenly placed traffic does not give you evenly spaced gaps.
Here is a road lane worked through. Say row 11 draws a speed of exactly 1.0 and gets two cars. They start 208 pixels apart and each one is 64 pixels long. The clear stretch behind the first car is 208 minus 64, which is 144 pixels. The other stretch has to cover the rest of the 480 pixel lap: 480 minus 208 minus 64 gives 208 pixels. At 60 frames a second, the short gap takes 2.4 seconds to slide past you and the long one takes about 3.5 seconds. Same two cars, two very different windows.
- Tightest road gap the plan allows: three two-cell cars on an odd row, giving about 74.7 pixels of clear road.
- The random nudge can shave up to 32 more pixels off that, down to roughly 42.7 pixels, or 1.3 cells.
- Widest road gap: two one-cell cars on an even row, leaving 176 pixels between them.
- The first item in every lane starts within one cell of the left edge, because its base position is zero.
- All items in a lane share one speed, so the pattern of gaps repeats lap after lap. The teleport loses at most one frame of travel each time, which is under two pixels.
The 6.4 pixel strip that judges every hop
The game never compares the frog you can see with the car you can see. It tests a thin upright strip in the middle of the frog's cell. The strip runs from 12.8 pixels to 19.2 pixels across the cell, so it is 6.4 pixels wide. That is one fifth of a cell. If a car or a log overlaps that strip, the frog counts as touching it. Nothing else about the frog matters.
The drawn frog is much fatter than that. It is a circle with a radius of 10.88 pixels sitting in the centre of the cell, so it fills from 5.12 to 26.88 pixels across. Subtract the strip edges and you get 7.68 pixels on each side. A car can bite that far into the visible frog and you still live. Roughly a quarter of a cell of overlap is free, and it is free on both sides. The same slack helps you on the water. A log that barely reaches the strip still carries you, even though the frog looks like it is dangling off the end.
Which row you are in is decided by rounding the frog's height to the nearest cell. Rows 6 and 12 hold no lane, so the code simply returns and you are safe. On a road row, touching anything costs a life. On a water row the test is flipped: touching nothing costs a life. When you are on a log, the lane's speed is added to the frog's position once every frame. That is the carry. Then the edge is checked. You are lost if your left edge falls below -12.8 or climbs above 396.8.
That right-hand figure is worth knowing. A hop always clamps the frog back into the range 0 to 384. A log ride can push you to 396.8 before it kills you, which is 12.8 pixels beyond anything a hop can reach. Hop up from out there and the frog snaps back left to 384. It is a small jolt, and it can drop you into a different bay than the one you were aiming at.
The bay is chosen by dividing the frog's left edge by a fifth of the board, which is 83.2 pixels, then rounding down and capping the answer between 0 and 4. Follow it with real numbers. A fresh frog starts at x equals 192. Divide by 83.2 and you get 2.31, which rounds down to 2, the middle bay. Now imagine a log has left you at 330 when you reach the top. That is 3.97, so 3, the fourth bay from the left. Slide four pixels further, to 334, and the sum is 4.01, so 4, the far right bay. Four pixels of drift changes which bay fills. If that bay is already yellow, the hop costs a life.
One nice side effect: you do not have to line up with a marker. The yellow bay squares are drawn 32 pixels wide, but each slot that counts is 83.2 pixels wide. Reaching the top row anywhere at all fills whichever fifth of the board your left edge sits in. That also means the frog can register in one fifth while its drawn body leans into the next one.
- Lanes are built once when a game starts and never rebuilt. Your fifth frog crosses exactly the same traffic as your first. There is no rising difficulty.
- Movement is counted per drawn frame, not per second. A 120 Hz screen makes every car and log twice as fast. The 30 second clock does not change, because it counts down from a real deadline rather than from frames.
- The time left is rounded up before it is shown, so the display reads 1s for the whole final second. It refreshes ten times a second.
- Nothing is checked at the moment you press a key. The hop happens, then the very next frame tests where you landed. There is no grace period and no undo.
- Hiding the tab stops both the animation and the clock. Nothing starts them again, so a game you tab away from has to be restarted.
- The score is simply the number of frogs banked, from 0 to 5. Spare seconds earn nothing, spare lives earn nothing, and a fast crossing earns nothing.
- This version has no diving turtles, no crocodiles, no snakes and no bonus insects. The only things in the water are logs, and the only things on the road are vehicles.
- A best score is written only when a game actually ends, in a win or on your last life. Walking away in the middle records nothing.
What the game asks you to do
A frog starts at the bottom of the screen. Above it are five lanes of moving traffic, a safe strip of grass, five lanes of river with floating logs, and a row of five bays at the very top. Your job is to hop the frog from the bottom to one of those bays. Then the frog resets and you do it again. Get five frogs into five bays and you win.
You have three lives and a thirty-second clock that resets with every new frog. Lose a life and the frog goes back to the start. Lose all three and the game is over. The clock runs the whole time and if it hits zero the crossing counts as a death.
Controls on every device
On a keyboard, press the arrow keys or WASD to hop one square in that direction. Each press moves the frog exactly one cell. On a phone or tablet, use the four-button direction pad beneath the game area, or swipe in the direction you want to go.
There is no run button. Every input is a single hop. The frog does not drift or slide after you press. It lands in the next cell and stays there until you press again. That precision is important because the gaps between traffic lanes and the logs on the river are measured in single cells.
The road: avoid everything
The bottom half of the board is five lanes of traffic. Cars and trucks move left or right at different speeds. Some lanes carry short, fast vehicles. Others carry longer, slower ones. If anything touches the frog, you lose a life.
The key to the road is patience. Each lane has gaps between its vehicles, and those gaps repeat as the traffic wraps around the screen. Watch a lane for a moment, spot the gap, and hop into it. Then wait in that lane for the next gap in the lane above. There is no reward for speed on the road. A calm player who waits for clean gaps will cross it without losing a life every time.
The river: stand on everything
The top half of the board is five lanes of water with logs floating across them. On the river, the rules are reversed. The water is fatal. The logs are safe. You must land on a log, not in the gap between them.
Logs move left or right, and the frog moves with them. When you are standing on a log, you slide along with it at its speed. This carry is both useful and dangerous. It lets you ride a log into position for the next jump, but it also means a log will carry you off the edge of the screen if you stay on it too long. Riding off the side costs a life.
The reversal between road and river catches almost every new player the first time. On the road you learn to dodge moving objects. On the river you must land on them instead. The instinct you built up crossing the road actively works against you on the water.
The middle bank and how to use it
Between the road and the river there is a single row of green grass. Nothing moves there and the frog is safe for as long as it sits on it. This strip is the most valuable piece of real estate on the board.
Use it as a staging area. After you clear the road, stop on the bank and look up at the river. Find a log approaching in the first water lane and line yourself up with it. Time your hop so you land on the log as it passes. Jumping blind from the bank into the river is the most common way to drown, because the water is fatal and you have to hit a moving target.
The bank is also where the clock pressure starts to matter. If you spent too long on the road, you may not have enough time to wait for a good log. The thirty-second limit is generous for a clean crossing but tight for a hesitant one.
Filling the five bays
The top row has five bays. Each one holds exactly one frog. When you hop into a bay, the frog is saved and a new frog appears at the bottom. The bays are marked once they are filled.
Landing on a bay that already holds a frog costs a life. This rule is easy to forget when you are focused on dodging traffic and riding logs. As the game goes on, more bays are taken and your target shrinks. On the fifth frog you have only one open bay left, and you must aim for it specifically. Hopping into the wrong bay at this stage is a common way to waste your last life.
The bays are spread evenly across the top of the screen. You do not need to reach a particular horizontal position before you start moving up. Instead, work your way across the river on the logs and aim for whichever open bay is closest when you reach the top lane.
Reading traffic patterns
Each lane is generated with a fixed number of vehicles at a fixed speed. Alternate lanes move in opposite directions. This means the gaps in adjacent lanes often line up in predictable ways.
Watch two lanes at once before you commit. If the gaps in the lane you are in and the lane above are close together, you can hop through both in quick steps. If they are moving apart, wait for the next cycle. The traffic wraps around the screen, so every gap comes back.
Faster lanes are actually easier to cross than slow ones once you get the timing right. The gap arrives sooner, passes sooner, and returns sooner. Slow lanes tempt you into a false sense of safety and then close the gap while you hesitate.
Strategies that save lives
Keep your movement vertical when you can. Sideways hops on the road waste time without getting you closer to the river. On the river, let the log do the horizontal work for you.
Never ride a log all the way to the edge. The moment you feel the frog getting close to the screen boundary, hop up to the next lane or back down to a safer log. Being carried off the side is a death you could have avoided with a single press.
Save the middle bays for last. The bays at the far left and far right are harder to reach because logs may not carry you there conveniently. Fill the edges early while you still have lives to spare. The centre bay is the easiest to hit from any log in the top lane.
Common mistakes that cost lives
- Jumping into the river from the bank without checking the log positions. The water kills you instantly.
- Forgetting that logs carry you sideways. A frog that was safe a second ago can drift off the screen.
- Landing on a bay that is already filled. The taken bays are marked, but under pressure it is easy to aim for the wrong one.
- Spending too long on the road and running out of clock time on the river. The thirty seconds covers both halves of the crossing.
- Trying to hop backwards on the river to avoid the edge. It is often faster to jump forward to the next log than to retreat.
Scoring and best results
The game tracks how many frogs you get home out of the five required. A complete game means all five frogs reach their bays. The end screen tells you how many lives you had left when the last frog landed.
Your best score is saved in your browser on your device. It is never sent to a server and will not follow you to another machine or browser. There is no leaderboard.
No data leaves your device
The entire game runs inside this page. The traffic, the logs, the collision checks and the timer all happen in your browser. Nothing is uploaded, there is no account to create, and once the page has loaded the game works without an internet connection. Your best result stays in your browser's local storage on your own device.
