Cut & Fill
A tactile puzzle game about moving earth and avoiding traffic.
You control a dozer to cut dirt from some cells and fill holes in others. But watch out—vehicles move through the site, and you'll fail if one hits you.
### What You'll Find
**25 hand-crafted campaign levels** ordered by measured difficulty, from simple grading to complex traffic navigation with gated haul roads and accelerating tempo.
**Three difficulty shifts** — Apprentice, Operator, Foreman — let you tackle the same puzzle at your own pace. Slower traffic? Fewer vehicles? Warning cells visible? All configurable.
**Random level generator** (three tiers) creates fresh procedural puzzles and proves they're solvable before you play them.
**Daily challenge** — the same puzzle for everyone, same day worldwide. Build a streak of personal bests.
**Level editor** with instant verification. Create and share custom levels using shareable codes — no backend, no accounts, no hosting bill.
**Time-trial mode** to compete against your own best times per level.
**Hint system** that works out a way forward from your current position, not just from the start. Earn hints by finishing levels at par.
### How to Play
**Objective:** Fill all holes and reach the exit without getting hit.
**Controls:**
- Desktop: Arrow keys or WASD to move, Space to act
- Touch: Swipe to move or use on-screen pad (configurable)
**Game symbols:**
- โพ Orange pit = hole to fill
- โ Green pit = filled hole
- โ Dirt pile = push this
- Yellow dozer = you
- ๐ Vehicles = avoid
**Key mechanics:**
- Push dirt into holes. It drops in permanently—waste a load and you might brick the level.
- Traffic advances one step per your move, including waits. Timing is everything, not reflexes.
- Red cells show exactly where vehicles land next turn (hidden on Foreman difficulty).
- You can only push, never pull. No infinite retries with the same dirt.
### Features
โ 25 hand-designed levels + random generation + daily challenge
โ Built-in level editor + share codes (no server needed)
โ Time-trial mode with personal bests
โ Three difficulty shifts (same puzzle, different challenges)
โ Hint system (earned, not infinite)
โ Synthesized sound (no audio files)
โ Haptic feedback (Android)
โ Touch and keyboard controls, fully configurable
โ Works offline — zero network requests, single HTML file
โ No ads, no tracking, no paywalls
### Play Now
Open `index.html` in any browser. No install, no build step, no server needed.
Plays on:
- Desktop (Chrome, Firefox, Safari, Edge)
- Mobile (iOS Safari, Chrome Android, Samsung Internet)
- Offline (download and double-click)
### Keyboard Reference
| Action | Key |
|--------|-----|
| Move | Arrow keys or WASD |
| Act | Space |
| Wait | Space or tap board |
| Undo | Z or U |
| Restart | R |
| Hint | H |
Panels are navigable with keyboard: arrows/WASD to move, Enter/Space to click.
### About
Built as a single self-contained HTML file. No build step, no dependencies, no external assets. The solver that verifies custom levels and generates random ones lives in the browser—publish a level and you're publishing an actual par, not a guess.
**Technology:**
- Vanilla JavaScript (ES6)
- CSS Grid + Flexbox
- WebAudio API (synthesized sound)
- Pure DOM rendering (no canvas)
**License:** Proprietary. All rights reserved. Not licensed for copying, modification, or redistribution. See LICENSE file.
---
| Updated | 4 hours ago |
| Published | 7 days ago |
| Status | Released |
| Platforms | HTML5 |
| Author | thornsRL |
| Genre | Puzzle, Strategy |
| Tags | browser, Casual, game, html, offline, puzzle-game, Singleplayer, web |
| Content | No generative AI was used |



