Tide: A Game With No Score, No Timer, and No Point
There is nothing to win in Tide.
There is no score, no level, no timer, no failure state. Just a beach, a slow rhythm of waves, and a handful of objects you can rearrange however you like.
That’s the entire point.
I built Tide as a deliberate rejection of the design instincts that drive almost every other game I’ve made. Most of my projects start with a question like “what’s the win condition?” or “how do we measure progress?” Tide started with the opposite question: what would a game look like if those questions didn’t exist?
The answer turned out to be something I didn’t expect: it would look like a beach.
The Concept
Tide is a single screen. The top half is ocean, the bottom half is sand. Waves roll up the beach at a slow, irregular cadence — about one every 12 to 15 seconds — and as each wave retreats, it leaves behind 2 to 4 small objects scattered along the foam line.
Those objects are yours. You can drag them anywhere on the screen. You can pile them in clusters. You can sort them by type. You can spell your name with them. You can arrange them in concentric circles around a centerpiece. You can put them in a single straight line down the middle of the beach. You can do absolutely nothing with them and let the next wave bring more.
You can also double-tap any object to toss it back into the sea, where it splashes and disappears forever.
That’s the entire game. There is no other interaction. There are no menus, no goals, no notifications, no daily streaks, no tutorials.
The Five Items
Every wave deposits a random selection from five item types. They’re the heart of the game’s variety, and each one has its own size range, its own visual character, and its own three color variants.
| Item | Size range | What it is |
|---|---|---|
| Shell | 18–32px | Small, curled, often pink or white. The most common find. |
| Rock | 16–32px | Smooth, gray or brown. Heavy-feeling. |
| Sea Glass | 14–26px | Translucent, frosted. Pale greens, blues, ambers. |
| Starfish | 22–36px | Spread arms, orange or red. Rare and showy. |
| Driftwood | 28–48px | The largest pieces. Long, weathered, irregular. |
Each item has a random size within its range, a random rotation, and one of three color variants. So no two shells are quite identical. No two pieces of driftwood face the same way. The beach you build is genuinely yours, and it would be impossible to recreate even if you wanted to.
The maximum item count on the beach is 30. When the cap is reached, the oldest items get pushed out as new ones arrive. So your beach is always evolving — you’re not building toward a permanent collection, you’re curating a snapshot of the current moment.
The Wave Cycle
The whole game is structured around a single 12-to-15-second cycle that loops forever. Here’s what happens in each cycle:
| Phase | Time | What happens |
|---|---|---|
| Approach | 0–50% | A new wave rolls up the beach, water rising over the sand. The wave sound plays at the start. |
| Deposit | ~50% | At peak retreat, the wave releases 2–4 new items along the foam line. |
| Calm | 50–100% | The wave recedes. The beach is at rest. You arrange. |
| Reset | 100% | A new wave duration is randomly chosen (between 12 and 15 seconds). The cycle restarts. |
The variable cycle duration is critical. If every wave came at exactly the same interval, the rhythm would feel mechanical. Randomizing slightly between 12 and 15 seconds gives the ocean its own unhurried pulse — fast enough to feel alive, slow enough to feel unhurried, irregular enough to feel real.
The wave sound is the only audio cue. There’s no music. There’s no UI feedback for placing items. There’s a gentle tap when you pick something up, a soft splash when you toss something back. That’s it. Long stretches of silence are part of the design.
Why “No Score” Is The Point
Every other game I’ve ever built tells you how you’re doing. Tide refuses to.
This isn’t laziness. It’s the whole design thesis. Modern games — and modern apps in general — are tuned to feed you a constant drip of measurable progress. Numbers go up. Streaks extend. Levels increase. Achievements unlock. The reward loop is so universal we’ve forgotten that it’s a choice.
Tide makes the opposite choice. Without a score, you can’t optimize. Without a goal, you can’t succeed or fail. Without a timer, you can’t be late. The game refuses to give you anything to chase, which means the only thing left to do is be present.
This is a meditation app pretending to be a game, and a game pretending to be a meditation app. The design language is the language of mindfulness — slow rhythm, organic randomness, no friction, no demands — but the interaction language is the language of play. You’re tapping. You’re dragging. You’re making choices. You’re doing something.
That gap is where the magic lives. You arrange shells in a circle not because the game told you to, but because you wanted to see what it would look like. Then a wave comes and you decide whether to keep the circle or let it get covered up. Either way, the circle was real for the time it existed, and that’s enough.
Things You Might Find Yourself Doing
I’ve watched people play Tide in usability tests and the variety of self-imposed games is remarkable. Some examples:
- Sort by type. All shells in one corner, all rocks in another, all sea glass in a third. The beach becomes a museum.
- Sort by color. Group the pink shells, group the gray rocks, group the green sea glass. A different museum.
- Make a face. Two shells for eyes, a piece of driftwood for a smile, a starfish for a nose.
- Build a centerpiece. One starfish in the middle, surrounded by concentric rings of shells.
- Toss everything back. Some sessions you just want a clean beach. Double-tap, splash, double-tap, splash, until the sand is empty. Wait for the next wave.
- Let it accumulate. Don’t touch anything. Let waves stack items naturally and see what the beach looks like with 30 random objects scattered on it.
- Catch and release. Drag a shell to the water line and watch the next wave cover it. Did the wave move it? Sometimes.
None of these are right. None of these are wrong. The game has nothing to say about which one you do.
The Meditative Quality
The thing that surprised me most about playing Tide is how quiet it is. Not just audibly — though it is — but cognitively. When you’re playing a normal game, your brain is constantly running background processes: tracking the score, planning the next move, evaluating the threat. With those processes turned off, your brain has to find something else to do, and what it tends to do is notice.
You notice the way the foam edge moves. You notice that no two shells are quite the same shape. You notice the random little variations in the colors. You notice that when you pick up a piece of driftwood, the next thing you do is drop it somewhere slightly different, and you can’t quite explain why.
That noticing is the meditative quality. It’s not a feature I added. It emerged from the absence of features. Subtract enough mechanics and what’s left is just being there.
Visual Design
The visual design is pure simplicity. The background is a gradient of ocean blues fading into sand tan. The waves are drawn as sweeping curves that animate based on the wave controller’s phase. The water surface has subtle ripples driven by a separate, slower animation controller that loops every 60 seconds — just enough to make the ocean look alive without being distracting.
Items are drawn as small flat shapes with simple shading. Shells are curled crescents. Rocks are blobby ellipses with darker undersides. Sea glass is translucent rounded rectangles. Starfish are five-pointed stars. Driftwood is long irregular shapes. Each item has its random rotation baked in at creation, so the same shell looks the same way every time you see it.
When you drag an item, it lifts slightly off the sand (a soft shadow underneath). When you double-tap an item, a splash animation plays for 500 milliseconds — concentric ripples expanding outward — and the item is gone.
The color palette is muted: tans, soft blues, weathered greens, faded oranges. Nothing pops. Nothing screams for attention. The whole screen is designed to be looked at, not looked through.
Built With
- Flutter with two
AnimationControllers — one for the wave cycle, one for the long-running ocean ripple phase. - CustomPaint for the entire beach scene. Every visual element is drawn directly to the canvas in a single
BeachPainterclass. No sprites, no widgets per item, no images. - A
ChangeNotifiergame state holding the list of items. The state has zero notion of score, time, or goals — justaddItem,removeItem,moveItem, andbringToFront. - Gesture detection for pan (drag items) and double-tap (toss items into the sea).
- A simple sound service with three sounds: wave, tap, splash.
- Deterministic per-item randomness so each item keeps its visual identity across redraws.
The whole thing is maybe 500 lines of code. There are no external assets, no audio files larger than a few KB, and no network requests. It runs forever on a single charge.
Try It
Tide is the smallest game I’ve ever made and the one I’m most attached to. It exists because I wanted to prove to myself that a “game” can mean something other than a contest, and that an interactive screen can be a place to go rather than a thing to win.
Open it. Don’t try to do anything. Wait for a wave. See what it brings. Move the shells around if you want, or don’t. Let the next wave come.
Stay as long as you like.