Dragon Roost: recruit, merge and defend the castle.
Dragon Roost is an HTML5 merge tower defense template with full source code, set in a castle above the clouds. Recruit baby dragons, drag two equal dragons together to hatch a stronger one, and place your best dragons in the front nests so they breathe fire at the goblin balloons flying at the castle wall. Easy to start, with real decisions later: which dragons to merge, when to call the next wave and what to buy in the Royal Aerie.

12 dragons, each with its own attack
Fireballs, twin sparks, thorns, ember streams, lava rocks, iron darts, frost, spirit flames, chain lightning, moon orbs, a sun beam and a cosmic vortex. Merge two equal dragons to reach the next level; merge combos pay a bonus.

30 waves, 3 worlds and 3 bosses
Golden Skies, Storm Canyon and Aurora Night, with 8 kinds of goblin balloons and a boss every 10 waves (Ram Zeppelin, Goblin Queen, Shell Fortress), each with its own entrance and boss music. After the campaign, Endless mode keeps going.

Juicy, and kind to the player
Dragon breath, shot trails, merge bursts, balloon wrecks, goblins on parachutes and flying coins, all tuned in one file. A first-game tutorial and mascot call-outs with English narration, retry that resets the wave when the wall falls, Wyverns and War Horn powers, falling treasure chests, 1x/2x speed, and calmer effects when the system reduce-motion setting is on.

Your game, your hosting
Upload the contents of the game folder to static HTTP(S) hosting. No PHP, database, account or Node.js is needed on the server, and the game makes no requests to ranking, advertising, tracking or payment services. Landscape layout for phones, tablets, desktop and ultrawide screens, with mouse, touch and keyboard.
What this edition does not include
Native apps, hosting and custom development are not included, nor are cloud saves, an online ranking, real-money purchases or an advertising SDK.
Who this template is for
Site and portal owners who want a fantasy strategy game, freelancers and studios building a branded game for a client, and developers who want readable plain JavaScript to learn from or reskin.
Customise it
All balance numbers live in src/game/data.js (dragons, enemies, waves, bosses, prices, rewards) and all game-feel numbers in src/render/feel.js. All player-facing names are in src/i18n/dragon-theme.js. The engine is shared with a garden-themed template, so some internal code keys keep neutral names; the README maps each one to its dragon name.
Technical details at a glance
- Stack: HTML5, plain JavaScript ES modules (no compile step), Canvas 2D and Web Audio.
- 14 interface languages; English mascot narration; offline illustrated guide in English, Portuguese and Spanish.
- Node.js 26.13+ only for the optional tools: tests, build copy and local server.
- Local Fredoka font with its OFL licence; credit to pixelfx (MIT) for breath drawing techniques.


















