Controls
Quick, readable, mobile-safe input.
Mouse: move to aim, click to fire. Touch: drag to line up the shot, then release to fire. Keyboard: Space shoots and Esc pauses.
Threats
- Cannonball moves fast and lands cleanly for 1 damage.
- Boulder hits harder for 2 damage and drops under gravity.
- Fireball burns through the air with a wavering path.
Pressure Curve
- 0 to 30s: Calm watch. One threat about every 4 seconds.
- 30 to 60s: Storm front. Spawn rate and speed begin climbing.
- 60s+: Siege hour to last stand. The shoreline gets crowded fast.
Why Island Defender is worth building in the browser
Island Defender is designed as a compact arcade loop that feels immediate on desktop, but still readable and playable on touch screens. The setup is simple enough to learn in seconds, yet the arrow arc, cooldown timing, and rising spawn pressure give it a skill ceiling that keeps it from feeling disposable.
Because it runs entirely client-side, the game opens fast, works without a backend, and fits naturally into a portfolio app collection where the experience itself is the proof of capability.
How to survive longer
- Lead fast targets instead of aiming directly at where they are now.
- Use the quiet early waves to get comfortable with the arrow drop.
- Protect your combo by avoiding wasteful shots into the sea.
- Watch for boulders late in the run because they remove 2 health at once.
Why this app matters technically
This build mixes a real-time render loop, responsive pointer and touch input, game state management, local persistence, and lightweight effects in a single browser experience. It is also a good example of how small games can live inside a content-driven Astro site without breaking the surrounding SEO and app discovery flow.
If you want more focused browser experiments, you can also browse the rest of the apps or reach out about building a custom interactive tool.