1037 words ~ 5-10 minsMathieu 'p01' Henri on July 15th, 2008


The brilliant arcade game Defender now playable inside the favicon of your browser! The idea was to push the concept of generated favicons far and beyond and pack a thrilling retro shooter in 16×16 pixels.

16x16 pixels of thrilling retro shooter action in your favicon.

DEFENDER of the what ?

DEFENDER of the favicon is a JavaScript remake of Eugene Jarvis' brilliant arcade game Defender written by Mathieu 'p01' Henri and inspired by Scott Schiller's experiment with generated favicons VU meter.

The idea was to push the concept of generated favicons further and pack a thrilling retro shooter in 16×16 pixels using JavaScript, canvas and data: URIs.

Gameplay & Controls

The menace come from above! Protect the humanoid population from the waves of aliens coming to abduct them. Thankfully the shield of your Defender can take a few hit.


Behind the scene

DEFENDER of the favicon was done in 3 nights, from start to finish, in the summer 2008. Each frame of the game is generated on the fly in JavaScript into a 16×16 canvas element, then converted to a 32bits PNG image and used in place of the favicon.

The core of the game act as a state machine. Notice a few details such as the pause when this tab is not focused, and the resuming and game over transitions.

The game logic isn't really complex but remains true to the original Defender and provides enough action for 16×16 pixels.

The original game mechanics would make Defender of the favicon insanely difficult. Therefore a few adjustments were done : none of the enemies fire at you, your Defender got upgraded with a shield, and finally the Landers do not mutate into unstoppable war machines after abducting a humanoid but wander in your general direction.


The feedback to Defender of the favicon has been overwhelming. It was all over the place: Boing Boing, Laughing Squid, Digg, Reddit, Kotaku, Youtube, Ajaxian, IDEAxIDEA, ... And it is the highest rated original JavaScript production on Pouet.

Last words before blasting off

I tried to stay away from my usual size optimizations experiments, but I guess this little game still falls in that category. One day I will make something BIG. One day.