Games that play in your browser — phone or desktop.

Games » Cliff Cannons

Cliff Cannons

By Leetdom · 2026

Play:

Touch: drag from your crew in the direction you want to fire and release to launch (drag further for more power); tap the four tool buttons to switch charge; tap FIRE to launch at the current aim; the pause and mute buttons sit top-right; tap to advance menus and to retry · Keyboard: Left/Right arrows aim the angle, Up/Down set power; 1-4 pick Lob, Breaker, Digger or Scatter; Space or Enter fires; P or Esc pauses; M mutes; Enter retries on the end screen. Mouse: drag to aim and release to fire, click buttons.

About:

A turn-based artillery duel in the spirit of the 1990s and 2000s lob-and-hit classics, made in-house for Leetdom. Two salvage crews stand on opposite headlands of a wind-blown cove. On your turn you drag in the direction you want to fire (further back is more power), watch the wind, choose one of four very different charges, and let fly; the shot arcs under gravity and the crosswind, blows a crater in the cliff, and the ground above it slumps down. Knock the enemy crew's health to zero to win.

The four tools each play differently. The Lob is your endless sidearm, a clean mid-weight arc you can place anywhere. The Breaker is a heavy, wind-proof slug that punches a wide deep crater but you only carry three. The Digger buries into the cliff before it goes off, so it can undercut a crew tucked behind a ridge; you carry two. The Scatter splits into three light fragments that the wind pulls hard, good for a crew out in the open, and you carry two. Spent ground never comes back, so every shot changes the shape of the fight.

Play a Duel against the crew AI at three skill levels, sit two players on one device for Pass-and-play, drill your aim in Practice where targets to shoot at help you learn how the arcs bend (the aiming guide only shows the start of each shot), or take the Daily challenge: a fixed wind-and-terrain seed that is the same for everyone that day, scored by how few turns you need. Your best challenge turn count and your win-loss record against the AI are kept on your device. Everything in it, the art and the sound included, is drawn and synthesised in code, with no image or audio files at all.

Credits:

Made by Leetdom, 2026. Written for Leetdom, and it lives here.

Phone check: 2026-10-03: independently QA'd in a headless Chromium over the DevTools Protocol with real synthetic input. Desktop 1280x800 (mouse + keyboard): title, PLAY opens menu, Duel starts, a real pointer drag fires a shot that resolves and advances the turn, arrow keys adjust aim, P pauses and resumes, the match reaches a win/lose screen, a one-key retry restarts, a mid-game resize keeps state and no crash, and the tab pausing on hidden. Portrait phone 390x844 and landscape phone 844x390: boot, menu, match start, a real touch drag fires, the turn advances, rotation mid-game re-lays the field, and visibility pause. localStorage forced to throw on every call: the game still boots and plays with zero console errors. Across every run: zero console errors or exceptions and no outside network requests (only the same-origin page, sim.js, audio.js and game.js). Audio metered through an OfflineAudioContext rendering the exact in-game graph: full mix peaks at -3.0 dBFS (no clipping, under the -1 dBFS limit) and the melodic bed sits 11 dB (steady-state RMS) and 18 dB (peak) under the effects bus. The deterministic rules core passed 136 of 136 unit assertions, and the AI solver doubles as a solver test that lands shots under fixed-step physics. 2026-10-03 production check (pi-fleet) on https://www.leetdom.com/games/brinelob: page 200; the game loads in the page with zero console errors and only same-origin requests (index.html, sim.js, audio.js, game.js); desktop 1280x800 real mouse clicks reach a duel, the Full screen button refits the canvas to 1280x800 and back, and a drag still fires, arrows aim, P pauses; phone 390x844 and 844x390 with real CDP touch: taps reach a duel, a touch drag fires after Full screen refits the canvas, and tapping a tool button switches charge. Fixed for production: in the shelf's 332x187 in-page frame on a portrait phone the FIRE button became a full-width bar over both crews; short landscape boxes now fit FIRE inline in the toolbar row.

Rate this game:

One vote per game each month.

Play next:

Box Stacker Place blocks to build a bridge, ramp, or structure so a car can reach a goal flag, then run a real physics simulation - confirmed genuinely working via real block placement and simulation on both desktop and phone, backed by a 192-level catalogue.
Clockwork Golf Pocket mini-golf through wound-down clockwork ruins. Drag back, read the lie, and bank your ball past turning gears and sliding gates. Nine hand-built holes, par 28.
Couch 2048 2048 reimagined as a soft-body physics puzzle. Drag cushions together to merge them.
Cradlestone A carved idol is held aloft by a tower of runed stones. Dissolve them in the right order and the idol settles gently onto its cradle; pull the wrong one and it topples, drops too hard and shatters, or slides off into the dark.