7月26日 新WinGLあきらめかけ

 前回、新バージョンのWinGLのリンクに成功したんだけど、これでちょっと問題発生。なんだか、パターンファイルを読み込んだ時にプログラムが強制終了したりする現象が発生しはじめたのです。で、これに関してWinGL掲示板に書き込んだところ、WinGL製作者の戀塚さんが新バージョンを作ってくれました。どうやら以前のVerには一部パターンの解放漏れがあったそうな。で、新バージョンを使ってみたんだけど、やっぱり強制終了しちゃう。はてはて謎ということで、今一度WinGL掲示板にかきこむも、なんだかこのバグが再現できないようで戀塚さんもわからないそうな。で、僕が再現できるソースを準備して、戀塚さんにわたそうかとおもい作ってみたんだけど、これがなんと強制終了しないでわないか!!ファイルの読み込み等、神威と全く同じにしてみても全然落ちる気配なし。ということは、原因は神威のソースにあるっていうことなのだろうか?とおもいちょっと困る。神威のプログラム、一見ゲームの表面だけをみてみると、なんだかすごいプログラムを書いているように見えなくもない。しかしその中身の実態はたいしたことはなく、描画関数やパターン登録関数とかは全てWinGLに標準で付いているものばかりを使用(要するに、自力で描画したり、内部で特殊なパターン合成をしたりは一切していないって事)。ってわけで、現状どうにも心当たりがありません。特殊といえば自力で実装した加算半透明くらいだけど、これも大したことはなく、単にWinGLのソースにあった半透明生成関数の計算を足し算に変更して関数名を変えただけのもの。
 しかしこのまま悩み続けていては自分で設定した99年末完成予定に間に合わなくなりそうなので、仕方なく旧版WinGLを使用して開発続行することにします。いやまぁ最初は97年末完成予定とか言ってたんだけど。あははー

 今回はこれに結構時間をさいていたので、他にした作業といえばこれくらい↓

19990725_02.gif (23174 バイト)
シールドぽわわん。反射はしないので安心せよ

19990725_03.gif (22687 バイト)
0.25秒くらいでぱりーん

ダメージを受けた時のシールドエフェクトがやっと完成なのです。現在の体験版では、ダメージをうけたらちょぴっとだけ火煙をだすんだけど「シールドなのに何で火を吹く!?」とずーっと思ってました。ようやくシールドらしいエフェクトに作り直せたってところ。ちなみにシールド自体は約0.25秒ではじけるけど、無敵時間は相変わらずの1秒です。

んであとはこんなところ↓

19990725_01.gif (16418 バイト)
起動時の画面モード選択

ゲーム開始直後に、ウインドウモードかフル画面モードかを選択できるようにしました。いままでの体験版で、「起動しても画面が真っ暗ー」という報告が何件かあたので、それの対処が主な目的。フル画面モードで画面真っ暗な理由に「DirectXにちょぴっと依存>ハードウェアやドライバに依存」ということがあるため、僕の力ではどうにも解決する方法もわからず。しかしウインドウモードなら安定して動作するはずです。Windowsの画面解像度自体を下げれば、そこそこ大きな画面で遊べるはずだし。
 ちなみに背景のCGがやたらカッコイイけど、僕がつくったわけではなく、ネット友達のあるふぁんがモデリングしてほえみみがレンダリングした画像を仮においてます。う〜ん見栄えするなぁ

とまあ、今回進んだのはほんとにこれだけ。次週こそは明らかに眼にみえるような進展をさせてくれるわ!!

−終−

7月19日 もでもでと新VerのWinGL

 今週は先週予告した作業をまったくせずに違う事ばっかりしてました。おいおいってかんじだ。

・作業その1>画面レイアウト

かなり前神威の文字フォントを書き換えてから画面レイアウト(スコア表示部とかね)がおかしくなってたのをようやく直しました。↓

990712_01.gif (20646 バイト)
いままでのステータス。シールドとか変になってる

19990719_06.gif (13610 バイト)
今回直したのはこんなの。シールドは右下

あとちょっと付け足しとかはするかもしれないけど、メインの画面レイアウトはこれでほぼ決定にするつもり。

・作業その2>新WinGL

 今回ようやく家のマシンにVC6をいれました。理由は簡単「WinGL最新バージョンのリンクテスト」なのです。いままでVC5でコンパイルしてたんだけど、なぜかVC5だと新しいVerのWinGLをリンクするとぴたりととまってしまうのでした。で、戀塚さんが「VC5ではサービスパック(以下SP)1以上をいれるとこの問題が解決する」と掲示板で教えてもらったので、SP3(SP3にはSP1とSP2も含まれている)を会社からうばってきて家のマシンにインストールしたのです。するとあら不思議!Link.exeを起動したら空白のメッセージBoxとともに起動エラーがでて話にはらない状態になってしまいました!再インストールしてもおなじだったので、こりゃ駄目だと思い断念。そこで今回のVC6の登場というわけなのです。
 で、結果から言うとVC6にするとあっさり新WinGLのリンクに成功!これで安心して新しい機能がつかえます。まだ試してないけど。しかしこのVC6のインストールにてこずった。VC6はなんかWin95ではレジストリ上限サイズの問題から、インストールパスを短くしたりできるだけレジストリ領域をあけておかないと、まともにインストールできないのです。これのせいで何度かレジストリをいじりまくるはめになってかなりやばかったのでした。なんとかなったけど。

・作業その3>もでもで

 今回一番時間をとったのが、この神威の自機モデリング作業。これで週末つぶれちゃいました。とりあえず画像↓

19990719_01.gif (13131 バイト)
斜め前下から

19990719_02.gif (13811 バイト)
斜め後ろ下から


19990719_03.gif (13619 バイト)真上から

19990719_04.gif (11531 バイト)
斜め前から

19990719_05.gif (1604 バイト)
おまけ。比較対象
なんとなくドット絵って艶とかがパワフルだと思った。

 モデリングには「メタセコイア」というシェアウェアのツールを使いました。とりあえずモデリング作業自体初めてだしこのツールを使ったのも初めてなので時間かかりまくり&形状が不完全テクスチャもよくわからない&コマンドの単語の意味もよくわからないのでとりあえずそこそこ見える状態になるように適当にはっちゃいました。もうちょっと手直しするつもり。
 なんでいきなりモデリングなんかはじめたかというと、理由はこれ↓

19990501_02.gif (12903 バイト)
設定画面

今年の5月の開発日記で書いた新しいコンフィグ画面。この画面を見ると背景に自機の画像があるのがわかるとおもうんだけど、この自機の形状、実は古いバージョン(今でまわってる体験版)のものなのです。で、新しい自機を書こうとおもったんだけど、カッコ良くかけない&手間がかかる&デッサン力へぼへぼというわけでちょっと途方にくれてました。そこでかんがえたのが「オプション画面以外でもタイトル画面やOP,ED、パッケージイラスト等にも自機の絵が必要だなぁ」というわけでならばモデリングしてた画像をつかえばいろんなアングル自由自在!というわけで急遽もでもでを開始したのです。

 とまあこんな感じの進み具合。先週の予告とやってることが全然ちがうけど、着実に進行中といったところかな。今回けっこう満足できるモデリングができたのは非常に大きな収穫でした。

−終−

7月12日 速度的にやばいやもしれず

 ってなわけで今週は雑魚敵を主につくてました。で、ちとやばい事態に突入。前回、前々回とつくっていた大型戦車の攻撃が完成したんだけど、こいつの処理がめちゃくちゃ重い!!僕のマシン(MMX233MHz)で画面書き換えを1/2回にして背景簡略化しても、だいたい15FPSという状態。これはいかんーといっても、すでに神威のシステム上プログラムを最適化したくらいでは速度の向上など期待できないのは明らか。んではどうやって解決するかというと答えは単純、描画するオブジェクとの個数をできるだけ少なくしたり、特殊な描画(回転拡大縮小)をできるだけ避ける、という事をします。まあ非常にあたりまえの事。
 で、とりあえず、敵の短いレーザーの処理変更。いままでは1パターンだけ準備して、WinGLの回転描画にたよっていたものを、回転描画にたよらずに回転パターンを持たせる事にしました。回転機能をつかうと処理が重たくなるのは当然なんだけど、それでも使っていた理由は、絵のパターンの容量が減る(準備する手間も減る)し、回転機能をつかえば非常に奇麗に角度を変更してくれるのが魅力だったのだ。それにWinGLの回転描画は僕が最初予測していたより格段に高速だったためいままで使ってきたんだけど、さすがに限界みたいなので回転パターンを用意しました。↓あーしんどー

990712_05.gif (20640 バイト)
短いレーザー回転パターン。64方向作ろうとおもったけどそこまでの気合なし

というわけで、回転パターン以外に2連レーザー砲に対応すべく、2連レーザーのパターンも用意したのでした。ちなみに誘導レーザー用のパターンはまだ回転パターンつくってないのだ。また作らねば。

んでもって、完成の大型戦車。こんなんでぎりぎりながら実用に耐えられる速度までほんとになっちゃうのだ↓

990712_01.gif (20646 バイト)
見た目は派手でも実は避けるの簡単になってます。

990712_02.gif (23390 バイト)
めげたー

さらに雑魚追加↓

990712_03.gif (33037 バイト)
2面水中から出てくる敵

990712_04.gif (20955 バイト)
4面で使用予定。よこなが〜

あと2面後半用に雑魚を作ったんだけどちと作り直さないと使い物にならなかったので今回は画像なし。とまあ今週はこんなかんじ。来週は4面よう雑魚と背景をほぼ仕上げる予定。それがおわれば4面ボスの開発にに突入かな。

 

あと神威以外にした事では、このホームページのタイトルイラストのペン入れしました。しかし色を塗るのはいつの事か。

−終−

7月5日 次回はがんばる

 今週末は用事でおでかけしていたため、神威作業がほぼ進みませんでした。ってなわけで、とりあえず平日にした作業をすこしばかり。↓

990705_01.gif (18445 バイト)
この大型戦車の影響で今までより自機と地面の距離が近い

前回に引き続き、また2面の大型戦車。これ、テストモードで動作しているため、他の敵がいなくてわかりにくいけど、実は背景のZ軸(奥行)を少し変更しました。いままでより自機が地面にちかい所を通過していくことになります。なんでこんなことになったかというと、この大型戦車で考えていた攻撃方法がいままでの背景の高度だとうまく表現できなかったから。あと、前回はただ単に配置しただけだったけど、今回は本体、パーツ共破壊可能になっています↓

990705_02.gif (21947 バイト)
ちゅどーん

 とまあこんなかんじ。あと、まだ攻撃が完成してません。

 こういうふうに、アイデアを考えつつプログラムとドット絵を平行して進めると平日に出来る作業量なんてたかが知れてるなぁとおもう今日このごろ。しかし先週今週とあきらかに開発ペースがダウンしているので、来週は開発ペースアップってことでがんばろうとおもいまふ。

−終−


神威ホームに戻る