わずか4000バイト(4000文字)で作られた3分35秒の映像プログラム
スポンサード リンク
すごいとしか言い用がない。無性に紹介したくなった。
既に多くの方が知っている事は、なるべく紹介しないというのがスタンスなんだけども、今回ばかりはただただ紹介したい。
『プログラミング大会』というよりもMega Demo Partyだったらしいけど、そもそもメガデモを説明するのが面倒なのでプログラミング大会としておきましょう。
わずか4キロバイトのプログラムで作成された音と映像がYouTubeでアップされ、話題を読んでいる。動画が以下です。
音と映像全て合わせて4キロバイト
YouTube - Elevated by RGBA and TBC
いやすごい。
正直鳥肌たった。いや泣いた。
4キロバイトは、4000バイト。(1キロバイト1024と計算する場合もある)
単位が良くわかんないよって人もいるかもしれませんが、全角で『あ』とうてば2バイト。半角なら1バイト。
デジカメで小さめに写真撮ったら100,000バイト。
映像や音楽はもっと高くなるわけで、それをプログラムで上のような映像を作り上げ、より軽い物になるように色々コードを改良するわけです。
とりあえず筆者。大会自体詳しくわかってはいないのでアレですが、もしもこの集まりがメガデモパーティならば、半角英数字1文字が1バイトなので、たった、4000文字で、上の映像と音を作ったということになります。
コードをループさせたり進めたり、同じ部分でもいろんなところで使ったりするわけですが、まぁ、、、いいや。
ちなみに古くからメガデモは色々とありますが、2007年に登場した177キロバイトの映像が衝撃的だったのを覚えている。
興味のある人は以下。
YouTube - FR-041: Debris by Farbrausch
こういうメガデモを見るといつも思い出すのはテトリスとスーパーマリオ。
ファミコンで発売されたスーパーマリオが実はたった40キロバイトで出来ていたと始めて聞いたときには衝撃的だったし、2chでテトリスのコードを短くするための熱いスレで誕生した565バイトのテトリスコードも衝撃的だった。
これをメモ帳とかに貼り付ければテトリスが開始される。<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t %7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;) Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X [i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
当時のスレ
とりあえずあまりにも感動したので記事に。それだけです。
優勝作品以外にも4k部門では色々あったりする。
Sult by Loonies(mp4ビデオダウンロード可能)
Lightshaft by Elude(mp4ビデオダウンロード可能)
複合demo
YouTube - kkapture: ASD - Rupture (The Gathering 2009) [HD]
一番上で紹介した動画の実行ファイルはこちら。
elevated by Rgba & TBC
4kバイトだからといって、ダウンロードは軽いけど、実行するのが軽いわけではない。
そこに書かれているさまざまなコードがCPUをガンガン使いながら映像と音を作り上げていくため、起動には、それなりに時間はかかりますのでご注意ください。
それでは、また。
おまけ
どうしてプログラマに・・・プログラムが書けないのか?
古い話ですがプログラマへの第一歩として。
今回の動画のネタ元
ドイツのプログラミング大会の優勝作品
スポンサード リンク
この記事を見た人は以下も見てます
この記事にトラックバックする人はクリック
トラックバックURL
http://e0166.blog89.fc2.com/tb.php/629-7ed5c7fe
この記事にトラックバックする(FC2ブログユーザー)
トラックバック受信一覧
ディスカッション
名前を名乗れない人 No titleすごすごぎる!なにこれ
2009/04/18 Sat 00:46| URL|
もしかして落とし方もわからない人でしたか^^;
2009/04/18 Sat 01:01| URL|
プログラムとflvは違うよ^^^^^^^^^
2009/04/18 Sat 01:09| URL|
晒しておいたら良いと思います
これは、すごいですね!
やっぱり、プログラミングってこういう方向性で進化するのも面白いですもんね
しかし、どうやったら出来るのかさっぱり検討もつかない
2009/04/18 Sat 01:10| URL|
どちらも4kBにはおさまりませんけどね^^;
2009/04/18 Sat 01:18| URL|
イメージとしては4キロバイトのプログラムがあの動画を作ったとかそういう意味なんですけど・・・
あとものすごく話が脱線してしまいますが、flvには専用のプレイヤーがありますので、見れないこともないと思いますよ!頑張ってください!
>>しかし、どうやったら出来るのかさっぱり検討もつかない
もちろんですけど私もです!
2009/04/18 Sat 01:25| URL|
http://www.pouet.net/prod.php?which=52938
からダウンロードして見れるみたい
クリックしてから1分くらいCPUぶん回すらしいけどその間にあのすばらしい映像作ってるらしいね
2009/04/18 Sat 01:41| URL|
2009/04/18 Sat 02:03| URL|
2009/04/18 Sat 02:41| URL|
画像とかちゃんと画像ソフト(プログラムが画像を作るだけだけど)とかで作ってそれをプログラムで描写させてとかかと思ったら、全部きっちりプログラムだけでやりとげるんですね。しかもたったの4kで。
驚き。4kっていったら、javascriptファイルでもあっという間だ。
2009/04/18 Sat 03:48| URL|
2009/04/18 Sat 04:21| URL|
面白すぎwww
2009/04/18 Sat 04:34| URL|
プログラマを名乗ってるのが恥ずかしくなったw
どうせ読めないだろうけど、是非ソースがみたいな。
2009/04/18 Sat 10:33| URL|
テトリスコードだって、ブラウザとジャバスクリプトという前提があるからこそ出来ることであって、
ファミコンだったらこうはいかない。
当たり前のI/O処理を記述することからしないといけないのだから。
4000文字プログラムもそうしたライブラリを活用した
APIの集合みたいなもんじゃね?
だからすごいのはプログラムコード自体じゃなくて、
それを包括するライブラリやエンジンを作った人ね。
ま、そのためのコンテストだと思うけど。
2009/04/18 Sat 12:27| URL|
2009/04/18 Sat 19:11| URL|
elevatedの場合でいえば山のテクスチャや地形のデータをすべて予めプログラムに含めておくことはできません。
断片的なデータを元にバリエーションを作っているか、ゼロからすべてアルゴリズムで作ってるはずです。
表示されるまでやたら時間がかかるのは、テクスチャをプログラムで生成しているためです。
2009/04/18 Sat 20:59| URL|
コメントの投稿はこちらをクリック
仕事