Mandelbrot
rotozoom
Many people did fractals renderers in Javasript in 256 bytes, but no one ever made one that zooms and rotate... until today.
Source code
<pre id=B><script>setInterval("for(d='p01?*?:,~.????',C=Math.cos(n-=88),S=Math.sin(n),Y=m=1+C,z=2048;z;Y-=m/16)for(d+='<br>',X=m;--z&63;X-=m/32,d+=d.charAt(k))for(r=i=k=0;++k+r*r+i*i<13;i=t)t=2*r*i-X*C+Y*S,r=r*r-i*i-X*S-Y*C+C-1;B.innerHTML=d",n=9)</script>
Exactly 256 bytes.
And here is a slightly beautified version of the render loop
for(d='p01?*?:,~.????',C=Math.cos(n-=88),S=Math.sin(n),Y=m=1+C,z=2048;z;Y-=m/16)
for(d+='<br>',X=m;--z&63;X-=m/32,d+=d.charAt(k))
for(r=i=k=0;++k+r*r+i*i<13;i=t)
t=2*r*i-X*C+Y*S,
r=r*r-i*i-X*S-Y*C+C-1;
B.innerHTML=d
Not much magic going here. It is rather straight forward implementation of a Mandelbrot fractal renderer with zoom and rotation of the viewport.
Many bytes were wasted to make sure this effect works cross browser.
The one trick I like here and reused many times was to have one line with some kind credits that also serves as a look up table to render the frames.
Feedback
You can find mandelbrot rotozoom on Pouet.net were it was well received after all. However it was my first tiny prod in JavaScript since the 256b.htm contest, and I had a hard time to please every one. On the other hand I learnt some valuable lessons.
Other recent projects
There are many experiments and projects like MANDELBROT
ROTOZOOM to discover other here.
EXPI
EXPI lives in the Brotli dictionary. RIP JPEG encoder. RIP Compo stream.
M22
M22: DEMO-lishing 1kb competition since 2012 using Javascript and the web platform
đââïž 1KB QUINE
FLUID SIMULATION
Homage to the Fluid Simulation by Yusuke Endoh for IOCCC 2012, in 1kb of HTML, CSS and Javascript quine, code-golfed by Xem , Aemkei, RReverser and Irratix and myself
MUSIC FOR TINY AIRPORTS
AT WEB AUDIO CONFERENCE
The Web Audio Conference 2018, held in September 19-21 in Berlin was a great mix of researchers, web developers, artists and performers presenting their projects. I had the chance to provide a deep dive into music for tiny airports, explaining how to generate hours and hours of music in a handful of bytes.
THEY COME
AT DUSK đș
A survival horror game for JS1k 2018, where you run away from dead miners as you hear your heart beat. Turn around using the arrow keys until all you hear is beeeeeeeep.
DEMO REEL AND
TINY JAVASCRIPT
AT FRONT TRENDS
I had the pleasure to speak about creating bite sized audio-visual demos, and LIVE code one at Front Trends 2016 in Warsaw, Poland.
HYPERSONIC
MANDELBULB
A hasty invalid JS1k entry using webGL+Audio. Possibly the first one.
ASAHIKAWA
Flyby the city of Asahikawa in 64 bytes.
TERRA
A voxel landscape rendered using a plasma in a valid 480bytes Atari bootsector. TERRA ranked #2 at Outline 2006
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.