radium.png
HOME | ARCHIVE | PRODUCTS | ABOUT | RSS

まぶしさ

2001-12-01

映画なんかに利用されているハイエンドCGの分野でも,晴れた日の屋外みたいに強烈なライティングを表現するのは,まだだいぶ難しいことのようだ。屋内や曇り空みたいな全体的に弱い照明のシーンでは,「実写と見まちがうほどの」リアリティが達成できているとおもうんだけど,屋外にCGを使ったとたんに「これ妙にCGっぽいなあ」とかいう類の違和感が生まれてしまう。部分的にCGを利用している映画とか見ていると,よくそういうことがあるはずだ。


Debevec のサイトには, GeForce2 の拡張機能を使った HDR マッピングのデモが置いてあるんだけど,このデモには exposure (露出)を自動的に補正する機能が付いている。シーンの中央付近の輝度値をサンプリングして,適切な露出量を求め,それに徐々にフェードするような感じで補正をかけているようだ。ようするにカメラの自動露出みたいなもん。肉眼の瞳孔の効果を模擬したものとも考えられるかもしれない(こじつけっぽいけど)。

このエフェクトは,レンズフレアとは別のアプローチとして有効なんじゃないかとおもっていたんだけど,くだんのデモではあまりうまくいっている感じがしない。第一に,露出の求め方に問題があるみたいだ。中央付近だけでは足りないみたいで,シーン全体の平均的な輝度を求めないとだめっぽい。

ダイナミックに露出を変化させるってのは,明るさの変化を表現するのに有効だとおもうんだけどなあ。だめかしら。


明るさの表現といえば, "ICO" における光と影の表現手法は,一見の価値があるとおもう。ゲームのなかで,窓からこぼれる光が,木の葉のあいだから漏れる光が,ほんとうに「まぶしい」と感じたのは,このゲームが初めてなような気がする。

それは,リアルというよりかはアーティスティックなんだけど,それはこのゲームの根底にあるものとうまくマッチングしているんだとおもう。


ゲームはアートなんだから(え?),リアルであるよりも,むしろアーティスティックであるべきなのは,当然なはず。だけど,ちっともアートな感性を持っていない僕らは,その線で戦うことは不利だと数年前に気がついた。ひ弱な僕らが,ネイティブな表現力を持っているひとたちに立ち向かうには,数式と偉いひとの言葉に頼るほかない。

感性と表現力があるのならば,フォトリアルやフィジクスなんて何もいらない。それはもう,嫌なくらいに理解している。だから,そこに逃げ込む僕らを,どうか責めないで,っておもう。


reyes

2001-12-02

CG World を購入。最近は毎月買っている。んで,今月のは「シュレック」と MGS2 の記事が面白かった。倉地氏の連載が無かったのが残念だけど,シュレックの方の記事に集中したってことなのかな。

シュレックの記事で特に興味を引いたのが,あの CG がすべてスキャンライン法だってこと。シュレックの製作現場では,レンダリングにインハウスの特製レンダラを使用していたらしいんだけど,これがスキャンライン法を使ったものだったんだそうだ。レイトレを使ったレンダラも最終的には用意したものの,重すぎて使えなかったとのこと。

かの有名な PIXAR の PRMan がスキャンライン法だってこともあって,ハイエンドCGでスキャンライン法ってのも不思議な組み合わせではない。でもまあ最近はさすがにレイトレベースに移行しているのかなあ,とかおもっていたんだけど,どうもそういうわけでもないらしい。

最近は MCRT なんかがもてはやされているけど,実際に映画産業なんかで本格的に応用されるのは,まだ先の話なのかもしれない。まあそんだけ,まだ進化する余地があるんだってことだから,今後の発展に期待したいとおもった。


ところで,よく「スキャンライン法」ってあいまいに呼んでいるんだけれど,正確にはどんなアルゴリズムなんだかよく知らない。ので,ちょろっと調べてみた。

http://www.faqs.org/faqs/graphics/renderman-faq/

どうやら PRMan で使用されているのは Reyes っていうアルゴリズムらしい。

http://graphics.stanford.edu/courses/cs348b-95/cs348b.html

あ,これって Hanrahan 先生の講義ノートじゃん。ありがたや。

んで,読んでみると,スキャンライン毎にプリミティブ端点を記録したリストを構築してやって(このリストは x 座標値でソートされている),全登録し終えたところで,リストをたぐりながら描画するような雰囲気,かな。描画時には適当な方法を使って陰面消去するんだけど,これはZバッファだったりZソートだったりするらしい。

Reyes はスキャンライン法のバリエーションの一種で,高次曲面を描画時に適応的に分割して描画するもののようだ。概説しか載ってないんで詳しいところはわからないけど。


ところで,スキャンライン法では,スキャンライン毎の描画リストをいったん構築することになるんだけど,ハイエンドCGなんかではこのリストがとんでもない量になりそうな気がする。それを考えると,プリミティブの複雑度に依存しないZバッファの方が,むしろ有利なような気がするんだけど,どうなんだろう。

ちょっと思いつくのは,半透明描画順序の問題と, Reyes による適応的処理の効果。

Zバッファによってシーンの複雑度と陰面消去処理が切り離されるのは,不透明プリミティブだけの話。半透明プリミティブやサブピクセルプリミティブが存在する限り,最終的には描画順序の調整が必要になってくる。つまり,何らかの形で描画リストを保持する必要があるわけで,それならハナっからスキャンライン法でもいいんじゃないの,みたいな感じで。

あとは,高次曲面を多用するハイエンドCGの世界では,Reyes アルゴリズムがかなり効果あるのかもしれない。何も調べてないから,わかったもんじゃないけどね。


final gathering

2001-12-03

XSI では,レンダリングオプションに "final gathering" ってのが追加されている。 mental ray っていう外部レンダラを使ってグローバルイルミネーションっぽいことをしますぜ,ってものらしいんだけど,なんなんだかよくわからないので調べて(サーチして)みた。

http://www-sop.inria.fr/reves/personnel/Marc.Stamminger/thri...

これは final gathering のプロセスを高速化する特殊な手法に関する論文らしいんだけど,参考になりそうだったので読んでみた(最初だけ)。

The idea of final gathering is to combine both approaches. In a
view-independent preprocess a not necessarily perfect radiosity
solution is computed. Then in a second view-dependent step ray
tracing is performed that recomputes parts of the illumination
considered critical. One common technique is to only recompute
the direct light in this pass and to add the indirect light from
the finite element solution. Alternatively, the radiosity solution
can be interpreted as a light source definition, and the last light
bounce towards the eye is recomputed with ray tracing (e.g. [2]).

まあ要するにラジオシティとレイトレのハイブリッド手法のことらしい。拡散光/間接照明はラジオシティに任せて,最終段階でレイトレでもって鏡面反射の加味とラスタライズを同時に行う,ってノリかな。


ついでにこんなページも

http://www.umlaut.fr/XSI/FinalGathering.html

Arnold のスクリーンショットを見せつけられた XSI ユーザが,「こんなの XSI でもできるやい」と反論しているようだ。えーと,めんどくさいんで全部読んでないけど,けっきょくのところ, XSI + FG の致命的な処理の重さがどうにもならない模様。それだけ Arnold が速いってことなんだろうけど。


そのまま Arnold 関連でさまよっていたら,こんなのにたどり着いた。

http://www.3dluvr.com/pepeland/ANIMATA%201%20.htm

ここに置いてある "Pepe" のムービーがかなりいい感じ。実写だとおもってたら……ぐふふ,って寸法。もっと高画質で見てみたいなあ,とおもった。


Henrik Jensen

2001-12-04

Debevec 氏のサイトは,ひと通り巡ったので(何も実になっちゃいないけど),次は Jensen 氏のホームページをさらいにかけることにした。

http://graphics.stanford.edu/~henrik/

このひとの研究内容のメインは,なんといってもグローバルイルミネーション。あと BSSRDF とかみたいな照明・反射モデルに関するネタと,流体に関してもちょこっと手を出しているみたい。どれに関しても,物理的に厳密で緻密なモデル化を行うところが特徴的だなあ,とかおもった。

そのなかでも,変わってて面白いなあとおもったのが "A Physically-Based Nightsky Model"

http://graphics.stanford.edu/~henrik/papers/nightsky

明るい照明環境内での CG ってのはさんざ研究されているけど,夜景(夜空)について真面目に取り組んでいるネタは珍しいとおもう。夜空を物理的にモデル化してみよう,ってものなんだけど,太陽のような絶対的な光源がないぶん,微妙な要素が絡み合って奥の深いものになっているようだ。

実はあまり真面目に読む気はないんで,ザル方式に斜め読み。せめてポインタだけでも書き留めておこうとおもったわけ……


ところで,夜空に浮かぶ月って,いまいち立体感がないような気がする。月は限りなく球体なわけだし,たぶん単純な拡散反射しかないだろうから,コサインカーブなグラデーションを描くはずなんだけど,どうもそれにしちゃのっぺりしすぎている。

くだんの論文を読んでみると,そのことについて触れている部分があった。

Furthermore, the apparent disc of the full Moon has a remarkable
photometric property: its average brightness at the center is the
same as at the edge [11]. The Moon is therefore said to exhibit
no limb darkening. This can be explained by the pulverized nature
of its surface.

よくわかんないけど,表面の形状的な理由により,平坦な見た目になっているらしい。このこと自体については詳くは触れていなくて,あとは文献 [11]

HAPKE, B. Optical properties of the lunar surface. In Physics and astronomy of
the Moon, Kopal, Ed. Academic Press, 1971.

を見てね,ってことらしい。うーん,まず手に入らないだろうからパス。ちょっと不思議だから気になるんだけども。


あと面白かったのが,氏のレイトレギャラリーに置いてあった "One of my first ray tracing images"

http://graphics.stanford.edu/~henrik/images/raytrace.html

1991 年に Amiga を使ってレンダリングした画像らしい。物理モデルベース CG の偉人のルーツが,実は Amiga にあったってのが,なにげに微笑ましくていいなー,とおもった。


Horizon Mapping

2001-12-05

最近,セルフシャドウバンプマップだか,バンプセルフシャドウマップだか,よくわかんないけどとにかくセルフシャドウの付いたバンプマップみたいなノリのエフェクトの名前を見かけることがある。ぬぬぬ……またたぶんピクセルシェーダとか使えるHWじゃないとだめなんだろうなあ,とかおもいつつも,ちょっと気になるので調べてみることにした。

まずは, BBX でなんかそれ関連の記事を見かけたような記憶がかすかにあるんで,とりあえず BBX にゴー。するとどうやら, Microsoft Research の Michael Cohen 氏が論文を書いているようだ。

http://research.microsoft.com/~cohen/

http://research.microsoft.com/~cohen/bs.pdf

BBX 氏に感謝しつつ,さっそくゲット。


内容は,まあ BBX 氏が書いている説明がほぼそのまま。水平線の高さ,つまり「そこから見たときにもっとも高い障害物の高さ」をいくつかの方向について求めておいて,それをテクスチャに入れ込んでおく。あとは,実行時にアルファテストを使って,水平線の高さと光源の見た目の高さを比較してやる。そんでマスクが求まるってことらしい。だから正式名は "Horizon Mapping" って言うみたいだ。

まだすっとばし読みなんで,よく理解できてない。水平線の高さを得るところまではいいとして,レンダリング時に光源の高さを与えるところらへんが,こんがらがるなあ。まあ,ゆっくり読むとしようとおもう。

水平線の高さはハイトマップのなかだけで完結させずに,周辺のジオメトリを考慮して持たせることも可能なようだ。これを使えば,比較的大きな凹凸が生み出す影を表現することができるかもしれない。たとえば,目のホリの部分の影付けとか,関節のくびれの部分に落ちる影とか,そういうのが。

特に,顔の凹凸に影を落とすのは,デザイナさんが喜びそうな気がする。迫力のある顔造りに大きく貢献するとおもうのだ。

ただ,ここまでやると,ちょっとオーサリングが大変そう。ホライゾンマップを生成するのが一仕事って感じ。マッピングの状態を考慮しながら周囲のメッシュと交差判定をぐしぐしやって……めんどいなあ。


System 31

2001-12-06

今日は ICO の発売日。なんとか入手することはできたんだけど,全然やる時間がない。 MGS2 も,本当は速攻でやりたかったんだけど,けっきょく買わずに今に至るって感じ。「ひっぱリンダ」もチェックしておきたいし,なんか最近はやりたいゲームがたまる一方だなあ,とか想いを廻らせながら,ぐーたら仕事する木曜日。眠い眠い。そういえば Jak and Daxter もやっときたいんだよね。

去年の今ごろは,やりたいゲームがぜんぜん無くて,ひょっとしてゲーム業界って冷えついてますかー,みたいな状態だったとおもうんだけども。


Horizon Mapping は,周辺のジオメトリを折り込んだ Horizon Map を生成するのがめんどくさいのと,サーフェス座標系とかの扱いが複雑なのと,そこいらが山場なんだとおもうけど,原理自体はすごぶるシンプル。板っきれに sin() * exp() とか張り付けて実験する程度だったらすぐできそうだ。ってことで,隙あらばやってみたいとおもう。なんとか ARB 拡張だけでできそうなもんだし。パス数は増えるけど。

座標系の扱いが複雑っつっても, per-pixel lighting においては,こんくらい普通なんだろうけどね。 GL のパイプラインにすべてを任せ切っていた系なところの僕にとっては,この飛躍はずいぶんなもんだ。リハビリせねば。


ナムコの謎システム "System 31" に関する噂がちらほらと

http://pub37.ezboard.com/fgamingageforums2frm0.showMessage?t...

Soul Calibur 2 もひょっとすると……とかなんとかって。

任天堂のハードウェアを応用したアーケードマシンって,過去に幾度となく噂がたったものの,ほとんど途中で立ち消えてしまっているような気がする。今回のも信じちゃいないんだけど, GC 版の移植が早々に決定しているころを考えると,うーんひょっとするとひょっとするのかもねえ,って感じで。

どちらにしろ,僕にはたいして関係ないけどさあ。


将軍

2001-12-07

011207.png

irradiance mapping の続きを地味にやっている。

まずはサンプルモデルの調達から。結局, ocnus inc. の「将軍」 ("general.wrl") を拝借することにした。しかしここ,よく見たらどこにもフリーとは書いてないなあ。とほほ,いずれ別を探すか……

http://www.ocnus.com/models/Military/

ともかく,これ,なかなか良くできたモデルだ。 blender でインポートして,首から上だけを切り取って,頂点結合などひととおりの処理を済ませてから, obj (VideoScape) で出力。んで,手製のコンバータでストリップ化しつつ C ソースとして出力させる。

表示には問題ない模様。ついでに, Gavin Bell の trackball.c を使って,インタフェースを仮想トラックボール化させた。やっぱ,仮想トラックボールが直感的でいいねえ,とかおもったりしながら。


次に試そうとおもったのが,平行光源を irradiance mapping に固めこむ方法。 Ramamoorthi によれば, irradiance map の係数(この手法では,どっちかというと radiance 係数なんだけどね) L_lm を求めるには,

L_lm = integ{t=[0,pi], integ{p=[0,2pi],
         L(t,p) * Y_lm(t,p) * sin(t) * dt * dp } }

まあつまり全球範囲において spherical harmonics 関数 Y との畳み込みを行っているだけだ。平行光源の場合は L(t,p) はデルタ関数となるから,結局のところ積分する必要はなくて,

L_lm = L * Y_lm(t,p)

でいいはず。うむむ,この調子なら,従来の平行光源の代替としても使えそうだ。


実際にデモに組み込んでみたけど,問題なくできている様子。64個とか光源を飛ばしたりしてみて,有効性をやたらアピールしてみたり。光源数が多くなればなるほど,真面目に光線ベクトルと内積を取る方法と比べて,処理速度面でのアドバンテージがあるはずだ。なんてったって,光源はいくら増やしても演算量は変わらないんだから。セットアップの時間が増えるものの,それも大したことないのが分かったしね。


folding

2001-12-08

011208s.png

今年最後の正念場も眼前に迫ってきて,いやがおうにもテンションが上がってくる……はずなんだけども,これがどうにもあんま盛り上がんない今日このごろ。なんか,普通の土曜日ですなー(出社してるけど)。あと,土・日に職場に泊まるのは,なんとなく不健康だとおもった。労働者の権利的に見て。


最近になって, vim の fold 機能を導入しはじめた。テキストの適当な部分を畳み込んで見通しを良くするって機能だ。

http://www.vim.org/html/usr_28.html

SlickEdit なんかにこの機能が搭載されているのを見て,なにげに使ってみたいかもー,とかおもってたんだけど,実は vim に搭載されていた,って話。

vim の fold にはいくつかモードがあって,文法解析を行ってスコープごとに折り込むモードや,インデントで区切りを見つけて折り込むモードとか,いろいろあるんだけど,結局のところ,明示的にマーカーを使うモードがいちばん使いやすいような気がする。

Java とかだったらクラスごとに折り込むのがいいのかもしれないけど, C の場合,自動的に区切りを見つけるってのはなかなか難しいとおもう。「ここで折り込んでね」っていう区切りを自分で指定できたほうが,よっぽどいい。


vim の最近の進化っぷりってかなり凄くて, vim 大好きっ子を自負するところの僕も,まだ多くの機能を使いこなせていない。縦分割,自動補完,折り込み, QuickFix あたりの機能は,プログラミング作業時にかなりありがたみを感じるところ。こいつ,もとは vi のくせになー。

唯一不満なのが,組み込みスクリプトの仕様がかなりイカれてるところなんだけど……どうしたもんだろ。新しいバージョンでは python や ruby のインタプリタが組み込まれたとのことなので,ちょいと調べてみたいけど,まあ,暇になってからだね。


GameCube

2001-12-09

なんとなくボーっと slashdot を見たりして。

http://www.anandtech.com/showdoc.html?i=1566

GameCube のハードウェアレビューのようだ。ところで Xbox の分解記事は,なんつうか,ま゛ー,って感じだったんだけど(なにそれ), GameCube のハードウェア設計には興味を引かれるものがある。えー,ゲーム機ってたったこんだけで動くもんですかー,みたいな。

僕はハードウェアは(も?)さっぱりだから深いところはわかんないけど,同業他社の方々にはかなり衝撃的だったんじゃないかなあ,とおもう。どうだろ。


GameCube はなんとなく CPU 周辺が強そうな印象があるんだけど,これは PS2 の CPU の弱さともろに相反しているところなんで,対岸の住民としてはうらやましい限りだったりするところ。

まあそんなわけで, PS2 にいろいろ恨みはあるものの,評価できる点ってのも無いわけでは無いわけでして,例えば僕ことぼんくらプログラマの私としては, VPU0 のオモチャ感は大切にしてあげたいところ。

PS2 の VPU0 は MIPS でいうところの "COP0" として実装されているんで, CPU の COP0 インストラクションから直接に操作することができる。ようするに,ほぼ汎用的に扱えるわけで,ベクトルやマトリクスの演算をぽろぽろと気軽に発行できる感覚は,わりと悪くない。むしろいい。

マルチメディアインストラクション (MMI) もなかなか面白くて,こちらは CPU の拡張インストラクションとして実装されているんで,特殊レジスタを介在することなく汎用レジスタ上で処理できるのがいいところ。これで画像フィルタとか作ったらなかなか面白いとおもう。あんま意味ないけどね。

まあ画像フィルタはしんどいかもしれないけど,音声データをフィルタリングぐらいだったら実用用途が見つけられるかもしれない。アナログシンセとか作ったら面白そうやねー,とか。

そんな感じで傍目には便利そうな拡張機能たちなんだけど,ここでいくらがんばったところでメモリアクセスのウェイトでもってほとんどスポイルされてしまうんで,あんま意味ないのでした。終わり。


jjjjjjjjj

2001-12-10

最近なぜか妙に寝就きの悪いことがある。そのせいもあって,なんだか寝不足気味の状態が続いている。その上に,職場の空調が実に微妙な温度に設定されているもんだから,仕事中にもかかわらず眠くなってしまうこともしばしば。

そんな状態でもなんとか根性でプログラムを書きつづけようとするんだけど,粘れば粘るほど,ソースはわけのわからないコードの破片だらけになってしまう。まだ "jjjjjjjjjjjjjjjjjj..." なんてのはわかりやすいからいいとして,シンタックスレベルでは合ってるような器用なコードを書いてしまうこともあるから,困りもんかもしれない。

vim は無限 undo をサポートしているから,こんな場合は undo でがんがん作業をまき戻していくんだけど,この過程が,だんだん自我が崩壊していく自分を客観的に見ているようで,なんだか面白いかもしれないなあ,とおもった。なにやってんだ,自分,みたいな。

まあ,眠いときは無理するな,ってことだよな,とおもった。


KbMediaPlayer で,ちょっとノスタルジックな気分になってみたり。

http://home7.highway.ne.jp/Kobarin/

なんでもかんでもサポートしてしまおうって趣旨の,いうなればごった煮型のメディアプレーヤーなんだけど,エミュレーション系のフォーマットに強いのが特徴みたいだ。

そんなわけで,秘蔵の音源コレクションを HDD の奥底から引っ張り出してきて,適当に選んで再生させてみる。うーん,ノスタルジー。すげーなー。特に 88 の FM 音源なんかは,下手すると実物と聴きわけできないくらいかもしれない。

デジタイズ音源が流行り出す前の FM とか PSG とか,そこらへんの音源って,半分アナログで動いているもんだから,これを厳密にエミュレーションするのはなかなか難しいとおもう。シンセの動作原理を熟知しているだけでなく,そのチップ固有の特性や定数を知らないと厳密なエミュレーションは不可能なわけで,そうとう詳しくなきゃできないとおもうんだけど。


久しぶりに聞いてみたけど, StarCruiser の曲とかなにげにいいですな,とかおもった。 FM 音源ってったら,こういうのだよね。


気分を暗く

2001-12-11

ようやく忙しさが身に染みてきた。締切りまでもう片手で数えられるくらい,ってところで,やっと現実が見えてきた感じ。そうしているうちに,作業の密度がだんだんと高まってくる。無駄な時間がほとんどない感じ。こういう濃さは嫌いではない。睡眠はそれなりに取っているから,肉体的につらいことはほとんどなくて,ただ,精神的な追い込みだけが,僕の気分を暗くさせる。これ,絶対間に合いますって言ったのに,間に合わなかったらどうしよう,みたいなやつが,いちばんいや。

物を創ることっていうのは,みずからの創造性を否定することから始まるとおもうんだけど,どうなんだろ。ひとは誰しも無限の可能性を持っているわけで(青っぽいこと言ってやがる),その無限のなかから,自分の大切なものを四角く小さく切り取ることが,すなわち創作だとおもう。だから,自分の力を全て出し切るつもりです! とか,一生かかってでも作り上げてみせます! とか,そういうのはわりと危ない思考だとおもうんだけど。

例えば,チャールズ・バベッジの生きざまとか。

http://www.wizforest.com/OldGood/engine/

それは,まあ,ロマンではあるし,偉大でもあるんだけど。


Dungeon Master

2001-12-12

なんとなく, "The Dungeon Master Encyclopaedia" を訪問。

http://dmweb.free.fr/

僕は初代 Dungeon Master の大ファンで,今でさえ,この作品こそがリアルタイム・ダンジョンRPGの最高峰だと信じている。この前も,ちょっとゆえあって Amiga 版の初代をプレイする機会に恵まれたんだけど,結局クリアまでプレイしてしまった。これって思い出の美化とかじゃなくて,今やっても面白いんじゃん,みたいな感じで,ちょっと驚いたりして。

このサイトでは,パブリッシャーである FTL (Fast Than Light) がすでに存在しないこともあってか,ディスクイメージやマニュアルのコピーまで置いてあったりと,なんだかもうやりたい放題。個人的にはむちゃ嬉しいけど,ソフトウェアで生計を立ててる身としては微妙な気持ちやね。

このサイトの凝りようからも分かるように, Dungeon Master のハードコア・ファンってのは世界中にいるみたいで,今でもしつこくネタにして遊んでいるみたいだ。 Windows 用のマップエディタなんてのはまだかわいいほうで,ついに完全なクローン版を作ったひとが出てきてしまったようだ。

http://www.ragingmole.com/RTC/

うーん,これはいいかも。あのダンマスがまったく違和感なく動いてるし,しかも部分的にブレンディングや拡縮などを使って細かなリファインがなされているようだ。この,原作の雰囲気を壊さない程度の気の利いたアレンジってのも,あんたわかってるねー,ってかんじで,いい。ほんとうに好きなひとが作ったんだなあ,とおもう。

どうやら,初代ダンマスの完全クローン以外にも,作者によるオリジナルアレンジバージョンが入っているようだ。怪しげなアイテムとか追加されている模様。うーむ。暇があったら挑戦してみてもいいかなあ。たぶんそんな暇無いけど。


教えてもらいたい

2001-12-13

朝から黙々と仕事をこなす日。こんなに真面目に仕事するのはひさしぶりだね(え?)ってくらい。いやむしろとても楽しいので,このテンションを維持する方法があるのなら,ぜひともそれを教えてもらいたいのだけども。


息抜きがてら,ふらっと mitsuman さんのページを訪問。そこで alpha conspiracy のことが話題に上げられていて,ふと思い出した。そうだ, CD 出たら買おうとおもってたんだ。

http://www.alphaconspiracy.com/

amazon でも取り扱っている模様。だめもとで amazon.co.jp で検索してみたんだけど,やはり取り扱っていないようだった。送料まかるかなあとおもったんだけど。マイナー輸入版はだめですか。取り寄せてくれよう。

"Forward Rewinding" は cdbay.com と amazon.com で取り扱っているみたい。せっかくだから cdbay.com で購入してみようとおもう。頼めばケースを外した状態で送ってくれるらしい。そうすると,送料がまかるんだとか。おもしろいかも。

http://www.cdbaby.com/cd/alphacon2

とおもったけど,ストックを切らしているらしいんで,購入中止。入荷したら "cipher" と一緒に買ってみようかとおもった。


トップページからリンクが貼ってあるんだけど, Red Fez でのライブ音源がダウンロードできるみたいだ。

http://www.planethalflife.com/studio/temp

さっそくゲット。なにげに necros 時代の曲の mp3 もある。ゲットゲット。

ライブ音源のほうは "Bukem" がお気に入り。あと,ここにこそっと置いてある depeche mode のリミックスもいい感じだとおもう。

http://www.alphaconspiracy.com/remix

depeche mode って,日本で言うたら TMN みたいなもんかねえ,とか,ボケたことをおもってみたりしながら,仕事してたりした。

ほら,なんていうか,ハイソになりきれてないところが(違?)。


sl

2001-12-14

マシン稼働率 120% っていうか,むしろ人稼働率 120% な感じの今日。

cvs update && cvs commit -m 'hoge hoge' && make -j3 && make run

ってやってトイレ行ってきたら,もう別のバージョンが commit されてやがんの,って感じの,アレで。


職場のひとから 'sl' を教えてもらう。

http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/

'ls' コマンドを間違えて 'sl' と打ってしまうと,コンソールに機関車が走り出す……っていうノリの冗談コマンド。しかも,いじわるなことに break じゃ止まらないようにしてある。余計なまでに脱力感の込められたプログラムだ。

さすがに 'ls' を 'sl' と打ち間違えることはめったにないんだけど, 'make urn' とかはよくやるなあ。そんなときは,なにか「うるんっ」としたものをコンソールに吐いてやるといいのかもしれない。なにそれ。


意味も無く cygwin 上で sl を make してみた。 Makefile の 'cc' を 'gcc' にするだけで,もうばっちり。 Windows のコンソール上に,それは凛々しい SL の姿が映し出された。さすがは cygwin 。

だけど,たぶん, DJ Delorie はこんなことのために cygwin を作り出したんじゃないだろう,とおもった。


詰め

2001-12-15

とうとう大詰め。つらー。やはり,寝ずに仕事を続けるのは体に悪いとおもうよ,みんな。

どうやら今日は,ドジ研の忘年会だったらしい。僕はといえば,今年の年末はもうほんと散々なもんで,忘年会のたぐいにはほとんど顔を出せなさそうだ。

まあ,そんなこともたまにはあるよってに。


小休憩

2001-12-16

やっと小イベント終了。年末最大の危機をなんとか乗り越えた,って感じ。むー,それにしても眠い。久しぶりの完徹だったしなあ。

そんなわけで,昼頃に帰宅して,夜までずっぷりと就寝。また生活サイクルがずれないといいけど。


年末はやりたいゲームがたくさん。まだ忙しいのは続くから,あまりプレイしてる時間はないんだけど,それなりにやってきたいとおもう所存。本来,年末はみんな暇だから,いいんだろうけどなあ。

また,いろんなものが手に付かなくなりそうだ。ひさしぶりに Psycle とか手を出してみようかとおもってたんだけど。


ブタ箱

2001-12-17

朝,通勤中になにげに気が付いたんだけど,週刊現代の中吊り広告のアオリが, JR では「 SMAP 稲垣と渋谷署の留置所で過ごした日々」ってなっていたのが,営団地下鉄では「 SMAP 稲垣と渋谷署のブタ箱で過ごした日々」になっていた。

うーん,やっぱ「ブタ箱」はだめでしたか。たしかに,人権とかの問題が絡んできそうな表現なんだけど。たぶん放送禁止用語とかにも入ってるんじゃないかとおもう。

ここら辺のうっかりミスってのは,決して他人事でないんで,普段から気を付けたいとおもうところ。最近のでは「セガガガ」の「アダルトチルドレン」事件なんかが記憶に新しい。一見,全然問題無さそうなんだけどねえ。

PS (SCE) は元はレコード会社から派生したこともあって,ここら辺のチェックはやたら厳しいことで有名なようだ。 PS2 版 DOA2 のパンチラが減量していたのとか, SCE とテクモの間でどんなやりとりがあったのか想像すると,なんか面白いけど。


やっと MGS2 を購入。とはいっても,まだ ICO 終わってないんだけど。ところでこのゲーム,初体験版のときはいろいろと(プログラマ的に)面白い罠が仕掛けてあって楽しませてくれたんだけど,製品版ではさすがに無くなっているようだ。ちい,面白かったのになあ。

とりあえずさわり程度にプレイ。ちょっと気になったのが,フレームレートに対するこだわりが感じられなくなっていたこと。ゲーム中,デモ中にかかわらず,とにかくPCみたいにがんがんフレームレートが変化しまくる。初体験版のときは,いちおうゲーム中は 60fps ,ムービー中は 30fps って線を,それなりに守ろうとしていたっぽかったんだけど。

さらに昔のバージョン(ゲームショー初露出のころとか)なんかでは,処理落ち時に解像度が下がる現象が見られてたような気がする。けっきょく,ここら辺のポリシーは何回も変更されたんではないかとおもう。結果的に,かなり理想系に落ち着いたとはおもうけど。

でもこれも, KCEJ 小島軍団の技術力とマンパワーがあってこその,って感じがしないこともない。こんな少量のテクスチャでこのレベルの絵を出力するってのは,もはや職人芸っていうか変態芸っていうかなんていうか。


IRIX

2001-12-18

職場でお払い箱になっていた O2 を,なんやかんやと訳のわからない理由を無理やり付けて,僕の仕事用マシンとして使わせてもらうことにした。むふふ,ラッキーかもしんない。

とは言っても, O2 っていったら,いまや数世代前のマシン。 CPU は R5000 の 150MHz 付近だから,下手すると PS2 よりも低速なわけで,当然のごとく,現場ではもはや退役機材の扱いだ。

ちなみに,ヤフオクなんかでちょろっと調べてみたところ, O2 本体のみでだいたい3万前後, IRIX 付きで5万付近っていう感じの相場らしい。当時は100万を越すいっぱしのワークステーションだったんだけどなあ。

で,そんなもんをなんで無理やり確保したのかというと,以前から, sgi の格調高き "IRIX" に一度は触れてみたいと,つねづねおもってたのだ。これが NT モデルや Linux モデルだったら,嬉しくもなんともないってば。

んなわけで, O2 のために机の上に大規模な再配置を大展開。人間工学と風水学的にみて最強のレイアウトを構築してやった。ふう。んで,おもむろに電源を入れる。「ぽろろろろろろん」。

もしかしたら,この琴の音が O2 を最も印象強くする要素かもしれない。100万以上もするグラフィック・ワークステーションが「ぽろろろろろろん」で起動しちゃうところが,だ。これは sgi が送る20世紀最大の肩透かし。 sgi だぜー, WS だぜー,って興奮しながら電源入れたら「ぽろろん」なもんだから,当時の「無理して O2 買った組」は,おもわずうろたえてしまったにちがいない。

んなことないよ。


IRIX のコンパイラ (cc) は特殊な開発者向けライセンスを取得しないと入手できないらしいんだけど,ここらへんは gcc を使えばタダで済ますことができる模様。

http://freeware.sgi.com

僕は Linux 以外の UNIX はほとんど触れたことがないんで, IRIX はちょっと不安。資料もそんな充実してなさそうだしね。どうなることやら。


PSYCLE

2001-12-19

なんてこたないんだけど,なんとなく,元ナムコの「あや」さんのインタビュー。

http://www.famitsu.com/game/extra/girlf/2000/gf0613a.html

あやさんっつえば「リッジレーサー」絡みの,いわゆる元ナムコ軍団の一人として有名なひとなんだけど,このひとの,自他共に認めるところの「生活の壊れっぷり」がすごくて,このインタビューのなかでも「去年,6ヶ月間家に帰らなかった」とのくだりがある。

確かに,ひとたび職場に生活のサイクルが構築されてしまえば,そのままどうにでもなってしまうそうな気は,僕もする。洗濯と風呂の手段が最大の問題なんだけど,ここさえ解決されれば,職場に居住することは不可能ではない。ていうか実現しているひとも数人いるらしいし,うちの職場。

それ以前に,職場の近くに引っ越したらどうか,って感じかなあ。もっとも,僕にはそんな甲斐性無いんだけど。

そんなのめんどいし,だいいち,いつ「終わっちまう」かわかんないし……


"PSYCLE" を,ちょろっと試してみる。

http://www.pastnotecut.org/psycle/

"PSYCLE" はソフトウェアシンセ・ベースの,いわゆるトラッカーよ呼ばれるたぐいの DTM ソフトだ。ひとむかし前に流行った "Buzz" の後釜みたいな感じ。 Buzz がほぼ死滅してしまった今,シンセシム系トラッカーのスタンダードは PSYCLE になりつつあるらしい。

僕は PropellerHeads の "REASON" を購入して以来,この REASON があまりにもいいんで,もうほかのはどうでもいいや! って感じなんだけど,データフォーマットを流用できるかもしれないという期待から, PSYCLE にもちょっと手を出してみることにした。

とりあえず基本セットとサンプル曲を数個落としてみたんだけど,うーん,これはちょっとなあ……もっとツールの底力が伝わってくるような曲が聴いてみたいんだけど。

そんなわけで,あまり食指がのびない感じ。もうしばらくほっとくか,ってことにした。


MGS2 もそれなりに

2001-12-20

眠い……異様に眠い。無い時間を割いて ICO と MGS2 を平行プレイしているもんだから,昼間眠くて眠くて,もう。

けっきょくのところ, MGS2 もそれなりに面白かったりして,なんだかもう大変なんじゃよ。

"Rez" や 「ひっぱリンダ」もプレイしてみたいんだけど,この調子だと無理そうな気がする。仕事が暇になって,そのころに特にやるゲームがなかったら,こいつらをプレイしてみよう。でもたぶん,そのころにはまた別の注目作が出ているんだろう。

なんだかんだいって,僕らは飽食のまっただなかにいるわけで。過当競争の時代はもう過去のはなし,なんてのは,よっぽど間抜けなものの見方なのかもしれない。

ところで, PS2 版 "Rez" を見ながら職場のひとと話してたときのことなんだけど,このゲーム,処理落ち時に解像度が低下しないところからみて,たぶんディスプレイバッファに 448 ライン確保しているはずだ。でも,フリッカーフリー系のポストフィルタが入ってないうえに,ゲーム中のほとんどは 60 fps をベースとして進行するため, PS2 特有のジャギー(ほんとはこれはフリッカーなんだけど)が顕著に現れてしまっている。

特にこのゲーム,ラインやら生ポリやら,全体的にクリスピーなビジュアルで統一されているもんだから,ジャギーが余計に目立ってしょうがない。もしかしたら作為的なものなのかもしれないけど,これではラスタライズ処理の約半分を常にドブに捨てている状態なわけで,なんていうか,もったいないなあ,っておもった。

あと,どうせならあの山ほどのラインに,使えないことでとても有名な 1-pass AA を適用してほしかったなあ,とおもう。そして, PS2 で唯一 1-pass AA を有効活用したゲームとして時代にその名を刻むのだ。だめかなあ。


スウィフトの気持ちと

2001-12-21

今日は職場の忘年会。まだ忙しさは続くのだけど,みんないっときの開放に心躍らせているようだ……っていうか,あなたがた心躍らせすぎですぞ。みんな,忙しさのなかに抑圧されていたものが,ここぞとばかりに一気に噴出しているようだ。そのまま泥沼に入り込んでしまいそうな雰囲気だったので,早々に退散することにした。

宴会シーズンの終電ほど,避けたいものはない。それはたぶん,ジョナサン・スウィフトの気持ちと同じで。


最近,僕の睡眠時間を削っている要因であるところの MGS2 をプレイ。きりのいいところで終わらせようとおもっていたんだけど,怒涛のようなイベント地獄に止めるタイミングを失ってしまう,けっきょく朝までかかってクリアしてしまった。うーむ,不毛だ。ストーリーも不毛だし……

それは一種のメタ文学的手法と言えるのかもしれないけど,たぶん原作者の単なるオタク趣味が噴出しただけのことなのだろうと,僕は思う。そこにあるべきメタファーはなにも存在しなく,ただプレイヤーの背後を取ること,そのこと自体を喜んでいるだけ。単なる遊びにしても,趣味のわるいことだろう。

あるいは,単に僕が原作者のメッセージを読み取り切れなかっただけか。


見るべきところはたくさんあるのだとおもうけど,なんとなくあら探しばかりしてしまうのは,生来の気質なのかもしれない。とりあえず気になったのは,半透明部分でたまにフリッカーが発生していること。例をあげれば,オタコンの眼鏡のレンズ部分や,プラント編開始直後の水辺など。よく目を凝らすと,これらの部分だけがフリッカーを生じているのがわかるとおもう。

MGS2 は,マージ回路における2系統合成を使ったフリッカーフリーを使用しているようで,ゲーム中の画像のほとんどはフリッカーを生じないし,フレームレートが落ちたところで解像度が下がることもない(そのかわり VRAM をかなり犠牲にしているんだけど)。けど,なぜかこれらの半透明部分だけ微妙にちらついているのだ。

これが不思議だったんで, xxxx を xxx してみたんだけど,案の定,おかしな描画プロセスを発見することができた。どうやら,フリッカーフリー処理時に偶数ラインと奇数ラインがブレンディングされるのを逆手に利用して, 1/2 ブレンディングを不透明で行う,ということをやっているようだ。

これで仕組みはわかったんだけど,そうする理由がいまのところ見つけられないでいる。どうして素直にアルファブレンディングしないのか? 直感的にいって,複雑なポストエフェクト処理と関連がありそうなんだけど……どうだろう。


豚キムチ

2001-12-22

今日はひさびさのフル休日。まあ,例のごとく,日が沈むまで寝たあとに,メシを食いに松屋まで移動。夜行性動物だなあ。

松屋っていうと,僕はここ数ヶ月間キムチ牛めしに凝っていたんだけど,最近になってキムチ牛めしが急に廃止され,その代わりに豚キムチ丼なるメニューが追加されるという事件が発生している。やはり狂牛病の影響なんだろうか。松屋でキムチ牛めしを食ってるようなひとが狂牛病の感染を気にするとはおもえないんだけど。

試しに食ってみた豚キムチ丼の味は,んー,まあまあ。ギタギタの豚キムチにまっさらな白飯の組み合わせが,なんか妙なギャップを感じさせるような気がする。まあ,どうせそんなこと本気で気にしちゃいないんだけど。


なかなかいいお手本がないと嘆いていた "PSYCLE" なんだけど, Gerwin というひとの曲がなかなかいいみたいだ。

http://www.pastnotecut.org/psycle/

"2001" の,ちょっと荒っぽいブリープ感なんか,個人的には好き。 SID (C64) っぽくて。

ちょっと前に,某氏に「テクノはわからない」と言われたことがあるんだけど,この,普通の感覚からいったら耳障りなブリープ音を聴いて喜んでるような感覚こそが,テクノを理解できないと言わしめる要因なのかな,とちょっとおもった。

ていうか僕もテクノはよくわかんないんだけど。


SID のブリープ音が独特の味を持っているのは確かだとおもうんだけど,それが心地よいかどうかというと,別問題のような気がする。例えばアナログ系ベースラインのウネウネが生み出すグルーヴ感はある種の本能的なものを持っているとおもうんだけど, SID の場合は,やはりある程度のバックグランドを持っている人にこそ共鳴する要素なんじゃないかな,とおもったりする。

http://www.sidstation.com/

でもこんなふうにグッズ的な価値を付加されると,いやがおうにも物欲を刺激されますなあ。冷静に考えると,どうやってもコストパフォーマンスが合わないんだけど。


3% の誤差

2001-12-23

011223.png

本屋でなにげに "Linkers & Loaders" (オーム出版)を購入。静的リンカから動的リンカまで各種リンカについての解説や,プログラムコードのロードや実行の仕組みについて解説した本のようだ。

普段,特に PC を触っているときなんかは,あまり縁のない話ではあるんだけど,コンシューマゲーム機なんかを触るときには,どうしても避けて通れないシチュエーションが,たまにやってくることがある。

なんだかんだいって 32MB は予想通りの狭さだったわけで…… Xbox の 64MB なんかもあっという間に食いつぶしてしまうんだろうなあ,とおもう今日このごろ。


作りかけで放置状態だった irradiance mapping の実験プログラムを,ポップアップメニューを付けたり,ソースを整理したりして,それっぽい形に仕上げてみた。

http://www.din.or.jp/~keijiro/temp/vtxprog.zip

特にたいしたことはしてないんだけど, cygwin でも十分にやっていけることは実証されたわけで,そこらへんがちょっと意味あるのかもなあ,とおもう。

ところで,ポップアップメニューから "Random Lightsource (single)" を選択すると,単一の平行光源を irradiance mapping に焼き付けた場合の挙動を観察することができるんだけど,ちょうど光源の裏側あたりに薄くムラがのってしまっているのが気になる。僕の組み方が悪かったのか,それとも,例の「最大で 3% の誤差」がこれなのか。できれば,僕が悪い方に賭けたいものだけど……


dish

2001-12-24

最近, dish (distributed shell) っていうリモートシェルの一種を,コンパイルジョブを分散させる用途に使っていたんだけど,これがどうも,たまにおかしな動作をしているような気がしてきた。

http://www.chem.nagoya-u.ac.jp/matto/dish/READMEJ.html

これ自体はごく普通のシェルスクリプトなんで,自分で修正を加えればよさそうなもんなんだけど,その,なんていうか……すごく「累積的な」拡張がなされているスクリプトなんで,ぱっと見て内容を理解することができない。うーん,しんどいなこれは。

けっきょく,同等の働きをするスクリプトを自前で作ることにした。最初からそうすりゃよかったなあ。


くだんのスクリプトを作成する際に,はじめて System V IPC (プロセス間通信)を使ってみた。 UNIX でプロセス間通信っていうと,僕はもっぱらソケットや名前パイプ (FIFO) を使うことが多かったんだけど,それはまあ,当時はそれしか妥当な方法がなかったから。今となっては IPC の方がだんぜん使い勝手がよさそうだ。

http://www.turbolinux.co.jp/world/library/features/c_magazin...

例のごとく python なんで, "Vaults of Parnassus" にて適当にサーチ。それっぽいのを簡単に見つけることができた。

http://www.theory.org/~mac4/software/

この,目的をキーワードに適当にサーチすりゃ,たいてい誰かが何かを作ってるっていう,他力本願的都合のよさが python のいいところだとおもう。もっとも,モジュールの数では perl の方が多いんだろうけど。

そんな感じで

mq.send_p(hoge)

ってやるだけで,オブジェクト hoge (中身は問わず)が勝手にシリアル化されてプロセスの彼方へと飛んでくようになりました。お手軽やね。


Pure Data

2001-12-25

011225.png

家に着くと, CD baby に注文していた alpha conspiracy の CD が,ドアのポストに投函されていた。ケースは外して送ってもらったんで,封筒が小さいのが印象的。注文してからの対応も速かったし(1週間かからなかったね),なかなかよかったかなあ,とおもう。ちょっと味をしめてみようか。


というのとは実に対照的になんだけど, amazon.co.jp に注文していた blender のマニュアルについては,さんざん待たされたあげくにこんな返答が返ってきた。

> 誠に申し訳ございませんが、大変残念なご報告があります。お客様のご注文内容のうち、
> 以下の商品については入手できないことが判明いたしました。

まあ別にいいんだけど,絶版になっちゃったのかなあ。

最近の blender は Web3D 方面をターゲットに方針の転換を行っているらしく, Web プラグインを配布したり,コンテンツ配信向けの API を強化したり,いろいろやっているみたいなんだけど……なんかいまいち冴えない気がする。個人的には, GameBlender や Web3D 方面に凝るよりも,ツールとしての機能充実や SDK の整理に力を入れてほしいんだけど。

まあ,お金になんないんじゃ,しょうがないけどね。


なにげに見つけたツール。

http://www.crca.ucsd.edu/~msp/software.html

カリフォルニア大の Miller Puckette 氏が開発している "PD" (Pure Data) というツール。 GUI 上で "object" や "message" といったパーツを配線によって連結することで,ビジュアル的にシグナルプロセッサを構築する,というもののようだ。ちょっとしたシンセみたいなものや,アナライザなんかを簡単に作ることができるらしい。

OpenGL で視覚出力を行うためのモジュールや,画像処理用のモジュールなんかも存在するようだ。

http://www.danks.org/mark/GEM/

http://framestein.org/

音響の視覚化や,画像の音響化なんかを試す場合には,わりと便利な道具になりそうな気がする。「プログラミング言語を知らない人にとっては」っていう前提付きでだけど。

自分にとっては,さほど利点を感じられなかったので,今回はパス。方向性としてはちょっと面白いかもな,っておもう。

なので,ちょっとメモしておこうとおもっただけ。


GA

2001-12-26

ここ最近, Geometric Algebra ,つまり,いわゆるクリフォード代数について調べているんだけど,なかなか僕のレベルに合うような簡単な解説が見つけられなくて苦労している。

そもそも, GA が何者かもわからずに闇雲に調べているところからして不毛なのかもしれないけど,そこは単なる好奇心が動機なんでしょうがないとおもう。なんか,いまのうちに調べておけば,そのうち役に立ちそうな気がするんだよねー,って程度。

とりあえず,お約束であるところの "Imaginary Numbers are not Real" を読んでみたんだけど,ディラック理論やらパウリ・スピナーだの言い出したあたりで完全にアウト。量子力学なんて興味ないし,だいいち何もわからないもの。

http://www.mrao.cam.ac.uk/~clifford/introduction/intro/intro...

まあそんでも,導入部分と記号の意味ぐらいはわかったんで,次は具体的にどういう応用ができるのかを知りたいところ。いちおう,CGやロボティクスにも応用されているらしいんで,僕にも多少は面白いことがありそうなものなんだけど。

そんな感じで,ほぼ諦めかけていたころに,これぞ! って感じ資料を見つけることができた。

http://carol.wins.uva.nl/~leo/clifford/index.html

http://carol.wins.uva.nl/~leo/clifford/talknew.ps

ちょうど僕ぐらいのレベルのひとを対象にしているみたいで,退屈な前置き無しに,いきなり直感的な概念の導入から解説が始められている。具体的な応用の提示から始めて,徐々に抽象的な解説へと下っていく感じがいいとおもう。文字が大きくて図表が多いのも好印象。気が休まります。

とりあえずこれを読みくだすところから始めてみよう,とおもったわけで。


Maximo

2001-12-27

職場のひとが「マキシモ」を買ってきたので,ちょっと見せてもらった。うーん,意外と面白いかもなあ,これ。

ジャンプして,剣を振って,アイテム集めて,鍵を探したりして,って感じの,ほんと絵に描いたように素直なアクションゲームなんだけど,全体的に無難にまとめられているのがいい感じ。

今になって思い返してみると,ファンタジーもののプラットフォーム・アクションゲームって,ありがちなようで,良作と言えるものにはあまり恵まれてなかったような気がする。ドラゴンヴァーラーってのもあったけど,あれは,ねえ。

というわけなので,全然ノーマークだったんだけど,マキシモ買ってしまうかもしれない。ジャック&ダクスターはどうした。うーん。

ところで,マキシモも制作は海外チームなんだそうで,繊細なバランスのなかに,わりと洋ゲーっぽいあっさりした風味を持ち合わせた微妙な仕上がりになっているとおもう。全体的なローポリ感+テクスチャ・リッチな雰囲気が「レイマン」を連想させるところでもありますな,っておもうんだけど,どうだろ。


先日届いた Alpha Conspiracy の CD を CDex で MP3 化する。

http://www.cdex.n3.net/

MP3 化するのは,単に CD を入れ換える手間が無くなるのと,家と職場の両方に置けるようになるのと,ただそれだけの理由。あと, HDD が余ってしょうがないから,ってのもあるかもしれない。手持ちの HDD の容量の半分以上が MP3 で占められていたりするわけで。

PS2Linux の HDD が 40GB もあるんだけど,まずそんなに使わねえっつーの,って感じで,案の定 MP3 置き場と化している。 O2 を導入して以来,端末として PS2 を使うことも無くなってしまい,いまや単なる MP3 サーバとなってしまった PS2 。ちょっとかわいそうな気もする。

でもまあ,動作音は静かだし,音声出力もそれなりなので, MP3 サーバって使いかたは相応なのかもしれない。

ていうか O2 の動作音がうるさすぎるんですけどもー。


仕事納め

2001-12-28

今日は仕事納め。なんだかんだいって,今年の年末年始は人並みに休めそうな雰囲気になってきた。なので,僕も普通に仕事納める。適当にアルコールを飲んだり,ジャンクフードを食らったりして。

酔い覚ましがてら,職場の近くのツタヤに行って「マキシモ」購入。それほど底は深くない感じのアクションゲームなんだけど,年末のまったりとした時期を,なんとなくだらだらとプレイしながら過ごす分には,いいソフトなんじゃないでしょうか,とかおもったりして。

職場の人も言ってたんだけど,地面から骨男がボコって現れて,叩くと適当に粉々になって消え,っていう流れは,制作者側にとってはわりとおいしい設定だったりする。NPCの制御を主人公の周囲だけに限定できるってメリットがあるのだ。

例えば三国無双みたいなゲームだったら,NPCの制御にもLODみたいなものを持たせて,近くのキャラはちゃんとした制御を,遠くのキャラは集団レベルで制御を,とかいった,きめ細やかな管理が必要とされる。数がいつのまにか減ったり増えたり,なんても許されない。

MGS2をプレイしていると稀に見られるんだけど,倒したキャラが点滅しながら消えることがある。描画処理に費やせるリソース量が限定されている以上,死んだキャラなんかに処理を割いてらんない,ってはプログラマ側の言い分だろうけど,ハードボイルドとリアリティを重視するゲーム設定である以上,キャラが点滅して消えるなんてのはならべく避けたいところ。たぶん制作者も断腸の想いで入れた仕様なんだろうとおもう。

とかいうもろもろの問題とも関わらなくて済むゲーム設定なわけで,そう考えると,そうとう恵まれているゲームなのかもしれない。


まったり日

2001-12-29

今日から年末休み。とりあえず,これでもかというくらい寝まくる。結局,起きたのは夜の8時。いくらなんでもちょっと寝過ぎ……。

例のごとく松屋でメシを食って(当然,豚キムチ丼で),そのままぶらりと本屋に寄る。なんとなく,「ネットランナー」と,幸村誠の「プラネテス」を購入。


「ネットランナー」は,ダメ人間のためのダメ人間ネット雑誌として有名なアレだけど,初めて買ってみた。ダメ人間なので。

それはともかく,この雑誌って,もしかしたら,ネット利用者のニーズを最も的確に把握している雑誌なのかもなあ,とかおもってみたりした。最初の頃はこんな雑誌じゃなかった,って所が面白いとおもう。でも,この内容で¥880はちょっと割高感がしないでもない。

「プラネテス」の方は,ほんとに何気なく購入したんだけど,おもいがけず当たりくじを引いてしまった感じ。素晴らしいです,いやはや。宇宙好きな方々に是非ともお勧めしたい一品だ。


その後,ひさびさに IRC に行ったりして,妙にまったりとした時間を過ごす。やはりチャットは独特の時間の流れを持っているとおもう。掲示板やメールなどは,自分のペースと会話の密度を保てるのがいいところ。ブレインストーミング的な効果ではチャットの方が優れているとおもうけど。


まあそんなわけで,非常にまったりした一日。明日からは休日をもっと有効に活用したいと思った。以上。


lambda

2001-12-30

HTML を生成するのに使っているスクリプトに気に入らないところがあって,それで,日がな一日,それを書き直していた。普段から,いつか書き直してやる,っておもっていたんだけど,なかなか気が向かなくてそのままになっていたのだ。

こんなくだらないスクリプトでも,なぜかやけに真面目に書いてしまう。ほんとはもっと,くだらなく書くべきなのに。

Python の主義には,「同じ処理を書くのに複数の書き方が存在しないこと」ってのがあったとおもうんだけど, lambda 式の存在がそれをだいぶ崩してしまっているとおもう。 lambda 式は便利だし僕もつい多用してしまうんだけど,これはきっと無くすべき存在。

だって python は lisp じゃないんだし。


ドジ研アンテナで Bee さんのページの更新を捕捉している。ひさしぶりっ! って嬉々としながら訪問すると,あの方はまた, VB で Photon Mapping をやっていらっしゃった。

うおっ,萌える(え?)。

僕の家に来た Jensen 本はというと,以来,まくらとまな板にしか使ってないわけだけど,使う人が使えば,ちゃんとした使いかた(たぶん,まくらとまな板以外の方法)も見出せるわけで。

ためしに僕も読んでみたんだけども,読み始めてから5分後に,本が逆さになっていることに気がついた。


おおみそか

2001-12-31

来年も(も?)良い年でありますように……