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.
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.
Controls
- N to shoot or start a game
- WASD or the arrow keys to move your Defender over the humanoid city
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.
Feedback
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.
Other recent experiments
There are many experiments and projects like DEFENDER OF THE FAVICON to discover other here.
MONOSPACE MONOSPACE: Flip dots with feelings, a JavaScript demo in 1021 bytes, winner of the 1024 bytes demo competition at Assembly 2020.
👩🌾 256B MUSIC VIDEO Music video with Speech synthesis, Web Audio music and animated visuals about a woman farmer in 255 bytes of HTML+Javascript
TETRIS ▙ TETRIS themed music and visuals in 252 bytes of HTML+Javascript
OUTER_M2 OUTER_M2: EXPLODING NEUTRINOS, a smashing JavaScript demo for the 1024 bytes demo competition at the Assembly 2019.
ASTRA ASTRA is a JavaScript odyssey in 1002 bytes for Assembly 2016
DRAGON PUNCH An itsy bitsy Dragon curve renderer in 121 bytes.
JS1K SPEECH SYNTHESIZER Sorry but I didn't have the time nor felt like doing heavy 3D, FPS game, particle systems, flying hearts and flowers for JS1K#4. This time, Audio was ON and several entries featured a melody and other simple sound effects, so I had to make a Speech Synthesizer in 1K of JavaScript.
MANDELBROT TRACER Possibly the smallest Mandelbrot tracer ever in JavaScript: 101 bytes
TUNNEX Ascii art tunnel + Scroll text: The first multi-effect 256b production in JavaScript
Let's talk
Don't be shy; get in touch by mail, twitter, github, linkedin or pouet if you have any questions, feedback, speaking, workshop or performance opportunity.