Rescue Rover
A first taste of programming. Build a list of commands, then run it and watch the rover follow them exactly — including your mistakes, which it reports by line number.

Program the rover to collect every beacon and come home to base.
FreeOn this device
◆ beacon · green square base · grey rock · arrow the rover. Cargo: 0.
Worked example, line by line
- Forward: the rover drives one square east.
- Forward: one more square — now it is on the beacon.
- Collect: picks up the beacon.
- Right: turns to face south.
- Right: turns again — now facing west, back towards base.
- Forward: one square west.
- Forward: home at base with the beacon. Done.
Program (0 of 30 blocks)
Score: fewer blocks first, then fewer steps. A Repeat counts as one block plus the blocks inside it. No program is claimed to be the shortest possible.
Controls
- Add blocks with the buttons; they go in at the insertion point, which you move with the radio buttons in the program list.
- Reorder with the ↑ and ↓ buttons or by dragging a line; ✕ deletes. A Repeat has its own count (2 to 5) and its own list of blocks.
- Step runs one command at a time, Run plays the whole program, Stop pauses and Reset rover puts everything back.
The rules
- Forward moves one square in the direction the rover faces; Turn left and Turn right rotate it on the spot.
- Collect picks up a beacon only when the rover is on one that is still waiting. Driving into a rock or off the map stops the program.
- You win when the program ends with every beacon collected and the rover back on base. Repeats cannot contain repeats, programs are at most 30 blocks and 500 steps.
Scoring, saving and limits
Fewer blocks is better, then fewer steps; your best for each level is kept. There is no claim that any program is the shortest possible.
Your current program, level and best scores are kept on this device only. Programs can be exported and imported as small JSON files; anything oversized or malformed is refused.
Twelve levels: three authored tutorials with a line-by-line explanation, then nine generated maps, each shipped with a program known to solve it.
Questions
- Why does the rover stop with a line number?
- Something on that line could not be done — a rock in the way, the edge of the map, or nothing to collect. Fix that line and run again.
- What does Repeat save?
- Blocks. Four Forwards in a row become one Repeat 4 with a single Forward inside: two blocks instead of four.
- Is my program run on a server?
- No. It is interpreted step by step in your browser — no code is ever evaluated and nothing is sent anywhere.

