Defend the wall, chain the powder barrels, topple the Evil King
In Castle Crash the player guards a castle wall with a siege cannon. Drag to aim, release, and a volley of stone balls ricochets between the towers, cracking stone blocks, barrels and chests before they reach the battlements. A little green dragon in a knight helmet watches from the side panel, and a boss marches in when each chapter of five levels is over. Everything ships as a finished HTML5 game template with clean source code that any static host can serve.

10 bosses, one at the end of every chapter
At the end of every chapter a boss walks onto the board with its own portrait, a health bar and a few blocks guarding it. It wins if it gets to the wall, so it has to fall first. Beating a boss pays 100 coins the first time and 25 on every replay. The Black Knight opens the campaign at the Castle Gate, and the Evil King waits at the Royal Castle at the very end:
- Castle Gate: Black Knight
- Village Green: Giant Troll
- Dragon Peak: Red Dragon
- Enchanted Forest: Evil Oak
- Royal Harbor: Sea Serpent
- Tournament Field: Giant Ogre
- Haunted Ruins: Ghost King
- Wizard Tower: Dark Wizard
- Stormy Cliffs: Stone Golem
- Royal Castle: Evil King

Powder barrels, oil cauldrons and the Bomb
The number on a block counts the hits left before it breaks. A powder barrel takes out all eight blocks around it, an oil cauldron sets its whole row on fire, a treasure chest adds two balls to the volley, and an iron portcullis can never be broken (it is not needed for the win). Arm the Bomb before firing and the first ball clears a 3×3 area. End shot pulls every ball back at once, and the 2× button speeds up a long volley.

Daily challenge, Endless mode, missions and a shop
Coins are earned from stars, bosses, chests and missions. In the shop they buy three cannon upgrades (Extra ball, Quick fuse and Spyglass) and six ball skins, from Stone to Ghost; each skin can also be unlocked with stars. The Daily challenge serves a fresh 18-row board every day and pays a bonus for a winning streak. Endless siege drops a new row after each volley until the blocks reach the wall. Star milestones at 30, 60, 90, 120 and 150 stars add more coins.

14 languages and a narrator with a voice
Castle Crash speaks 14 interface languages and picks the browser's one on the first visit; the level hints are translated too. Its narration was recorded in English, Portuguese and Spanish, and the castle has four music tracks of its own (one for the menu, two for the levels, one for boss fights) next to 27 sound effects.
What is new compared with RICOPOP
Castle Crash runs on the same engine as RICOPOP and keeps its 50-level layout, so aiming and ricochets behave the same way; a few maps were reworked around the new blocks. The look, the sound and the extras are new:
- A medieval theme with fresh art: castle arena, ten kingdom settings, stone blocks, barrels and chests
- A little dragon mascot in a knight helmet
- Ten castle bosses, each with its own picture, plus a dedicated boss track
- New blocks: treasure chests, oil cauldrons and unbreakable iron portcullises
- Coins, a shop with cannon upgrades and ball skins, Daily challenge, Endless siege, missions and star milestones
- Original music made for this edition
Upload and play: ads stay off until you turn them on
Upload the contents of the game folder to a static web host and start playing. Progress, coins, skins and upgrades are stored on the player's device.
- Ads are off by default. castle-crash.config.js has optional Google AdSense, custom-adapter and demo settings; live ads need your own eligible account.
- The Score screen and the missions are local: there is no server, PHP file or online leaderboard to maintain.
What you receive
The complete HTML5 game and its readable source with every picture, sound and music file, the illustrated guide in English, Portuguese and Spanish, a step-by-step customization guide with numbered screenshots, and optional developer tools: 58 tests, a level validator and solver, a local server and a build copy.
Customise it
There is no build step: edit a file, upload it and refresh. The levels are in src/levels.js, the economy (prices, rewards, upgrades, missions, star milestones) in src/modes.js, the texts in src/locales/ and the pictures, sounds and music in assets/. castle-crash.config.js controls ads, the "Tap to start" screen and the full-screen button. Internal code names left over from the engine are listed in the source README.
Technical details at a glance
- Stack: vanilla JavaScript with ES modules, Canvas 2D, Web Audio and optional WebGL glow effects; the files are HTML, CSS, JavaScript and JSON.
- Runs from any static HTTP or HTTPS host (not from file://), with no Node.js, build step, PHP, database or account. It needs an internet connection to load and is not an offline app.
- Portrait layout on phones, wide layout with side panels on desktop; touch, mouse and keyboard.
- Node.js 26.13+ only for the optional developer tools.
- Not included: native Android or iOS builds and store publication, online multiplayer or an online leaderboard, ad network accounts and game-portal SDK integrations.
Licence and support in short
You get a perpetual, non-exclusive licence for one end product, yours or one client's. Players may access it free of charge or through advertising monetisation. You can change the code, art and audio inside your product, but not resell the template itself. Six months of support are included, or 12 with the extension chosen at checkout.



















