Snowballs off the walls, kegs up in flames, a Frost King to topple
Frost Fjord sets the cannon on a snowy ship's deck in the middle of an icy fjord. Drag to aim, release a volley of snowballs and watch them ricochet around the arena, cracking ice blocks, barrels and chests before the frozen cargo slides down to the deck. A puffin in a horned helmet keeps an eye on the run, and a boss blocks the way at the end of every chapter. Underneath sits a complete HTML5 game template with clear source code that goes straight onto any static web host.

10 bosses, one at the end of every chapter
Ten bosses stand guard, one closing each chapter, each drawn in its own picture, with a health bar and a screen of cargo shielding it. Bring it down before it reaches the deck to earn 100 coins on the first victory and 25 on every rematch. The roster opens with the Walrus Jarl in Snowy Harbor and ends with the Frost King in Frost King's Hall:
- Snowy Harbor: Walrus Jarl
- Pine Fjord: Ice Crab
- Ember Peak: Fire Wyrm
- Troll Woods: Forest Troll
- Narwhal Bay: Narwhal Raider
- Rune Circle: Rune Golem
- Ghost Longship: Ghost Jarl
- Crystal Cave: Crystal Bear
- Storm Cliffs: Storm Giant
- Frost King's Hall: The Frost King

Fire kegs, mead mugs and rune stones
Every block carries a number with the hits it still needs, and reinforced chests start with bigger ones. A fire keg bursts into its eight neighbours, a burning mead mug damages its whole row, a treasure chest adds two snowballs to the volley, and rune stones never break and are not needed to win. Arm the Bomb before firing and the first snowball blasts a 3×3 gap. End shot pulls the volley home early, and 2× speed makes long volleys finish sooner.

Daily challenge, Endless mode, missions and a shop
Coins arrive from stars, boss wins, treasure chests, missions and the Daily challenge. Spend them on three cannon upgrades (Extra ball, Quick fuse, Spyglass) and on six snowball skins, Snowball through Ghost, which can also be unlocked with stars. Each day the Daily challenge deals a fresh 18-row cargo and rewards a winning streak; Endless sea drops one more row after every volley until the ice reaches the deck; and milestones at 30, 60, 90, 120 and 150 stars pay out coins.

14 languages and a narrator with a voice
The interface and the level hints are translated into 14 languages and start in whatever language the browser uses. There is recorded narration in English, Portuguese and Spanish, 27 sound effects and four music tracks that belong to this game alone (one for the menu, two for the levels, one for the bosses).
What is new compared with RICOPOP
Under the snow sits the RICOPOP engine with its 50-level structure, so aiming and bouncing behave exactly as before; a few maps were reworked to fit the new blocks. The rest was made for this edition:
- A viking world with new art: an icy ship deck, ten chapter settings from Snowy Harbor to Frost King's Hall, ice blocks, barrels and chests
- A puffin mascot in a viking helmet
- Ten bosses, each with its own picture, and a dedicated boss track
- New blocks: treasure chests, mead mugs that burn a row and indestructible rune stones
- Coins and a shop with cannon upgrades and snowball skins, plus Daily challenge, Endless sea, missions and star milestones
- Original music written for the game
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. frost-fjord.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/. frost-fjord.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.



















