Last Watch poster
LEVEL 03 // SURVIVAL

LAST WATCH

MODE: SURVIVALENGINE: UNITY · C#STATUS: CLEARED ✓

Hold the beach. Guard the gold. Don't expect a thank-you.

The pitch

You're not the captain. You're the crewmate left behind to guard a mountain of treasure you'll never get to spend. As the sun beats down, skeletons claw their way out of the sand in endless waves. Fight, scavenge and survive as long as you can, because nobody is coming back for you.

The challenge

Take a one-page concept to a playable survival game with a strong hook, a tight loop and a look you'd recognise from one screenshot.

What I did

Wrote the concept, designed the fight-scavenge-endure loop, set the toy-box art direction and built the combat, waves, pickups and HUD.

Loadout
  • UNITY
  • C#
  • LOW-POLY 3D
  • ISOMETRIC CAMERA
Features

Fight. Scavenge. Endure.

ENDLESS WAVESEvery wave hits harder than the last. How long can you last?
SCAVENGE TO SURVIVEFruit keeps you alive. Coins keep the score climbing.
SWORD COMBATFast, readable melee against skeletons rising from the sand.
TOY-BOX TROPICSBright water, golden sand and bone-white enemies that always stand out.
PIRATE HUDWeathered wood and gold coins: the HUD looks like it washed up on the beach.
ONE MORE WAVEInstant replay, because you know you can beat your score.
Gameplay video
No internet? Play the offline trailer
Screenshots
Dev log

From concept to the beach

Core loop: fight, scavenge, endure
01Core loop: fight, scavenge, endure
Arena layout
02Arena layout
Difficulty ramp per wave
03Difficulty ramp per wave
Art direction: toy-box tropics
04Art direction: toy-box tropics
WAVE RAMP // DESIGN FORMULA
// Every wave: more skeletons, less breathing room
enemiesThisWave = baseEnemies + wave * enemiesPerWave;
spawnDelay      = max(minDelay, startDelay - wave * 0.1f);