JS1k, 1k Javascript demo contest

category: code [glöplog]
^ 663,2 kilobytes of gif, pfeh :)
Who just sent demoschocks to japanese brains?

added on the 2013-04-02 10:31:05 by __ __
" Kool demoshock from Japanese brain "

That was exactly the idea :D
added on the 2013-04-02 14:58:14 by p01 p01
I never had been able to remember punchlines :(
Except the one about jazz musicians, obviously.
added on the 2013-04-02 18:11:39 by __ __
Results are available: http://js1k.com/2013-spring/
added on the 2013-05-05 21:29:25 by texel texel
Congrats p01!
added on the 2013-05-05 21:29:33 by texel texel
Well, congrats to you Sir. You kicked my ass, again :p
added on the 2013-05-05 22:00:41 by p01 p01
romancortes: you crazy man :)
added on the 2018-03-01 07:32:20 by psenough psenough
@romancortes: absolutely amazing!
added on the 2018-03-01 07:54:51 by Sander Sander
added on the 2018-03-04 03:54:57 by Salinga Salinga
Good read. As for hill climbing part, as far as I understand, you are changing evaluation function at every step so that your search space will have different local minima. And this will increase the chance of skipping over them. It does sound like a really cool trick that may even have other applications.
I'm not a "certified expert" in this field, but I have looked around to find if this method is known already.
AFAIK classical optimization problem (or mathematical optimization) assumes that your objective function is given. Therefore, what you are doing here is not really classically defined optimization problem. In your case you have given set of objective functions f_1(x), f_2(x), ..., f_n(x) that as you said share global minimum (i.e. when two images are identical), so you don't really care which one you optimize. At the end, you are kind of using the fact that you know more about the problem. In this sense it seems to be close to graduated optimization, but yeah, not quite. Well, for what it is worth, maybe at least it will help you with your further search.
added on the 2018-03-06 23:49:33 by tomkh tomkh
Oh man, you read until there! Thanks! :D
cool writeup :)
added on the 2018-03-07 01:03:57 by psenough psenough
@romancortes: awesome! top3 entry in my opinion. Would dislike to have to decide between this, p01 and Black Rock City ;)
added on the 2018-03-07 13:44:48 by HellMood HellMood
THEY COME AT DUSK 👺 lost hour edition
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.

This year I submitted another game. Unfortunately I didn't check the timezone of the deadline ( this year was in GMT while the 7 previous years were in CET ), I submitted 1 hour early without sound as my entry was 21 bytes over the limit :p The next day I realized my mistake and spent the "lost hour" fixing the game so I could show how it was meant to be: With sound in 1024 bytes.

Hope you like it 🤞

Nerfertiti 1k is the most interesting JS1k 2018 entry for me: It nails the visual and technical aspect like no others. Well done!
added on the 2018-03-07 21:58:04 by p01 p01
p01, have you seen how it looks from a Mac? I can take a screenshot if you want
BB Image

It looks like this. The bilinear interpolation that is visible is like that, is it supposed to be like that?
Hey, it looks pretty neat :)

There is some bilerp due to the low resolution: The emojis are baked into 128x128 sprites for perf reasons. The framerate goes to sh*t in Firefox when you do more than 50-100 canvas.fillText() perf frame.
added on the 2018-03-08 10:07:05 by p01 p01
Would have been possible to use CSS 3d for this? Did you try?
I tried CSS3D before, for MINAMI DISTRICT. In my experience, and from the CSS3D tech demos I've seen, the browsers can only handle ~200 elements at a descent framerate before reaching abysmal perf, and there are slight bugs in the different browsers' implementation of CSS3D :\

THEY COME AT DUSK counts 1024 elements, some debug output of the culling showed 200-400 elements were rendered per frame.

However, now that you say it, I should try plain old CSS sprites.
added on the 2018-03-09 10:58:30 by p01 p01