Aim. Bounce. Boom. A ricochet arcade game with 50 levels
RICOPOP is an HTML5 ricochet arcade game template with source code in plain HTML, CSS and JavaScript, ready to upload to any static web host. Players aim volleys of balls off the walls, set off chain reactions and clear the crystals before they reach the line. It includes 50 levels in 10 chapters, a 14-language interface, and an optional PHP leaderboard and ad settings, both off by default.

50 levels in 10 chapters
Ten themed chapters of five levels each, from a gentle tutorial to a grand finale. Clear every crystal before the board reaches the line. The levels are text maps in src/levels.js, so you can edit them.

Explosive chain reactions
Bounce into explosive cores and they blow up their neighbours, setting off chain reactions through the crystals. The number on each crystal shows its remaining hit points.

Unleash the Pulse power-up
From level 7, the Pulse turns the first ball of a volley into a 3×3 area blast. Time it right and break through.

Stars, ball styles and personal bests
Earn up to three stars per level, 150 in total, beat your best score on every level and unlock five more ball styles with the stars you collect, for six in all.

14 interface languages
Menus, interface and level tips come in English, Portuguese, Spanish, French, German, Italian, Dutch, Polish, Turkish, Russian, Indonesian, Japanese, Korean and Chinese. The game opens in the player's browser language when supported, and the choice is remembered. The narrator speaks English, Portuguese and Spanish; the other languages use the English voice.

Touch, mouse and keyboard
Drag to aim and release to fire, or aim with the keyboard. A 2× speed option keeps volleys moving, and progress is saved on the player's device.

Upload, configure and play: optional leaderboard and ads
Upload the contents of the game folder to a static web host and start playing. Personal bests and progress are stored on the player's device by default.
- An optional PHP leaderboard is turned on in ricopop.config.js. It needs PHP 7.4+ and a writable folder, and keeps scores in a file, not a database. Scores are sent by the browser, so it is a casual leaderboard, not a server-verified ranking.
- Ads are off by default. Optional Google AdSense, custom-adapter and demo settings are documented; live ads need your own eligible account.
What you receive
The complete HTML5 game with editable JavaScript, HTML, CSS and bundled assets, the optional PHP leaderboard and ad configuration, English and Portuguese documentation with a visual guide, and optional developer tools: a local server, a level checker and tests.
Who this template is for
Site and portal owners who want a finished ricochet game to publish, freelancers and studios preparing a branded casual game for one client, and developers who want to learn from plain, readable JavaScript modules.
Customise it
There is no build step: edit a file, upload it and refresh. The levels, the balls per volley, ball speed and scoring, the texts in 14 languages and the ball styles each live in their own file under src/. ricopop.config.js controls ads, the leaderboard, the "Tap to start" screen and the full-screen button. Music and effects are MP3 files you can swap, and the narrator can be removed.
Technical details at a glance
- Stack: vanilla JavaScript with ES modules, Canvas 2D and optional WebGL glow effects; the files are HTML, CSS, JavaScript, JSON and PHP.
- Runs from any static HTTP or HTTPS host (not from file://), with no Node.js, build step, database or account. It needs an internet connection to load and is not an offline app.
- PHP 7.4+ and a writable folder only for the leaderboard; Node.js 20+ only for the developer tools.
- Not included: native Android or iOS builds and store publication, online multiplayer or a server-verified ranking, 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.










