
Personnel – en cours
初めての4kデモを作った
昔からデモシーンに魅了されてきた...
デモシーンには本当に惹きつけられる。
pouet.netやRevisionの配信で、気づけば何時間も迷い込んでいる。
あの凄腕たちは、あんなに非力で古いマシンからどうやってあそこまで性能を絞り出しているんだろう、とずっと思っていた。
まあ、デモシーンの全盛期には、それらは別に古いマシンじゃなかったんだけど、それでも彼らの離れ業にはいつも感嘆させられてきた。
今では、化け物級のグラフィックカードのおかげで、こういう効果を出すこと自体はもう大した挑戦じゃない。かつてのように快挙だの技術的天才だのと呼べるものではなくなった。
でも、あの手応えを取り戻せるデモのカテゴリーがある。
4kカテゴリーは、実行ファイルのサイズを4096バイトまでに制限するものだ。
これは本当に小さい。C++で単純な "hello, world!" を書くだけでも、リリースビルドですらおそらく15K前後の実行ファイルになる...
そこで、この課題に挑戦することにした。あの魔術師たちの秘密を理解して、解き明かしたかったんだ。
その結果がこの小さなデモ。GPUは使わず、CPUも1コアだけにした。定番のエフェクトをいくつか再現するのに少し歯ごたえが欲しかったし、それでいて4Kの壁は割らないようにした。
とても面白い挑戦で、コンパイルとリンクのパラメータについてたくさん学んだ。ついでにWindows版、Linux版、Web版、そしてgif版まで作って遊んだ。
学んだことを活かして、ネイティブでもWebでもホットリロードを設定できた。2回のホットリロードの間でメモリレイアウトを変えないようにさえすれば、意外と難しくない。
4kまでに残っている数バイトを使って音楽を実装することもできそうだ。そのうち試してみたい。
とにかく、この取り組みにはすごく満足している。他の低レベルなプロジェクトで役に立ちそうなことをかなり学べた。