JSpongy by ribbon [web]
screenshot added by p01 on 2009-10-23 19:33:01
platform :
type :
release date : october 2009
related :
  • rulez 85
  • is ok 12
  • sucks 0
popularity : 1%
  • rulez 0.88
alltime top: #575
added on the 2009-10-23 19:33:01 by p01 p01

popularity helper

increase the popularity of this prod by spreading this URL:


Works best in Chrome 3+ & Firefox 3.5+

Respect to Mentor.
added on the 2009-10-23 19:34:15 by p01 p01
rulezadded on the 2009-10-23 19:41:54 by Shazz^TRSi^MJJ Shazz^TRSi^MJJ
rulezadded on the 2009-10-23 19:44:24 by mad mad
rulezadded on the 2009-10-23 19:48:57 by Gargaj Gargaj
rulezadded on the 2009-10-23 19:51:18 by StingRay StingRay
Une merveille de snippet en java script!
rulezadded on the 2009-10-23 19:59:55 by Buckethead Buckethead
I never understood the fascination with javascript as a demoplatform, but this literally made me LOL :)

Also, i'm sure someone can do a faster and smaller version on amiga :)
rulezadded on the 2009-10-23 20:04:16 by mentor mentor
rulezadded on the 2009-10-23 20:13:16 by havoc havoc
Someone make a Sparta-comment, because this is truly madness. :)
rulezadded on the 2009-10-23 20:14:52 by gloom gloom
rulezadded on the 2009-10-23 20:18:27 by Pirx Pirx
pléthaure zbob !
rulezadded on the 2009-10-23 20:23:18 by XT95 XT95
rulezadded on the 2009-10-23 20:23:56 by wullon wullon
madness !
rulezadded on the 2009-10-23 20:50:59 by ɧคɾɗվ. ɧคɾɗվ.
poï <3.
rulezadded on the 2009-10-23 20:56:31 by iks iks
Wiz Bang!
rulezadded on the 2009-10-23 21:01:16 by Intrinsic Intrinsic
JS domination
rulezadded on the 2009-10-23 21:03:01 by Weyland Yutani Weyland Yutani
rulezadded on the 2009-10-23 21:05:18 by Sir Sir
sorry, but what's the point in converting an existing 128b intro into a 512b javascript intro (apart from the learning experience, but then you don't release it)?
added on the 2009-10-23 21:06:57 by blala blala
mega! (even if i don't know what javascript is :)
rulezadded on the 2009-10-23 21:09:47 by elfh elfh
This really is great work. Thanks.
rulezadded on the 2009-10-23 21:15:28 by Shockwave Shockwave
blala: are you aware that we are not talking about a simple copy-paste but an actual re-coding of the entire thing using differnet techniques. not to mention the concept of size-coding in JS is not the same thing as size-coding via opcodes.

I think this is a major achievement. Amazingly smooth on my system too <3.
rulezadded on the 2009-10-23 21:15:29 by decipher decipher
rulezadded on the 2009-10-23 21:26:34 by Optimus Optimus
what blala said + thumb
rulezadded on the 2009-10-23 21:31:18 by toxie toxie
rulezadded on the 2009-10-23 21:34:42 by doomdoom doomdoom
Well done!
rulezadded on the 2009-10-23 21:35:04 by Zplex Zplex
rulezadded on the 2009-10-23 21:40:58 by keops keops
rulezadded on the 2009-10-23 21:41:03 by nekomono nekomono
SCHEISSE in a positive sense!!!
rulezadded on the 2009-10-23 21:53:08 by chromag chromag
You nutter :)
rulezadded on the 2009-10-23 21:56:43 by すすれ すすれ
rulezadded on the 2009-10-23 21:56:45 by src src
Scheiss die Wand an!
rulezadded on the 2009-10-23 22:04:25 by Salinga Salinga
What the hell
rulezadded on the 2009-10-23 22:30:31 by Saga Musix Saga Musix
Full respect! And what Decipher said :)
rulezadded on the 2009-10-23 22:42:27 by Alpha C Alpha C
rulezadded on the 2009-10-23 22:42:58 by MsK` MsK`
are you aware that we are not talking about a simple copy-paste but an actual re-coding of the entire thing using differnet techniques.
yeah, i'm aware that x86 asm is not javascript (even though i didn't write more than a line of javascript in my life, that's maybe balanced by the few hundred thousands lines of x86 asm...). but it's not like there are a large number of extremely complex algorithms in a raymarching 128 byte intro, which you have to invent heavy "new techniques" for...
I think this is a major achievement.
i don't.
Amazingly smooth on my system too <3.
that only means that you have an amazingly fast system.

i find it ironic and sad that this simple javascript conversion has more thumbs, already on the first day, than most of the demos with weeks (or even more) of hard work in them...
added on the 2009-10-23 23:13:56 by blala blala
rulezadded on the 2009-10-23 23:14:26 by panic panic
Runs like shit here. Firefox 3.5.3.

(0.2 fps)
Wait. It seems to only update when I move the mouse.
not working here. (opera)

screenshot vote. :)
rulezadded on the 2009-10-23 23:28:33 by ԹHΞΞ ԹHΞΞ
rulezadded on the 2009-10-23 23:31:22 by xteraco xteraco
Respect at full power!

The reply to all those who think that 3D gfx cannot be rendered and through web browsers.
rulezadded on the 2009-10-23 23:33:51 by Defiance Defiance
.....rendered and applied through web browsers.
added on the 2009-10-23 23:37:32 by Defiance Defiance
rulezadded on the 2009-10-23 23:46:48 by sigflup sigflup
rulezadded on the 2009-10-23 23:50:53 by Joghurt Joghurt
btw. works in ff. very nice one!
added on the 2009-10-23 23:51:06 by ԹHΞΞ ԹHΞΞ
rulezadded on the 2009-10-23 23:59:51 by v3nom v3nom
pfft :P funny
added on the 2009-10-24 00:16:45 by ferris ferris
i'm gonna have to agree with blabla that this is *not* a major achievement at all; then again i'm pretty sure that's not the author's opinion nor intention either

but hell it's a cool gesture and JS ftw! :)
rulezadded on the 2009-10-24 01:18:51 by superplek superplek
i meant blala.. something with habits.
added on the 2009-10-24 01:19:14 by superplek superplek
uglier, slower and 4x bigger code than the original, at least it's online
added on the 2009-10-24 01:30:57 by Confused Confused
rulezadded on the 2009-10-24 02:52:40 by BoyC BoyC
p01, js master :) thumbs up!
rulezadded on the 2009-10-24 03:04:05 by Skate Skate
uh? no!
Thanks everyone! Especially Mentor :)

Well, even though it may not be obvious to eveyrone, along the size optimizations, there are a couple of speed optimizations in JSpongy and these did not come out of the blue. The whole thing took some efforts and thinking to figure out ways to get a reasonable speed and retain a small footprint and large-ish feature set ( rotation around multiple axis, overall styling, cross browser compatibility, numerical precision, ... ).

About the size itself, you have to remember that JavaScript is a scripting language. The form sent to and used by the user agents is the source code. Not native compiled code like x86 opcodes. So iin terms of size alone, JSpongy and Spongy are like apples and pears: uncompiled (super) high level code vs compiled low level code.

The "release" version of JSpongy is wasting many bytes in CSS and overall styling, The raymarching algorithm itself isn't that complex. The smallest size I reached so far for the intro was around 310 bytes by scarifying a lot on the styling and camera target. Had someone managed to cram a similar raymarcher in 256 bytes of JavaScript, or less, I would definitely give my hat off.

added on the 2009-10-24 04:04:33 by p01 p01
video plz
added on the 2009-10-24 05:19:16 by fyrex fyrex
rulezadded on the 2009-10-24 06:24:38 by diver diver
rulezadded on the 2009-10-24 06:56:53 by Grimmy Grimmy
This is just fucking cool.
rulezadded on the 2009-10-24 09:46:12 by aizen aizen
rulezadded on the 2009-10-24 11:17:10 by stijn stijn
p01: if you ever have the time, i'm quite interested in what those optimizations/hurdles are (in form of a small doc/page)
added on the 2009-10-24 11:45:39 by superplek superplek
nice challenge and funny to see mentor's work jscriptisized
rulezadded on the 2009-10-24 12:25:55 by xoofx xoofx
blala: My amazing system is a MacBook Pro. But hey, thanks though now I can be that Macfag and say "of course it is an amazing system, it's a Mac.", no really I hate those guys.
added on the 2009-10-24 13:25:04 by decipher decipher
and oh using Firefox 3.5.3
added on the 2009-10-24 13:25:26 by decipher decipher
woot nice
safari 4.03 is definitely not up to the task :)
blala may be pissed, but so am i aswell, as his point has a point !
doesnt belong here tho, blala ;) ( <3 u ;) )
The Rrrola of Javascript made it one more time.
rulezadded on the 2009-10-24 14:10:32 by stage7 stage7
rulezadded on the 2009-10-24 14:28:03 by Ger Ger
no way... o_O
rulezadded on the 2009-10-24 14:36:12 by neptun neptun
jeaah =)
rulezadded on the 2009-10-24 14:53:06 by relias abardon relias abardon
Great!!! In the Google Chrome this work very fast
rulezadded on the 2009-10-24 15:01:08 by BiTL BiTL
Good stuff.
rulezadded on the 2009-10-24 15:13:00 by raina raina
interestingly enough, this was a lot faster once i remembered to pause the dvd ripping process i had going on :)
rulezadded on the 2009-10-24 15:22:09 by ricky martin ricky martin
omg ! stargazer in JS \o/
rulezadded on the 2009-10-24 15:53:32 by faraday faraday
Good job!
rulezadded on the 2009-10-24 17:45:29 by galen galen
Works in OWB on OS4.1 ;-)
rulezadded on the 2009-10-24 18:51:53 by xeron xeron
fakking ossom, just damn slow :D
rulezadded on the 2009-10-24 22:14:42 by -SP- -SP-

puts my jsplasma to shame :P
rulezadded on the 2009-10-25 02:10:46 by rbagel rbagel
rulezadded on the 2009-10-25 10:13:37 by nula nula
slow, but really impressive
rulezadded on the 2009-10-25 11:49:51 by zefyros zefyros
rulezadded on the 2009-10-25 15:42:16 by Maali Maali
what zefyros said
rulezadded on the 2009-10-25 16:49:56 by untel untel
Crazy shit. But too damn slow. :/ (although, pressing '-' a couple of times, does improve the framerate a bit ;) )
added on the 2009-10-25 18:37:55 by tomaes tomaes
o_O slow ?

I get 15 to 30 fps in Chrome 4 on my 2yo Core duo 2 @ 2.0 Ghz laptop with a rusty integrated Intel GMA 950
added on the 2009-10-26 08:48:40 by p01 p01
Ooh yeah. Runs pretty good too, on safari/osx here.
rulezadded on the 2009-10-26 12:10:36 by psonice psonice
Nice! :)
rulezadded on the 2009-10-26 13:22:14 by PauloFalcao PauloFalcao
perhaps this should be somehow linked via pouet to the original?
poi: Yes, slow. 2 fps at most in Opera 10. Not amazing, but decent CPU. I don't see what the GPU has to do with this as it's not WebGL related? :)
added on the 2009-10-26 13:42:55 by tomaes tomaes
tomaes: I know it's dog slow in Opera 10. That's why I recommended Chrome 3+ & Firefox 3.5+ although my default browser is Opera.

FWIW, using an internal build of Opera I got a framerate pretty similar to what I get in Chrome.
added on the 2009-10-26 14:03:55 by p01 p01
yeh, javascript-engine of Opera very slow, use Chrome for this intro ;)
added on the 2009-11-03 04:34:27 by BiTL BiTL
rulezadded on the 2009-11-05 13:21:42 by gopher gopher
rulezadded on the 2009-11-08 21:24:38 by Cosmocat Cosmocat
In Chrome it works good enough... but this doesn't make a good promotion for Opera :P
rulezadded on the 2009-11-11 14:10:03 by texel texel
Tell me about it :p

And Carakan, Opera's new JS engine with JIT and co. , will certainly wait for the next major release. :\
added on the 2009-11-11 16:21:58 by p01 p01
Hm... JavaScript got kinda boring with the rise of <canvas>
added on the 2009-11-11 20:39:48 by T$ T$
really fast, bold and stylish (for js=)
rulezadded on the 2009-11-13 22:44:45 by kael kael
Slow on my IceWeasel (aka Debian's Firefox v3) and didn't work in Mozilla's SeaMonkey v1.1.18, Firefox v2.0.0.20, and Internet Explorer v6.0 SP3. :(
added on the 2009-11-14 09:51:33 by AntDude AntDude
JIT ( and TraceMonkey ) only made it's way in FireFox in the version 3.1.

And CanvasImageData is quite recent too.
added on the 2009-11-14 13:48:40 by p01 p01
i follow your releases since some time now..
i love your work.
anyways... your 3d thomb 2 appears to be offline on your homepage :(
rulezadded on the 2009-11-14 14:51:16 by GottZ GottZ
Slow on my IceWeasel (aka Debian's Firefox v3) and didn't work in Mozilla's SeaMonkey v1.1.18, Firefox v2.0.0.20, and Internet Explorer v6.0 SP3. :(

then do some research about <canvas>
thinking that this could run in IE is kinda INSANE.
i beliefe microsoft will put <canvas> into the IE at around 2014
added on the 2009-11-14 15:28:59 by GottZ GottZ
Very nice.
rulezadded on the 2009-11-20 22:40:08 by cxnull cxnull
wow. this is REALLY SLOW on firefox and REALLY FAST on chrome. hat off to the v8 engine.

btw, did i mention i once saw the v8 guys in person? it was when i worked for google.

thay all wore shirts with "V8" printed on them in gigantic size. there's some team & product identification for you!

unfortunately, much of the rest of google is not nearly as cool as that team. :[
added on the 2010-03-19 23:31:02 by vibrator vibrator
Pheewww! Got this puppy under 300 bytes. Actually the "hardcore" version of JSpongy stands at 297 bytes at the moment.

Slowly the 256 bytes bar seems more reachable for ray tracing/marching effects in JS.
added on the 2010-04-23 20:32:38 by p01 p01
rulezadded on the 2010-04-24 16:37:37 by rudi rudi
Awesome, runs fine on my Firefox 3.6.6
rulezadded on the 2010-06-30 12:32:07 by _0x3a ^DESiRE _0x3a ^DESiRE
Fantastic stuff ... !!!
rulezadded on the 2010-06-30 12:50:16 by slippy slippy
What rudi said.
rulezadded on the 2010-11-13 22:52:44 by mog mog
rulezadded on the 2011-02-27 11:23:03 by las las
rulezadded on the 2011-05-15 13:14:46 by johnl johnl
works especially fast on teh MacBook Air.

and it's not only technically mindblowing but also really beautifull to see! the magic of mathematics :)
rulezadded on the 2011-05-17 01:23:34 by rez rez
Oh yeah.
rulezadded on the 2011-08-08 14:14:10 by closed closed
Still really slow under FF.
rulezadded on the 2011-08-08 14:17:54 by sim sim
Chuck Norris might approuve that
rulezadded on the 2011-11-27 21:12:28 by Boudah Boudah
rulezadded on the 2012-03-19 01:24:23 by nosfe nosfe
runs superbly smooth in FF! :]
rulezadded on the 2012-07-06 12:00:00 by ewerybody ewerybody
uuuuuuuuuuuuuuuuuuuuuuuuuh la la!
rulezadded on the 2015-03-13 23:27:21 by sensenstahl sensenstahl

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment