日記(1049)

<前 次>

コンボまで実装。基本得点と連鎖得点はなし

「パネルγ」のノーマルゲームのコアの部分を作りました。
まず、パネルの生成。
イレカエモードで(といってもまだこれだけなんですが)、何もないところをマウスでごしごしするとパネルがだーっと降ってきます。
で、逆にパネルがあるところを右クリックでがしがしやるとパネルがざーっと消えます。
正直言うとパネルを直接消す機能はいらないと思ったのですが、実際に操作した感覚ではパネル入れ替えは想像以上に神経を使う細かい作業なので、通常時はともかくピンチのときはとっさにパネルを退避できそうにないので、一時しのぎに使えるようにパネルを直接消す方法を用意しました。
で、次がパネル消し。
アルゴリズムは作り始める前から考えていたので一日で作った割にはまあまあ。
得点加算のところの演出までできたので結構満足。
現状のゲーム画面をアップしておきました。

理不尽なエラーが多すぎる

学校のActiveBasicで、行単位でデータが格納されたファイルを整理する「LineConstructor」を作っていたのですが、メニューを作成すると謎のエラーが出てコンパイルが通らなくなるという事態が発生。
もちろんエラーの原因を究明しようと思ったのですが、ヘルプにも公式サイトにもエラーの解説はなく、該当するエラーをクリックしても存在しないFドライブのファイルを参照してデバッグも糞もない状態。
一応それらしきファイルを探してきて覗いては見たのですが、エラーの原因となっている部分と関係のありそうなところは確認できず。
VS.NETがだめ、JBuilderもだめ、ActiveBasicもだめとなればもう残りはさっぱりわからないDelphiのみ。
こりゃ学校じゃプログラミングはできそうもありません。

「パネルγ」のマウスクリック感知の部分を作って、タイトルを動かせるようにできました。
まずは終了処理を作成。
ウィンドウを直接閉じると強制終了がかかってデータが破損する可能性があったので正規の終了方法を用意ということで。
これでゲームメインへのシーン移動もできるようになったのでこれからはメインのほうを集中的に作っていこうと思います。

すり抜けないぞ!

さて、HPMでも更新しようかと思ったのですが、やる気が起きないので「ふにゃふにゃ」のほうで。

ついでに、「Bomber丸World」のページも更新しておきました。
ふにゃの仲間の歴史がわかっちゃいます。

Lunascape2!

Lunascape2入れてみました。
使ってみた印象は、Luna2でできていたことができなくなっていたり、よくわからない機能が説明もなしにたくさん付いていたりで、かなり使いにくいという印象でした。
大部分は慣れで解決するのでしょうけれども、慣れではどうしようもない不具合などはできればつぶしていってほしいものです。
そのいくつかは既に報告があったようで。
まだまだ安定版には程遠いようですなぁ。

「パネルγ」のタイトル画面を作りました。
ゲーム名はまだ表示されませんが、ゲームメニューがずらっと表示されます。
背景とメニューの文字の明度が近いので見づらかったのですが、マウスカーソルを合わせると背景色を明るくして見やすくなるように調整しました。
今回アップしたスクリーンショットではプレス機が表示されていなかったりしますが、実際の今の状況だとプレス機が表示されていますし、パネルの並び方も若干異なり、メニューの位置も変わっています。
まだマウスボタンの押下を検出することができないのでメニューを押すことはできません。

「Bomber丸World」のページを更新しました。
主人公の社会での扱われ方がわかっちゃいます。

あっ、そろそろ更新する時期だなぁ。

透明レンダリング

3Dの新しい表現を考えてみたり。
トゥーンレンダリングは影を極端に強調したシェーディングと輪郭表示に関する技術を使うわけですが、たとえば、ドラクエ3のレムオルのように輪郭だけを表示して本体を表示しないとか。
しかし、それは意外に難しいことなのです。
なぜなら、トゥーンレンダリングの輪郭抽出は、本体があることが前提であるため本体を除くと輪郭が輪郭でなくなってしまうのです。
したがって、普通にトゥーンレンダリングで本体つきの輪郭を描き、あとから本体を抜くのです。
真っ先に思い浮かぶのは、本体に向こう側の景色を写して見えなくする方法。
もうひとつは真っ黒な背景に真っ黒な本体と白い輪郭を描き、白い部分だけを背景と合成する方法。
最初のは「TWINTAIL LOVERS.」の「真・ステルス」と「トゥーンシェーディング」を組み合わせて使えばそれなりにできそうです。
もうひとつのほうは、輪郭用テクスチャを用意してそこに輪郭を描画して、ビルボードで表示すればOK。
前者のほうが前後関係は正確に表現されますが、後者のほうが輪郭以外にゆがみが出ません。
いずれにしても実際に作って確かめてみないことには確かなことはいえませんが。

「Bomber丸World」のBGMアップしました。
研究所ダンジョンボスですよ。
かっこつけたつもりがぷぴーとかぴっぴこぴーとか入ってて台無しな曲ですよ。
トゥッティとはどんなものかなんとなくわかってきた予感。

クリアス

「Bomber丸World」のBGMを一つ作ってみました。
最初のボスの音楽ということで、ボスらしい印象を、そして、「Bomber丸World」のボスということで、単なる強いだけのボスじゃないということで、アレンジ用のパートも。
アレンジというよりは余計な音が混じっているというほうが正しいのですけれども。
ほぼイメージどおりにはできたけど後半のStringsが今一気に入らない。

「ふにゃふにゃ」のステージ作成講座を書いてたりもします。
当たり判定の原理を書いてたりします。

マウス

考えてもみればパネルγはマウス操作だったんですよ!
というわけでマウスカーソルのソフト表示に対応。
画像転送の部分も改良。
一部がはみ出すような場所にも表示できるようになりました。
さて、気になるのがBGMに使うDirectMusic。
IDirectMusicPerformance8::PlaySegmentExでi64StartTimeを0にして実行するとできるだけ早く演奏が開始されるらしいけど、この遅延時間が60msを超えると使っている音楽の性質上異常演奏になってしまうのです。
できるだけ早く、だから結果が不定になるのなら、あえて開始時間を設定して開始時間のほうに遅延時間を吸収してしまうとか…

<前 次>