5月30日 4面まだまだいくる

さらに4面の開発。でもまだ背景処理の最中。画面はこんなかんじ↓

19990530_02.gif (17227 バイト)
ステージ3ボス戦の場所から出るとシャッター閉じる

19990530_04.gif (19043 バイト)
前回の明るい通路。こんなかんじ

19990530_05.gif (19080 バイト)
部分的に奥がみえるところとかがある。奥には進まない

19990530_06.gif (20334 バイト)
んでもって街。ここから先はまだつくってない

ステージ4序盤の処理をつくりました。3面ボス戦の筒から上がってきてシャッターが閉まる部分。そこから前方にスクロールが始まって、狭い通路をぬけていくとやがて眼下に街が広がるってかんじの展開です。今回も前回につづいて背景をかきつつプログラムを進めていったので、この程度の進行状況。前回と同じ部分も色使いをちょっと直したりしてあります。この辺はまだステージ4前半部分です。先はながいぜー

あと、それとは別にあちこち絵を修正したりしていました。たとえばこんなかんじ↓

19990530_07.gif (17504 バイト)
黒鷹ちゃん。君は黒くあるべきだ

以前よりかっこよくなったとおもいません?

予定していた「5月中に4面がかたちになるかなー」ってところまではいかなかったけど、僕としてはそこそこ納得できる開発ペースかなとおもってます。いや、非常に遅いのはわかってるんだけど、まぁ趣味だしー

−終−

5月23日 ついに4面を作りはじめたにょ○:

 ようやく4面の開発に着手しました。とりあえず画像↓

19990523_01.gif (21455 バイト)
4面前半、今は広くみえるけど本当は狭い通路

19990523_02.gif (23375 バイト)
ガラス張り(のつもり)の地面下に街がみえる

19990523_03.gif (20415 バイト)
んでもって、街

まだ作りはじめたばかりで、背景はほどんど薄っぺらい1枚スクロール状態、しかもスクロール速度はまだ一定です。なんとなくマップチップは完成にむかってるってところ。いつもおもうことなんだけど、頭で思い浮かべていたシーンを実際に再現するのはとっても難しいことなんだなぁとおもいます。ってわけで、この背景も実は修正したいところが山ほど。でも修正作業ばかりに時間をとっていると完成しなくなるので、修正するとしてもそれは後回しにして、とにかく形になるように開発を先にすすめていこうとおもいます。

 神威のゲーム展開で、1面と3面が暗め、2面と4面が明るめのステージというふうに、ある程度きめてたんだけど、明るい背景になるとドットの下手さが露呈しやすくなっちゃいますねぇ。なんとかしたいところだ。

ちなみにこのシーンは地下都市(といっても明るい)なので、そうわかるような背景にしていこうと努力中。がむばるぜい。

−終−

5月17日 BuilderからVC++へ

今回は、進展してないわりに文章だけながいですはい。

●「WinGL新Ver」

 前回WinGLの作者である戀塚さんが、WinGLに新機能をつけたVerを紹介してくださったのにうまくコンパイルできないという話の続き。

僕がBuilder1をつかっている事自体がそもそも致命的な問題なんだけど、あれからさらに戀塚さんがBuilder1に対応した最新版WinGLをつくってくれたのです!!で、喜んで早速実装するも、やっぱり上手くコンパイルできない。なぜかWinGL付属のソース等にエラーが大量にかえってきて対処のしようがなかったのです。で、「こうなったらVC++に移行だ!!VC++対応WinGLライブラリなら、VCのバージョンが上がってもたぶん対応しているだろう!!」ってことで、VC++への移行を決意しました(ちなみに僕がもっているVC++は5.0。6.0はもってないのだ)。以前にもちょっとかいたけど、過去何度か神威の開発環境をVC++に移行させようと試みた事がありました。が、どうもVC++とBuilderの差を飲み込む事ができず、まともにコンパイル出来ない事が多々あったためにそのたびに諦めてきました。が、今回ばかりはそうはいかないぜー!!ってことで必至でエラーを除去したのです。

で、とうとうコンパイルに成功しましたー!!

さてここからが本題。VC++環境に移ったことで、今度は問題無くWinGL新Verをコンパイルできるはず・・・なのだがなんとこれができない!!!正確には、コンパイルは全てのソースで完了しているのだが、リンク時にあたかもLink.exeが休憩してしまっているかのように、ピタリと止まってしまうのです。せめてエラーでも返ってきてくれれば対処のしようもあるかもしれないのに、これでは原因すらわからない。ちなみにWinGL付属のサンプルでは上手くコンパイルとリンクが完了しました。つまりやっぱり僕のプログラムのせいなのかなぁとは思うものの、解決法方が全く見えてきません。このまま迷い続けてると本編の開発がずるずると後にまわってしまうので、しかたなく新ライブラリのリンクを諦めて、今までつかってたVerで開発続行ということにしました。ただ、やっぱり新機能を使いたい思いはあるので、VCの6.0移行が手に入ったら再度挑戦してみようとおもってます。戀塚さんせっかく新機能つけてくれたのにすみません〜。

●「画面まっくら」

前回発生した問題「Windows98だとなぜか神威の画面が表示されないままゲームが始まる」という話の続き。

あの後いろいろテストプレイしてもらったりしたんだけど、この現象「Windows98」に限った現象じゃありませんでした。Win98でもまともに動く人もいたし。で、いろいろ調べた結果、導き出した結論は、まず「プログラム中でフル画面に切り替えるタイミングが速すぎるとこの現象が発生する」のと「同じ条件でもビデオカードのドライバに左右される」という事です。つまり、「プログラム中でフル画面に切り替えるタイミングを少し遅らせる」と、この問題は解決できました(解決できたとおもうー)。しかしこの問題が発生してるのって、僕のプログラムだけみたいだし、なにかまずい処理でもしてるのかなぁ。あと、今までの体験版動作報告で、同じ症状が出てる人がいたけど、今回のこの方法でもしかしたら解決できてるのではないだろうか?というのにちょっと期待してます。このへんは次回体験版で確認してください(次回体験版公開時期はまだ未定だけど)

●「リソースにしてやられる」

というわけで、今回から神威の開発環境はVC++に移ったわけです。で、早速こまったのが「神威のアイコンが登録されていない」とう問題。C++Builder1の時は、メニューから「アイコンの設定」とかしてやれば登録できたんだけど、VC++にはこの機能はない。で、WinGLサンプルにはちゃんと登録してあるので、それを見つつ真似をしてみる。が、なぜか登録されない。いろいろ試してみるんだけど、ぜーんぜん登録されない。はて?で、ひたすら迷った挙げ句、ふと「リソースって一つのファイルにまとめないとだめなのかなぁ?」等とおもいました。Builderの時はVCで作ったリソース(効果音とか半透明テーブルとか)をそれぞれ別のファイルにしてよみこんでたので、そんなことおもわなかったけど、VC++の環境をいじっているうちにそんな気がしてきたのです。でアイコンを登録しているリソースファイル以外のリソースファイルを全てプロジェクトから削除してコンパイルしてみたところ、登録できましたー!!いやーこんなことで悩み続けていたのかって気分。VC++じゃおそらく当たり前のことなんだろうけど。そんでもって、これを機会に効果音や半透明テーブルの読み込みをリソースじゃなくて外部ファイルから読み込む事に変更しました。その方が更新とか追加も楽だし。

とまあ、こんな進行具合なのです。あ、あとアイコンの絵を書き換えたりしたけど、いまいちなのでまた書き直すかも。

しかし今回長い文章なのに、前回に続いて新画面がないのがちょっとさみしい。

−終−

5月9日 にょにょにょにょにょ

 ってなわけで、ゴールデンウィークは東京でひたすらあそんできたのでした。

さて、今回は画像がないけどちょっといやぁんな問題。ゴールデンウィーク直前に、ある程度遊べるバージョン(体験版ではないの)を制作してヤスウェア君にわたしたのだ。で、ゴールデンウィークに突入して東京出撃、早速ヤスウェア君宅を尋ねる。いろいろ話をしたんだけど、その話の途中で「最新版神威が画面まっくらなにょー○:」といわれてショックする。それまでの体験版いずれも彼のマシンでは正常に動作している。最新版だけ画面がまっくら。僕のマシンではごくごく普通に動作してるのに、なぜー!?ってところで、さらにほえたんが「NTではうごいたけど98だと画面まっくらー○:ぺたぁ」という連絡がくる。いやぁー!!!とにかくWindows98だとまっくらなのだそうだ。さらにGW前に別の方に渡した動作報告によると、「なぜか画面が表示されないマシンがある」ってのと「いままで画面がでなかったマシンで動くものがある」という。なんだか謎がふかまるばかり。で、いろいろ修正したバージョンをヤスウェア君やほえたんにわたして現在も動作確認中なのです。なんとか解決できそうなかんじではあるけど、まだ明確な原因がわかってないの●

次のお話

 僕が今回の神威でつかっているWinGLというライブラリの製作者である戀塚さんが、新たにWinGLに「半透明付き半透明」を実装してくれました(テスト版みたいなので、正式公開ではないみたいです)。WinGLの御手軽さ以外にも、速度と半透明機能、回転機能等に僕は大きな魅力を感じて神威にWinGLをつかっているんだけど、使い込んでいくうちに「半透明付きの回転描画がほしいなぁ」とおもいはじめたのです。WinGLにはこれが存在していなかった。で、今回なんと戀塚さんがこれを実装したテスト版WinGLをつくってくれたのです!!

やってしまいましたじるみみちょんぼ。東京からかえってきて、大喜びでこれを実装しようとしたんだけど、コンパイルできない!!まず、僕がBorlandC++Builderの「1」をつかっていることによって、ライブラリそのものがたりないという文句がかえってきてしまいました。で、この足りないライブラリファイルを、C++Builder3をつかっているほえたんからちょっとかりてコンパイルしたんだけどだめちっく。さらに、「BuilderでだめららVC++だぜー」ということで、いきなり神威をBuilderからVC++用に変更。しかし、現在の神威はソースがばかみたいにでかくかつ多く、まともにコンパイルすることすら困難な状況となってしまっていたのです。なんてこったー
 けっきょく、現状まだ回転半透明は神威上ではうごいていません。遥か昔に作ってほえたんにあげた「WinGLほえべんちまーく」というソフトでは動いたそうなので、まだ見込みはあるはず。とりあえず、開発を止めるわけにはいかないので、現在のまま開発はすすめていき、同時にこの回転半透明機能実装プログラムのテストを暇を見てすすめていこうとおもってます。ああんつかいたいよぅ〜

あ、あと「3面までできてるのになんで体験版が更新されないの?」という話があるのですが、結論から言うと「3面まだ未完成です〜」ごめんなさい。
 一応シェアウェアということで、全面の無料公開は絶対にありえないのは宣言しときますが、3面くらいまでは無料公開する予定です。ただ、まだおかしなところが沢山あるのでせめてその辺りが直るまではまってください。

−終−

5月1日 ばぐばぐ

 とうとう5月になってしまいました。予想外のばぐばぐですっかり更新が遅れてしまったのだ。とりあえず今回の画像↓

19990501_01.gif (20676 バイト)
タイトルセレクト画面。ついに終了機能が!

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

 まず、前回タイトルあたりのプログラムをかきかえたのに続いて、今回はコンフィグプログラムもそう書き換えしちゃいました。2月15日にプログラムの根幹部分をかきかえてから、コンフィグは動作してなかったんだけど、ようやく動くようになりました。デザインもほぼ確定(絵自体は書き換える可能性高)。プログラムよりもデザインに時間がかかっちゃってたりします。タイトル画面の方は、ついに終了選択肢がつきました(ちょっとみえにくいけど)。しかしなんでいままでなかったんだろう?ちなみにコンフィグに入る時出る時は奇麗にフェードインアウトします。

19990501_03.gif (25965 バイト)
雷刀ついに完成。ばりばり〜

19990501_04.gif (30041 バイト)
実は雷刀の左右の雷は判定なし

 雷刀のエフェクトがようやく完成しました。散々悩んでいろいろ試してみたんだけど、どうも趣味もからんですっかりサンダーフォースXみたいなエフェクトになっちゃった。でもかっこいいからいいかな。あははー
 ちなみに左右から出てる雷はほんとにエフェクトだけで当たり判定はなかったりする。

 それから、今回の雷刀の使い勝手向上により、また一部システム変更をする予定です。現状では、以前つけたしたロックオン範囲指定機能をなかったことにしてしまうか、通常ショットを撃ってる時の雷撃ゲージ回復速度減少度を大幅に下げるか、というのを考えてます。なんかどんどん変更してるけど、闇雲に変更してるわけじゃなくて、こっちの方がゲーム性が上がるとおもって変更してるのでその辺は安心してください。ゲーム性があがらなかったらまた元にもどるのだ。

19990501_05.gif (11982 バイト)
どっかーん

 んでもって、ようやく3面ボス撃破!ドット絵書き始めてから約1年後にようやく死んでくれたわねってかんじです。上昇しているシーンで通路内いっぱいに爆発しちゃうので結構迫力。今回の大きな反省点として、3面ボスのパーツの多さ。70個以上もパーツがついてるんだけど、これだけあると動かすのが大変だし、残念ながらパーツ数にみあった動きをさせてあげられる技術もアイデアもなかったのです。それに開発速度を著しく低下させる原因にもなりました。他関節って下手な作りをすると古臭くみえるだけだし。今後は見栄えがしてなおかつ見た目分より楽に動かせるものを考えるのだ。

 とまあこんな進み具合。で、今回何にてこずっていたかというと以下に記す通り。

 2月頃から、プログラムをループの仕方から変更してたんだけど、これがどうも調子がわるい。たまーにタイトル画面に帰ってきた時にメモリアクセス違反で異常終了しちゃうのだ。なーんとなく予想もしてたし原因の検討もついてたんだけど、こまったことに解決方法がわかんない。で、いろいろ試し続けた結果、どうもA関数(自作)内でB関数(こっちも自作)を呼び出すとなぜかおかしくなってしまうことが判明。どこから呼ばれても良いはずの関数をつくったつもりだったのにー。で、なんとか上手くプログラムをまわして、その最悪のタイミングでその関数にいかないように処理を書き換えたりしてました。ふふふ・・・なんかへっぽこぷろぐらまー丸出しだぜぃ。でもまあ奇麗に直った(と思う)のでよしとするかな。

 とまあこんな感じです。今後は3面ボスがようやく死んだので、いよいよ4面のグラフィック制作にかかるのです。

−終−


神威ホームに戻る