わずか4000バイト(4000文字)で作られた3分35秒の映像プログラム

Tags: コラム 動画 プログラム


スポンサード リンク


プログラム大会動画
すごいとしか言い用がない。無性に紹介したくなった。

既に多くの方が知っている事は、なるべく紹介しないというのがスタンスなんだけども、今回ばかりはただただ紹介したい。

『プログラミング大会』というよりもMega Demo Partyだったらしいけど、そもそもメガデモを説明するのが面倒なのでプログラミング大会としておきましょう。

わずか4キロバイトのプログラムで作成された音と映像がYouTubeでアップされ、話題を読んでいる。動画が以下です。

音と映像全て合わせて4キロバイト


YouTube - Elevated by RGBA and TBC
4kbの世界
いやすごい。
正直鳥肌たった。いや泣いた。

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をガンガン使いながら映像と音を作り上げていくため、起動には、それなりに時間はかかりますのでご注意ください。

それでは、また。


おまけ
どうしてプログラマに・・・プログラムが書けないのか?
古い話ですがプログラマへの第一歩として。


今回の動画のネタ元
ドイツのプログラミング大会の優勝作品


スポンサード リンク

このエントリーを含むはてなブックマーク livedoorクリップ livedoorクリップ Buzzurlにブックマーク Buzzurlにブックマーク del.icio.usでブックマーク newsing it!
はてなRSSへ追加 My Yahooへ追加 Livedoorへ追加 Google Readerへ追加

この記事を見た人は以下も見てます

関連エントリ抽出中...
ローディング


この記事にトラックバックする人はクリック

トラックバックURL(ワンクリックコピー用)
 
トラックバックURL
 http://e0166.blog89.fc2.com/tb.php/629-7ed5c7fe
この記事にトラックバックする(FC2ブログユーザー)

トラックバック受信一覧



ディスカッション

名前を名乗れない人  No title
おわああああああああ
すごすごぎる!なにこれ
2009/04/18 Sat 00:46| URL|
名前を名乗れない人  嘘はいけませんよ
YouTubeの動画ってダウンロード出来るの知っていますか?落として見ましたがとても4kBでは収まっていませんよ?
もしかして落とし方もわからない人でしたか^^;

2009/04/18 Sat 01:01| URL|
名前を名乗れない人  No title
米2
プログラムとflvは違うよ^^^^^^^^^
2009/04/18 Sat 01:09| URL|
感動しました  No title
やけに恥ずかしいコメントが上に一人いますが・・・
晒しておいたら良いと思います


これは、すごいですね!
やっぱり、プログラミングってこういう方向性で進化するのも面白いですもんね

しかし、どうやったら出来るのかさっぱり検討もつかない
2009/04/18 Sat 01:10| URL|
名前を名乗れない人  flvでは見れません
flvのままでは見れませんのでMP4にして普通はつかうんですけど・・・・
どちらも4kBにはおさまりませんけどね^^;
2009/04/18 Sat 01:18| URL|
Yamada  コメ2、コメ5さんへ
落ち着いて聞いてほしいのですが、とりあえず動画の話は一切していません><

イメージとしては4キロバイトのプログラムがあの動画を作ったとかそういう意味なんですけど・・・

あとものすごく話が脱線してしまいますが、flvには専用のプレイヤーがありますので、見れないこともないと思いますよ!頑張ってください!

>>しかし、どうやったら出来るのかさっぱり検討もつかない

もちろんですけど私もです!

2009/04/18 Sat 01:25| URL|
名前を名乗れない人  No title
なんか壮絶に勘違いさんがいるけど
http://www.pouet.net/prod.php?which=52938

からダウンロードして見れるみたい
クリックしてから1分くらいCPUぶん回すらしいけどその間にあのすばらしい映像作ってるらしいね
2009/04/18 Sat 01:41| URL|
nero  No title
せっかく記事で感動したのにコメントまでスクロールしたらふきだしてだいなしwwwwwww
2009/04/18 Sat 02:03| URL|
sorai  No title
すごいですねープログラミングでこういうことまでできるなんて!感動!!
2009/04/18 Sat 02:41| URL|
のtきさ  No title
すげぇ。こんなことできるんだ。
画像とかちゃんと画像ソフト(プログラムが画像を作るだけだけど)とかで作ってそれをプログラムで描写させてとかかと思ったら、全部きっちりプログラムだけでやりとげるんですね。しかもたったの4kで。
驚き。4kっていったら、javascriptファイルでもあっという間だ。
2009/04/18 Sat 03:48| URL|
名前を名乗れ  No title
低フレームのスライドショーだと思ったらバリバリの高品質動画だった信じられねーーー
2009/04/18 Sat 04:21| URL|
名前を名乗れない人  No title
米2=米5
面白すぎwww
2009/04/18 Sat 04:34| URL|
mikio  これは・・・
すごい・・・

プログラマを名乗ってるのが恥ずかしくなったw
どうせ読めないだろうけど、是非ソースがみたいな。

2009/04/18 Sat 10:33| URL|
VIPPERな名無しさん  No title
末端のコードが小さくても、それを駆動するエンジンによると思うね。
テトリスコードだって、ブラウザとジャバスクリプトという前提があるからこそ出来ることであって、
ファミコンだったらこうはいかない。
当たり前のI/O処理を記述することからしないといけないのだから。
4000文字プログラムもそうしたライブラリを活用した
APIの集合みたいなもんじゃね?
だからすごいのはプログラムコード自体じゃなくて、
それを包括するライブラリやエンジンを作った人ね。
ま、そのためのコンテストだと思うけど。
2009/04/18 Sat 12:27| URL|
名前を名乗れない人  No title
プログラムをダウンロード先から落としたが、実行しようにもエラーが出るな。WinXPsp3 & Win7β
2009/04/18 Sat 19:11| URL|
名無し  No title
ライブラリやエンジンを活用するのはもちろんで、4kで問題になるのは画像や音楽といったデータをほとんど持てないことです。ここが工夫どころですね。

elevatedの場合でいえば山のテクスチャや地形のデータをすべて予めプログラムに含めておくことはできません。
断片的なデータを元にバリエーションを作っているか、ゼロからすべてアルゴリズムで作ってるはずです。
表示されるまでやたら時間がかかるのは、テクスチャをプログラムで生成しているためです。

2009/04/18 Sat 20:59| URL|

コメントの投稿はこちらをクリック

管理者にだけ表示を許可する







仕事