過去の独りごち/独りごとはこちら
過去のJavaアプレットは
こちら

 

1/14 反芻

 AIR、少しだけ進めています。 曲と背景画…Kanonにも増して凄いです。シナリオはまだ味わいチュウ。始めたら読了するまで一気に読み進めてしまうので、それもなんだか勿体無い気がしてじわじわ進めています。

 で、プログラムについて観察観察〜。

 今までやった感じでは、オープニングの豹変振りの割に、中身のプログラムはKanonからそんなに変わってなくて、目に付く変更点といえば「Win2KでもCDDAのフェードアウトが可能になった」、「文章の回想が可能になった」くらいですが、嬉しい事です。

 Kanonの時点で既に洗練されたUIを備えていたという感もあるので、変に細工をしてそれを崩したりしないという姿勢は見習うべきかも…と思いました。 DirectX不使用もそのまま。これは嬉しい配慮です。

 いや、しかし、僕のまだやってない部分に関して、まだ驚くような細工が用意されているのやもしれません。

 して、自分のプログラムに目を向けてみる、と

 今言うのもなんですが、きっちんについて、プログラム的に色々と反省点があります。なんといいますか、反省点があってもメモしないと忘れますし、公言しないと次回作に反映されませんから、ここで晒すことにします。

  • CGビューワとしてのmimi2K自体は、ほぼそのまんま
  • CD-ROMからの読み出しが頗る遅い
  • 実はあんまり自分で考えてない

 うぐぅ、イタいよぅ…(ヤメレ

 なんか、最初ので全部言い切ってるような気がしますが、前作ねこにっきからあんまり手を加えてないのバレバレです。せめてスポット処理の方法くらいは変えたほうが良かったとつくづく反省です。

 テキストビューワでの禁則処理の未実装は…フォントのピッチはどうせ固定なので、テキストを書く側で調整してもらおうという意図の元にそのままにしたのですが、製品として禁則処理未実装の結果を目の前に2度も晒されると、堪えますな〜m(__

 そういえば、Kanonも禁則処理はやってないな…(だから何?

 あと、ねこにっきの積み残しだった、DIB操作ルーチンの32ビット化もやってません。αチャンネルが画像に載っているというのは良いことです。スプライトなんかには。スプライトといえば、DirectX8だとカラーキーが無いんですね。αチャンネルで賄え、と。一見煩雑ですが、思想的にはスマートだと思います。21世紀に突入したというのに、ただの2段階で背景との合成具合を決定付ける方法がまかり通るというのは、畢竟時遅れではありますまいか?…同様に、透過GIFも何とかして欲しいですよね(脱線

 …とはいえ、きっちんだと、スプライトの表示に改良を施しても画面左に表示されてる小虎の表示にしか影響しないといえばそうなんですが。

 ここでふと思うのは、エッジ部分の処理のためだけに、なんで画像全体にα情報を持たせなければならんのかという点です。20世紀の貧乏性が再びボクに牙をむく。αチャンネルだけRGBとは別に持って、αチャンネル部分だけランレングスで圧縮する、とか。半面順次フォーマットとでもいうんでしょうか…、それをメモリに持っておいて、実際の合成処理の時にもそのデータを利用する、とか。すると、透明度0のランの識別が簡単にできるので、半透明合成の演算は必要な部分にだけ行われるという寸法です。名作WinGLのDARを拡張した感じかも〜というと分かりやすいでしょうか?

 従来どおりのカラーキーを使いつつ、エッジにアンチエイリアスを掛ける技法、というのも考えたのですが、表示速度の低下はもとより全然スマートじゃないので、やっぱりαチャンネルだなぁ…と考えました。

 あとはアフィン変換も付けたかった…

 結局、Direct3D HEL使った方がいいんじゃないのかという気もしますね(^^;)

 

 それから、CD-ROMからの読み出しが遅い原因については、画像データが圧縮も何もしてないBMPで供給されている点に尽きます。圧縮とアーカイブにまとめる事くらいはやった方がいいですね。

 ただし、データをアーカイブに入れて扱うとなると、個々のデータを編集しながら完成にじりじり迫っていく制作の過程がストレスフルになるのは先刻ご承知でしょう。

 製作段階ではアーカイブを使わずにバラバラのファイルを用い、仕上がった段階ではじめてアーカイブを使えるように、簡単にスイッチする仕組み、というのは勿論有るんですが、マスターアップぎりぎりまでデータが揃わないというのは容易に想像がついたので、実装するかすまいか悩んでいたら、こうなってしまいました(爆)

 アーカイブに含まれるデータを単独のファイルの群れと同じように気軽に扱えるようにする枠組みまで考えるとなると、これはちょっと厄介かもしれません。 例えば、アーカイブ内の一部のファイルだけを更新したり、更新のためのデータをFTPサーバ経由でUL&DLできるような手段が必要です。また、それぞれを行うための専用のソフトウェアも、できればexplorer.exeとなじむような物…たとえば、シェル拡張などが望ましいと思います。

 

 で、最後。…今回はわりと、なっと氏の注文どおり組んでる状態だったという感が否めません。

 そういうやり方だと、どうあがいても仕上がりは彼の要求の90%あたりまでしか届かないでしょう。仮に100%に近づいても、そんなんじゃ、ダメなんだな。

 それだと、僕は作品作りに関与するという意味ではゼロ人前です。もしなっと氏がWindowsのプログラム組めたら、僕はそこに居なくてもいいわけです。

 また、今回はたまたま彼が的確に指示を出してくれた御蔭で自分達で見てそこそこ納得の行く仕上がりにはなったのですが、もしそうでなかったら、特にオープニングとかは壊滅状態になっていたに相違ありません。

 いや、プログラマはDiablo2ばっかりやってて欠席してたんですね。うんうん(死

 

 …ちなみに、Dia2はやっと辞められました。いや、ホントに。

 もうこんなハックアンドスラッシュなネットワークゲームには手を出さないことを誓いつつ、次回作に向かうのです。

 

Taku Hayase(SANDMAN)

戻る