Complements

Saved games stay in this browser only.

About the game

A heap of coloured gems lies in a box, and a launcher at the top fires more into it. The twist is that colours do not clear with their own kind. A gem breaks when it touches its complement, the colour opposite it on the colour wheel: red and green, orange and blue, yellow and purple, black and white. Clear gems, a special kind, take on the colour of whatever they touch.

You hold the button to make the gem you are about to fire grow, then release it. The gems are simulated with physics, so they roll, pile up and fall into new contacts when something breaks beneath them, and you can shake the pile to loosen it. Clear the box to win. If the pile stays above the line near the launcher for too long, you lose. Four difficulty levels set how many gems you start with, from 20 to 80, and the game keeps your best time for each.

Playing it here

Click Play, choose a difficulty, then aim with the mouse, hold the button to grow the gem and release to shoot it at a gem of the complementary colour.

Controls

Input Action
Mouse aim
Hold and release grow and fire the gem
Right click / Up shake the pile
Escape pause

A few things worth knowing

Learn the pairs. Red-green, orange-blue, yellow-purple, black-white.

Use clear gems. They turn into the colour you need.

Start on Easy. The higher levels start with a much bigger pile.

Credits and licence

Complements is one of the games in LittleJS Arcade, a collection by Frank Force built on his open-source LittleJS engine and released under the MIT licence. The pictures are drawn in code and the sounds are synthesised, so the game has no image or audio files. The author's repository includes AI-assistant guidance files, so the collection was written with the help of AI tools. The licence text is linked from this page and the source code is on GitHub.