Yo.の Win95 Game 開発日誌

<-96/11月分 97/05月分->

開発日誌 1997/04/25

ちょっとグチかも。まー、こんなこともあるってことで参考まで。

仕事関係で Visual Basic 4.0 を使っている。プラットフォームは Windows95 という話だった。当然 Windows95 にあわせてユーザインタフェースもかなりの量を設計し、ほぼかたまって、事前に資料も配布してインタフェースの打ち合わせに挑んだ席で出た言葉。「Windows3.1 でも動かしたい」

このとき、同じ会社の人間がわがままな客に見えた(笑)

「ったく、んなことは製品の企画段階で最初っからいっとけや」... とは言えなかった。ちょっと気が弱いかも。そのかわり「ユーザインタフェースの見直しの工数がかなりかかりますよ」それでもいいんですね、といってやった。それでもいいらしい。ほんとかよ。どうせ後ろ(リリース日)が決まってるんだし最低三人は必要なプロジェクトを一人でやってるんだから気楽なもんでいいんだけど。その一言で苦労するのは私だけだからね?

で、そんなこんだで Windows3.1 の一言で美しい 32bit なユーザインタフェースはもろくも崩れ去ったのだった。16bit 版の VB は long filename が使えないので、しこたま作ったクラスやらフォームやらの名前は ~1 やら ~2 やらがついてぐちゃぐちゃ。おまけにエラーがでてちゃんと読めないし最低だ。フォントもデカくなってるし、コントロールの位置も変。二度と修正されない 16bit の MFC ででも書き直してやろうか :-P


Daisy Art 95 がバージョンアップされていた。NIF のベンダステーションになにげに行ったらあったので (^^; ゲット。アンドゥが高速化か。おおっ、たしかにディスクにガシガシいかなくなったような気がする。って気のせいかも。


開発日誌 1997/04/24

なんだか落書きが増大傾向にあるから、そろそろこのページにアクセスするのが重たくなっているかもしれない(汗) 一週間単位で分けようかしらん。

S-Talk 1 (Free Talk) の恋たまとの会話によれば、8bit/24bit両方のテクスチャをさほど意識せずに扱えるようなので、テクスチャ8bitの云々ってのは関係なさそうだった。.x に仕組んであるテクスチャは mesh のロード時に自動的に LoadTexture が呼ばれるんで、うまく 8bitも 24bit も切り替えてロードされる筈なんだけれど、うーん、3ztestのテクスチャは実際には読まれていないみたいなんだよね。

で、LoadTexture を明示的に呼ぶ場合について、3dTestの方の mapping2.ppm を mapping2.bmp(8bit) に変えて試してみたらちゃんと 8bit のテクスチャも貼り付けられる(おお!)ので、ためしに 3ztest の方に、8bitテクスチャをロードする .x を読ませるようにしてそれで試したら、おや、読める。うげげ、これってまさか...んで、調べると、どうも d3z.x で使っている d3z.bmp のサイズが 512x256x8なんだけれど、それを 256x256x8 に変更することで動作するようになるので、3ztest の d3z.x の問題だったの? うひー、ぐったり。調査終了かな?

ということで悩みの種が一つ減った。ぜえぜえ。

ein2

そんでもって

これは Daisy Art を買う前に使っていた Image Folio っちゅー、 NEOSのスキャナのオマケで描いたものです。これはこれで味があるんだけれども ImageFolio は筆圧に対応していないので、タブレットをマウスパッドにしてマウスオンリーで描きました(笑) うひー。あんまり時間かけたら落書きにならないしね。

まー、こんな私の落書きをみかねて、キャラデザインをやってみようという人がいたら私あてにメールだだだ。 この絵のオリジナルは、1952x2148x24 なんですが、A4 サイズの絵を 400dpi でスキャナで読ませ、Daisy Art で描こうとすると、スワップの嵐になって、実際に使い物にならない速度で動作します。困ったことに。主記憶 96MB あるのにねえ。 (x_x)

Daisy Art で使い物になる速度で動作する画像の大きさはその半分くらいですかね。だからちょっと使いづらい。PhotoShop はどのくらいの大きさまで快適に扱えるんでしょうか。メモリ積めば積むほど楽になるかな? ちなみに trueSpace2 はメモリがあれば大量のオブジェクトを持っている場合のレンダリングが速くなるので楽になりますね。


開発日誌 1997/04/23

ちょっと間をあけるとこれだからな(笑) >Yo.
最近ラクガキばかりなのでまじめなのも描こうとしてます。ええ。 (ほんとだってば)


いやあ、4/20 のインカムについて反響が(笑) たしかにデスクワークなら問題ないというか安全っすね。 でもあれはパイロット用なんだよお。
3025年、重力をつかさどる物質グラビトンがフォン=レファンス博士らが 中心となって編成された特別研究チームにより発見されたため、その10年後、 統合政府の宇宙軍(U.N.S.)の依頼により、グラビトン応用技術としての 高度な重力制御システムにより、急制動急加速に伴う人体への影響が 極力カットされる構造(A.G.T.M)をつくりだすことに成功した。 (しかしそのために機体の大きさがある程度犠牲になった。 これら高度技術をグラビトン研究チームの一人が反統合政府勢力に対し漏洩した ことによりある事件が起こるのですが、それはまた別の話。) ということになってます。つまりまあ、このシステムを真っ先に採用した 彼女らの特殊任務部隊(名称は極秘のため記述不可能)ではあのような旧式の インカムを好んで使うこともできるようになっています。 彼女らの世界の科学レベルでは、襟に仕組んだ指向性マイクで自由に会話が可能 (二ユートリノ通信方式(笑))になっています。そのころでは、宇宙線の問題や、 現在問題になっている、宇宙生活が長くなることによるカルシウムの流出等の 問題もクリアしており、宇宙での生活が一般化しています。ってぜんぜん日記じゃ ないよ、これ。
Rockem3Dのソースを読むついでに Direct3Z のソースもちょいといじってみた。 Direct3Zと Monster3D の組み合わせで 3ztest を起動してもなぜかテクスチャが 張られないという現象にみまわれて疑問に思っていたからだ。
延々調べたところ、問題は実は単純なところに隠れていた(笑)
Direct3Zの3ztest は 8bitのテクスチャを貼っていることに気が付いたんす。
Monster3Dって 8bit色のテクスチャを貼れないのね(注:ちゃんと読んで貼れることは確認してます。これを書いたときにうまくいかなかっただけ)
ひー。それは無駄すぎる。
monster
つまりだ、Monster3D に対応するには、カードにあわせて8bit色テクスチャと 16bit色テクスチャを両方持たなければいけないということか。 (もしくは 16bitテクスチャ only)
これは最近の廉価な 3Dカード (2Mのやつ)には酷な話だ。これは困った。 それに配布の際の対応が問題になりそうだ。 同時にわかることは、ViRGE は 8bitのテクスチャを張れるということなのね。
Monster3D は国内ではまだ(といいたいけどいまさら無理)マニア向けらしいし (^^; PowerVRの導入とかも考えなきゃいけないなあ。
でもMillennium だか Mystique との相性がどうのという話も聞いたので (実際のところその辺が確認とれてないんだけれど)ちょっと躊躇するところ。
とまあ、地道にかろうじて(笑)お勉強は進んでいるけれど歩みが遅い今日このごろ。 んで、ちょっと前にRosanna さんの Web Page の URL がわかりました。ここからジャンプできます。

開発日誌 1997/04/20
ein
3DTest をちょっと触った。
左右と上昇、下降時に機体を傾ける処理をいれた。
それと、弾を発射する処理。大した変更ではない (^^;
恥知らずにもテスト公開しているので、笑ってやってください。


久しぶりに NIF の FGALGL 定例 RT に参加。
その間に描いてた落書きってのがこれ(笑)
色を塗る前にとりあえずモノクロにて公開。っていえるほど大したものではない。 色を塗るときには、背景は Barnard 33 (ってなに) みたいなのにしようかな。
これはパイロットスーツなんだけれど、なぜミニスカート風になっているのかはこの宇宙服のデザイナーの 趣味という設定だ。(わはは)
放射線をカットする黒いアンダースーツを着たあと、上からプロテクタを含むスーツを着込むようになっています。
インカムは必需品。インカムのマイクは左右好きな方にアタッチできる構造になっていて、彼女は 左側につけておく方が良いと思っているらしーです。

手袋のあたりはちょっとメカメカしてますが、機内に表示されるフローティングパネルを操作するのに必要という ことになっています。まあ、高度なデータグローブっていう感じですかね。
いや、しかしなんだな。これは開発日記というより落書き日記(笑)
この日記がどうなるのか長い目でみてやってください。
最近のお気に入りのフリーCG作家は Rosanna さん。 アンティークロボットのメカ代ちゃんが良いんだな、これが。 なんというか、メルのコンセプトとどこか通じるものがあって(^^;
うーん、Web Page 持ってないのか。しくしくしく。

開発日誌 1997/04/18

Meru in Wonderland
ちょうど良い機会なので、ちょっとだけ昔のことをふりかえってみます。 ぬりぬりメルちゃんの話。 結果的に、ぬりぬりメルちゃんは完成していません。 完成しませんでした、と書いていないのには訳があります。 メルで知り合った人たちは私に大きな影響を与えました。 開発の進め方としては失敗かもしれませんが、それが教訓となっていま現在の 私のフリーソフトウエア作者としてのありかたに大きく影響を与えています。 サイドストーリー的なものや全体の雰囲気にこだわりすぎ、当時の自分の作業限界を超えていました。 そのため完成にいたっていないという訳です。 汎用的で高速なライブラリ master.lib の存在はありましたが Turbo Pascal と自作アセンブラルーチンで作るという、いまからすれば変な信念もありました。 まず自分でつくってみることが重要だと考えていました。メルの作成開始もそんなことが発端になっているかも しれません。


完成していないことに関する大きな問題点はトータル的なゲーム作成に関する経験不足でした。 いまはだいぶわかってきました。ある1ステップは超えた気がしています。でもまだまだ超えなければならない ハードルはいまでも沢山ありますし、あとからあとから増えていきます。DirectXの登場もそうですね。真っ先に自分で DirectDraw 等との会話を行っていかなければ進歩がないと思いつつ、今は WinGL のお世話になっています。
WinGLは私が作るよりもきっと圧倒的に速いカスタム描画が安定動作し、普通にやれば全て自分で考えなければならない 面倒なことまでしっかりサポートしています。

今ならリソースさえなんとかそろえればという条件付きですが (まあ PC-98x1 の時代とはプラットフォームも違いますけれど) 退屈しない新しいゲーム内容とゲームレベルで メルの旅をを真に完成させられるような気がします。これに関係した人たちのためにも いずれ何らかの形で完結させなければならない大きな課題だと思っています。 ぬりぬりメルちゃんを真に完成させたときはじめて、私の「ゲームプログラミング入門」が終わるように思えてなりません。

開発日誌 1997/04/17

自分でいろいろ更新できるから、やっぱりいろいろ書いてしまったりします。 忙しいとかいっておきながらこんなの描いているし。


次の作品の構想を練っているんですが、なかなかまとまらないですね。 ネタ出しは随時やっていまして、出た意見からすると、いままでにあまりない形の シューティングゲームができるのではと思っています。 制作開始!とか言っても 忙しくてまだ仕事分担決まってないんす(笑) だれかキャラ絵CG描いてやってください。 どこかのだれかは美少女シューティングとかいっていますが、どうなることやら。 だれが美少女描くんだい。うらうらうら。私はこんなのしか描けないぜ。 ということでキャラ絵描ける人、急募。 モデラーもよろしく。 あ、そうそう、プログラマーも(おい)
いまのところ、3D シューティングになる予定なのですが、どうも Direct3D RM では 遅いという事実が... ってまだポリゴン数減らしたり、いろいろな工夫も思い付いていないので なんとも言えないんですが。
独自3Dエンジンを持っている訳ではないのでどうみても私には IM は無理だろう。
将来的に RM がガシガシ速く動くことを祈る(笑)
3Dもドが付く超初心者(シロート)なので、3Dシューティングとはなんと理想が高いことか(笑)
(理想は遥か高く、目標は高めに設定しようね)
みんなして 3D シューティングを作っている気配がするので(笑) そうとわかったときは 「ほっぷぽっぷん」みたいに データ量を増大させたプリレンダリング系になる可能性もありますね。
プリレンダリングにすると、なかなかネットワークでテストできる状態ではなくなる 可能性は多いにある。プリレンダリングを生かすには、コマ割りを普通のビットマップで描く ものよりも多くしないと、逆に陳腐なものに見えてしまう恐れがある。 ほっぷぽっぷんでは、そのことを考慮してパターンの数が多く、動きに気をつかっている。

開発日誌 1997/04/16

最近仕事が忙しいので更新している暇と趣味のプログラムをしている暇がなくてむらむらむら。 ssi 使った gif カウンタをつくろうかと思ったんだけれど、時間がーーー。
とかいいつつ、この日記をつけている訳なんですが(笑)
ferdia からいろいろ教わったので、アヤシイことを始める予定。


VB4でチェックボックス付きのリストビュークラスを作成してみた。 クラスなんて使って、他の人が読めるんだろうか。いまのところ一人で書いているから良いようなものを。 リストビューが CListView みたくクラス化されてたら、継承一発でもっと楽になるんだが... って何の話だ。ゲームの開発とはぜんぜん関係ないな(笑)

開発日誌 1997/04/15

ssi を使って Web カウンタをつけてみました。 参考にしたのは(ってそのままなんだけど)ここ
時間がなかったのでゼロサプレスはサポートしてません(笑)
それに、行ったりきたりしているとガンガンカウントがあがっていってしまうのだ。うーむ。
グラフィックスを使ったカウンタってお金がかかるのね...
Yahoo! を調べたら、So-net でカウンタサービス開始とか書いてあったのだが、リンク先がなくなっている (^^;
カウンタごときで月500円は高いとか思うのは私だけだろうか。


開発日誌 1997/04/13

Webページの作成はなんと骨のおれることか。苦労の割には良いものができないのでぐったり。
色もちょっと変えてみた。


たらたらとやっているディアブロもやっと(笑) HELL に突入してもよさそうなレベルに到達。 ユニークアイテムの EAGLEHORN 強し。現在 ATLANTA (Rogue) は Lv.22。弱いなあ。先日、battle.netに突入。 Rogueの弓って味方に当たるのね (^_^;

開発日誌 1997/04/12

このページの原形をつくった。


3D Test が重くなる原因のひとつには、あのシーンに登場するメッシュのポリゴン数の多さがある。 シンプルにみえるが、想像するよりもかなり多い。
trueSpace から .x に変換するツールが穴ポリゴンに対応していないのでそれに対応するために 元データを三角ポリゴン化しているのだが、ポリゴン数を増やしてしまう。
ぜんぶ作りおわってから三角ポリゴン化するからいけないという話もあるが。
もっとシンプルに箱のかたまりにして、造形をテクスチャで作りこむという 方法にしなければならないようだ。
また、わざと遅くなるシーンをつくっているというのもある。 トンネルをスカスカにして、下にある建物がみえるようにしているため 計算量が増える。これは意図的だが、 一つのシーンにどれだけつくりこみをしなければならないのか まだつかめていない状態であるのが現状。