DEFENDER of the favicon16x16 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.

Press N to start a game or shoot, and WASD or the arrow keys to move your Defender over the humanoid city. If your browser struggles to update the favicon, press enter to toggle between favicon & canvas display.

Behind the scene

DEFENDER of the favicon was done in 3 nights, from start to finish. 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 window 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.

Browser support : the great, the good, the bad & the ugly

Obviously since this little game makes use of established and working draft web standards, all browsers are not equal. Here is a list of how well the main browsers are able to defend the humanoids.

What about some karma retribution ?

You know you want to Digg, Reddit, Twitt(url)y, Pouet this.

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.