Winning 1kb intro released at Assembly 2015
p01.org
p01.org
function u() { requestAnimationFrame(u);
for (g = p ? B.currentTime * 60 : (B = 'RIFFdataWAVEfmt ' + atob('EAAAAAEAAQAAeAAAAHgAAAEACAA') + 'data', b.style.background = 'radial-gradient(circle,#345,#000)', b.style.position = 'fixed', b.style.height = b.style.width = '100%', b.height = 720, h = b.style.left = b.style.top = A = f = C = 0, 6177); g > f; h *= f % 1 ? 1 : .995)
for (s = Math.pow(Math.min(f / 5457, 1), 87) + Math.pow(1 - Math.min(f / 5457, 1), 8), f == [b.width = 1280, 1599, 2175, 2469, 2777, 3183, 3369, 3995, 4199, 4470, 4777, 5120][C] && (C++, h = 640), f += p ? (c.translate(640, 360 + h / 45 * Math.random()), c.rotate(A / 5457 - h / 5457), c.scale(1 + s * 8, 1 + s * 8), 1) : (B += T((1 + s * 8) * Math.random() + (1 - s) * (h / 45 * (f * (2 + C / 3 % 1) & 1) + (C > 3) * 8 * (f * (2 + (f / 8 & 3)) % 1)) | 1), 1 / 512), i = p.length; i;) y = p[i -= 7], x = p[i ^= 1], r = p[i + 4], l = p[i + 6], s = 2 * Math.random() + 1, t = s * 4, a = 122, 640 > r ? (640 > Math.abs(p[i ^= 1] += p[i + 2]) || (p[i + 2] *= -1), 640 > Math.abs(p[i ^= 1] += p[i + 2]) || (p[i + 2] *= -1), t = Math.random() > p[i + 7] || p[i + 7] == '22312131212313' [C] & h == 640, w = x - A, p[i + 2] || r * r / 3 > w * w && (t = s * (r - Math.abs(w)) / 45 + 2, a = 2 * Math.random() + 5, p.push(A, 0, s * Math.sin(a += 599), s * Math.sin(a - 11), s * t, C + s, 640, .995), s = 2 * Math.random() + 1, a = 2 * Math.random() + 5, p.push(A, 0, s * Math.sin(a += 599), s * Math.sin(a - 11), s * t, C + s, 640, .995), s = 2 * Math.random() + 1, a = 2 * Math.random() + 2, p.push(A, 0, s * Math.sin(a += 599), s * Math.sin(a - 11), s * t, C + s, 640, .995)), a = p[i + 2] * y / 45, l = p[i + 6] = t ? 640 : .9 * l, t = r) : A = p[i] ++, g > f || (s = r, c.beginPath(), c.lineTo(x + s * Math.sin(a += 599), y - s * Math.sin(a - 11)), s = t, c.lineTo(x + s * Math.sin(a += 599), y - s * Math.sin(a - 11)), c.lineTo(x + s * Math.sin(a += 599), y - s * Math.sin(a - 11)), c.shadowBlur = r, s = l, x = s * 2, a = p[i + 5], c.shadowColor = c.fillStyle = 'rgb(' + [x + s * Math.sin(a += 599) | 1, x + s * Math.sin(a += 599) | 1, x + s * Math.sin(a += 599) | 1] + ')', c.fill());
p ? c.fillText('BLCK4777', 90, 99) : (B = new Audio('data:Audio/WAV;base64,' + btoa(B))).play(p = [f = C = 0, 0, 0, 0, 180, 2, 0, 1, -360, 0, 0, 0, 99, 1, 0, 2, 360, 0, 0, 0, 99, 1, 0, 3, -2880, 0, 0, 0, 1280, 0, 1280, 0])
};Not sure what you mean by RemoteJS though. You aren't allowed to load more JS code from the web.
This is a one-off deterministic demo, without inputs or networking.
Still, a 1k demo like this is impressive. And 18000 classes is too much for a messenger. But you can't compare them.
Your argument fits better to a machine like the C64, where demos are really going directly to the hardware and the OS is basically inactive.
http://archive.assembly.org/2015/4k-intro/hydrokinetics-by-p...
A lot of the stuff looks almost trivial compared to what we do today. (And unfortunately a lot of these won't work anymore)
http://www.ha.art.pl/czasopismo/numery-czasopisma/4054-ha-ar...
http://iquilezles.org/www/material/function2009/function2009...
(and insiders wouldn't call it a demo but an intro because it's small, and obviously the word "intro" signals something about file size)
Tricks like this can help show how less than a gig of data is enough to encode an operating system. Or a person.
[1] http://www.infoq.com/presentations/We-Really-Dont-Know-How-T...
The problem is that that's not true anymore either. Many intros are equally "long full effort" as your average demo. Intro simply means "demo with a size limit", these days (and by "these days" i mean "the last 15 years")
From http://tomaes.32x.de/text/faq.php:
A wild demo can be pretty much everything. Some possibilities:
- It's any kind of film, usually available as divx/avi file
(music videos, shorts, comedies, trash, prerendered animations...)
- It's a demo that requires very rare/strange hardware to run
(c64 with SCPUs, for example)
- It's a demo that simply does not fit in any other competition (and the
applying rules) of a given demoparty.
- Sometimes, live performances count as 'wild' demos too. ;)
However, in most cases, it IS a short movie (clip), either tradionally filmed
or CG/animated.https://www.youtube.com/watch?v=KTjnt_WSJu8
Nowadays megademos might be put into the wild demo compo, but from what i know parties put length restrictions on those as well. The primary purpose of wild demo compos however is to allow platforms that do not compare well with the classic demo platforms, such as the various ARM mini computers, game consoles or really old computers.
http://www.pouet.net/prod.php?which=1331 http://www.pouet.net/prod.php?which=3119 http://www.pouet.net/prod.php?which=3242 http://www.pouet.net/prod.php?which=3972
Arbitrary limitations, art, it is all very subjective in the end.
https://www.edx.org/course/computer-graphics-uc-san-diegox-c...