Helmsong

A lofi open-sea sailing game. Trade, fish, and out-gun pirates across a vast ocean. A fishing and sailing sim with trading and combat, generated entirely in code and running in a single browser tab.

A lofi open-sea sailing game. Trade, fish, and out-gun pirates across a vast ocean. A fishing and sailing sim with trading and combat, generated entirely in code and running in a single browser tab.

Desktop only | Cannot play on mobile

AI Tools Used:

Claude Code (Opus 4.8)

Code + Game Design + World Systems

SUNO

Game Music

ElevenLabs

SFX

The Goal

The Goal

My other browser games were arcades: one tight loop, sharpened until it sang. Helmsong was the first time I set out to build a world instead of a loop, a sea with its own geography, cultures, politics, and a myth you piece together as you sail.


Somewhere you'd want to just be, between the fighting and the trading, watching the light go gold on the water.


That ambition ran into one hard constraint I set myself: the whole thing is drawn in code. No sprite sheets, no art packs, every coastline, hull, harbour, and monster is shapes and color laid down by hand in the canvas.


So the real design work was never "add a feature." It was two quieter questions, asked over and over:


- How do you make code look hand-made? warm, organic, a little imperfect, instead of the clean geometric look that screams "generated."

- How do you make a small file feel like a big world? vast, varied, and coherent, when it all has to fit in one HTML page and regenerate on the fly.


Everything good in Helmsong came out of chasing those two.

What I Learned

What I Learned

The best-looking version was almost always the simpler one. Early on I tried generated sprite art for the islands and ships, technically detailed, "real"-looking, and wrong in the water.


It didn't sit in the world; the fussy detail fought the calm I was after. I threw it out, went back to code-drawn shapes, and refined those instead, and did it again the next time detail crept back in.


What replaced it was taste applied one decision at a time.


Tree canopies started as clean circles and read as too geometric, so they became jittered wobble-polygons. Sea rocks looked like worms, so they became squat, lumpy boulders.


None of it is impressive on its own. Together it's the difference between "a program drawing the sea" and "the sea."


The lesson I keep: detail is cheap; the right amount of detail is the whole job.

How It Was Built

DRAWING A WORLD BY HAND


There isn't a single image file in the world. Islands are organic lobed coastlines, noise pushed around a soft polygon so no two are alike with terraced cliffs, shallow-water shelves, and per-biome silhouettes: gnarled dead forks in the cursed reaches, stacked snow-pines up north, arm-and-bloom saguaros in the desert.


It's all rendered into a low-resolution buffer and blown up with hard pixels, so the hand-drawn shapes read as chunky, warm pixel art rather than crisp vectors. The palette does a lot of the emotional work, muted teals, a low sun, everything a half-step desaturated to hold the calm, lofi tone the game is built around.


TEN CULTURES FROM A GRAMMAR


You can't hand-place a world this size, and you can't store one either so the world is a grammar, not a map. Every port is grown from a small kit of rules keyed to where it sits: a harbour in the cold north gets a Norse name, a longhouse on the shore, a Norse hull in the water, and cold-water goods on its shelves; sail south and the same rules quietly hand you step-pyramids, feluccas, and a hotter light.


Ten culture kits the Northmen, the Marble Coast, the Feathered Shore, the Riverborn, and more each generating their own names, architecture, ships, and trade. Nobody reads the rules. They just feel like they've sailed somewhere real.


SIX FLAGS AND A DROWNED SONG


A world needs sides, and stakes. Six factions share the sea, each with its own character and its own opinion of you: the Crown's navy, the Compass Guild's counting-houses, the independent Shorefolk, the Red Sails pirate confederacy, and under all of it the Tidebound, the cult of the Deep Song, whose ghost crews sail and whose monsters answer the call.


Reputation with each drifts as you trade, fight, and pay (or refuse) tribute. Threaded through the water is the game's mythology, recovered one fragment at a time from flotsam: the sea was still until the Leviathan first turned in its sleep; on calm nights you can hear the drowned choir singing beneath the keel. The whole game is named for that song.


TAKING THE MAP


The endgame is where the world stops being scenery and becomes yours.


You can blockade and shell a harbour, break its garrison, and seize it; found your own harbours and forts on bare islands; raise your banner, levy tribute, and grow a fleet. Then defend it all when the former owners come to take it back.


It's the payoff the whole world was building toward: not "beat the game," but change the map go from a sail on someone else's sea to a flag other captains have to reckon with.

Interface & Product Design

A sim this deep only works if the interface disappears into the world. Everything lives in one diegetic frame: a leather-and-brass HUD, a stack of captain's screens hold, ledger, realm, factions, log, and lore tucked behind a single key, and a chart you can zoom from your own wake out to the whole seaboard.


The market is the heart of it every good's buy/sell spread in one glance, one-click trade, and a line of flavor that quietly tells you where the profit is two ports south.


The rule I held to: readable at a glance, learnable without a manual, and always in the world's voice. No sterile menus a captain's log and a chart table.


The Fleet

Every hull is drawn in code and flies its owner's colors.


You captain one of four ships you can buy — the nimble Sloop and Cutter, the cavernous Merchantman, the twin-cannon Frigate. While the sea around you carries the rest: the Crown's blue-sailed navy, the Compass Guild's gold merchantmen, the blood-red Red Sails, the Shorefolk's fishing boats* and the Tidebound's translucent ghost ships, One rigging system, a dozen silhouettes — a whole ocean of ships from the same set of rules.

Music & SFX (SUNO & ElevenLabs)

The score is nine original AI-generated tracks created with SUNO, each written for a mood the sea moves through: the calm of an open horizon, the dread of the Cursed Deep, the churn of a boss fight, the hush of a foggy morning. The game reads where you are and what's happening and shifts between them, so the soundtrack is really a set of moods the world cross-fades through.

Game SFX

Using ElevenLabs I created a library of 86 sound effects, from cannon fire and splintering hulls to gull cries, page turns, and the roar of a surfacing kraken. Most have two to four takes picked at random, so the same action never sounds mechanically identical, and a handful are ambient loops (rain, storm, harbour bustle, war drums) that fade in and out as the world changes around you.


Final Assets


  • A whole living sea — 12 named waters · 10 culture kits · 6 factions · 16 recoverable lore fragments

  • 0 art files — every island, ship, port, and monster drawn in code (generated art was tried, and retired, twice)

  • 1 self-contained HTML file — ~7,900 lines, ~520 KB, opens in any browser

  • 8 ship classes · 7 ammo types · sea monsters and a Leviathan to hunt

  • Conquer, found & defend harbours and forts — an endgame that rewrites the map

  • 9 original AI music tracks + 86 AI sound effects

  • Tech: HTML5 Canvas 2D · vanilla JavaScript · Web Audio · made with Claude Code (Opus 4.8)


  • A whole living sea — 12 named waters · 10 culture kits · 6 factions · 16 recoverable lore fragments

  • 0 art files — every island, ship, port, and monster drawn in code (generated art was tried, and retired, twice)

  • 1 self-contained HTML file — ~7,900 lines, ~520 KB, opens in any browser

  • 8 ship classes · 7 ammo types · sea monsters and a Leviathan to hunt

  • Conquer, found & defend harbours and forts — an endgame that rewrites the map

  • 9 original AI music tracks + 86 AI sound effects

  • Tech: HTML5 Canvas 2D · vanilla JavaScript · Web Audio · made with Claude Code (Opus 4.8)

View More Case Studies

View More Case Studies

View More Case Studies

Knight Quest

2D 1-Bit Dungeon Crawler

Descend through a forgotten keep, a cursed graveyard, and the Hellgate itself in this 1-bit dungeon crawler three chapters, three bosses, one knight.

JUNE 2026 | Claude AI (Fable 5), Nano Banana 2

Swarm

First Person Shooter

A neon voxel FPS where you're trapped in the pit, surviving endless waves of an alien horde across rotating jungle, cave, and hive arenas while bosses crash in every five waves and your only way out is to outgun them all.

JUNE 2026 | Claude AI (Opus 4.8)

Flying Aces

WW1 3rd Person Flying Combat Simulator

A WW1 biplane dogfighter that runs entirely in the browser — fly the trenches, out-turn enemy aces, pop observation balloons and bring zeppelins down over a living battlefield.

JUNE 2026 | Claude AI (Opus 4.8)

Helmsong

Top-Down Open-Sea Sailing Sim

A lofi open-sea sailing game. Trade, fish, and out-gun pirates across a vast ocean. A fishing and sailing sim with trading and combat, generated entirely in code and running in a single browser tab.

JULY 2026 | Claude AI (Fable 5 & Opus 4.8), Nano Banana 2, Flora

Knight Quest

2D 1-Bit Dungeon Crawler

Descend through a forgotten keep, a cursed graveyard, and the Hellgate itself in this 1-bit dungeon crawler three chapters, three bosses, one knight.

JUNE 2026 | Claude AI (Fable 5), Nano Banana 2

Swarm

First Person Shooter

A neon voxel FPS where you're trapped in the pit, surviving endless waves of an alien horde across rotating jungle, cave, and hive arenas while bosses crash in every five waves and your only way out is to outgun them all.

JUNE 2026 | Claude AI (Opus 4.8)

Flying Aces

WW1 3rd Person Flying Combat Simulator

A WW1 biplane dogfighter that runs entirely in the browser — fly the trenches, out-turn enemy aces, pop observation balloons and bring zeppelins down over a living battlefield.

JUNE 2026 | Claude AI (Opus 4.8)

Helmsong

Top-Down Open-Sea Sailing Sim

A lofi open-sea sailing game. Trade, fish, and out-gun pirates across a vast ocean. A fishing and sailing sim with trading and combat, generated entirely in code and running in a single browser tab.

JULY 2026 | Claude AI (Fable 5 & Opus 4.8), Nano Banana 2, Flora

Copyright © 2020 – 2026 All Right Reserved

Copyright © 2020 – 2026 All Right Reserved

Copyright © 2020 – 2026 All Right Reserved

Create a free website with Framer, the website builder loved by startups, designers and agencies.