日記(1025)

<前 次>

ナビゲーション

パネルγの遊び方6を更新しました。
あの絵は実際のプレイ中の映像ではなく画像素材を組み合わせて作っています。

ふにゃさん、ナビゲーションバーを作り始めました。
なんせウィンドウのキャプションを今回は使えないので(フルスクリーンのため)、そして32x32のマップチップじゃ上下がぴったり合わないので、そのスペースにいろいろ情報を表示することにしたのです。
仕様としては、常に左方向にゆっくりとスクロールし、情報を表示するのですが、更新された情報があるとそっち方向に移動して表示するようにします。

氷の谷に落ちる

ふにゃさん、場外判定をつけました。
ふにゃ1みたいに場外付近に仮想的なとげを配置して、というのではなく、ふにゃふにゃみたいに実際の座標で判定しています。
ただし、キャラクターの移動を制限するために1式の場外マップも作ってあったりします。
壁であり且つとげであるので主人公はどうあがいても外へは出られません。
敵キャラはとげを無視して壁だけを見ていたりすることもあるので両方の要素が必要かと思って、いや、本当は別に深い意味はなかったりしますが。

画像読み込みにも対応。
つまり、自分で描いたマップチップがゲーム内で使えるということ。
この機能で、氷のマップチップを読み込んで1の氷のステージを再現してみました。
しかし、いくら操作を似せているとはいえ実際動作は違うので、結局はクリア不可能なようです。
やっぱり1のような荒さがないとああいう爽快技はできないのかなぁ。

そうそう、カメラワークを改善したりもしました。
表示が完全にはふにゃの動きに追随しないので見た目に滑らかになります。
ただ、実際にはまだまだ改善予定ではあります。

1120574875.png

風の抵抗

ふにゃさん、空気抵抗、実装。
パラメータ、調整。
第一作、ほぼ同じ。
風、空気抵抗、基準値。

何かにつけてふにゃ1と比較してますが、これにはちゃんとした理由があります。
それは、ふにゃさんはふにゃのリメイクであること。
1と2はボタンを押すと単純に加速していって、一定値で飽和しますが、ふにゃさんの場合は飽和値が高く、その代わりに空気抵抗を掛けることで減速しています。
これにもまた理由があって、今回は敵キャラクターに弾き飛ばされるなどして激しく加速されたり、風によってふわりふわりと飛ばされたりするため、相当大きな速度まで許容しつつ、風速と速度の差を利用できる方法でないといけなかったのです。
でもなんだか指数関数的に減速していくのは少し気持ち悪い気がします。
ちなみに、全部の作品に共通なのですが、飛び上がり中のふにゃは全く風の抵抗を受けません。
これには特に深い意味はないのですが、普段の空気抵抗を受けまくるふにゃとの対比になっているかと思われます。
まあ、風の処理が自然な形で実装できたのは大満足です。

パネルγのページを更新しようと思ったのですが、画像が用意できなかったので更新は保留ということになりました。

ハーディン登場!

ファイアーエムブレム紋章の謎を久しぶりにやってみました。
セーブデータは2部の7章。
何の脈絡もなく洞窟から火竜が出てきたり、大橋付近に勇者がたむろしていたり、盗賊が逃げ回っていたりします。
アストリアだったかなんだか、仲間になりそうなのもいたけど、聞き分けがないので他のザコ同様殺害。
そしてパオラがドラゴンナイトになり、マルスの立場がなくなってしまいました。
そしてボスはオーラの書で一撃。
「人殺しー」って、アンタが弱すぎるだけだよ。
こうして8章へ。
まだ始めてはいませんが、ついにハーディンが登場したりするようで、しかしストーリーの流れからするとオープニングで逃げ出すか不死身で倒せないかどっちかになりそうではあります。
まあ、いろいろ久しぶりなのもあって、今日はこれだけで半日潰れてしまいましたとさ。

メテオスデータベース更新しました。
といっても面白作品を一個追加しただけですが。

プニプニの強さ

爆ボンバーマンでちょっと敵の強さを調べていました。
いやはや、プニプニが防御力最強とはね。
ノーマルボムだと19回も当てないと倒せません。
一部をゲーム記にて公開しています。
気が向けば全部入れます。

メテオス、途中までだけど恐怖の館000をアップしました。
最初の数小節で早くも音程を外しているような気がしてならないけど、めんどくさいのでほっときます。

ふにゃさんエディタのステージ読み込みを作り始めました。
とりあえずデータをメモリに読み込むところまではできました。
後はこれを解釈するのですが、ポインタをいじれないVBではちょっと難航しそうな予感です。

テンプレートの練習

ふにゃさん、マップのスクロール機能を実装してみました。
普段ならここらで結構てこずっていたりしたのですが、今回は結構あっさり実装できてしまいました。
これというのもよく使いそうな機能をテンプレートとして実装して、Saturateとかしたからだと思っています。
で、早速テンプレートのSaturateで主人公の移動速度も制限。
めり込みをなくしたのです。
ついてに、当たり判定と移動のアルゴリズムを改良。
まず横に動かして全方向に当たり判定。
これで上下にぶつかっていなかったら縦にも移動した上また当たり判定。
これですり抜けバグも当たり判定が1フレーム遅れるバグも解消されたはず。力技だけど。

ひらカタチェンジャデラックスをアップしてみました。
ダウンロード→その他から落とせます。
リコチキ語+同時通訳にしているとタイトルがとんでもないことになっちゃいます。
巡回置換の周期も調べてみようと思ったのですが、根性が足りず計算できませんでした。
10桁は軽く超えると睨んでるんだけど…。

掲示板にニストのアイコンを追加しました。
不死身のあいつです。
まだ出ていないRPGの敵です。

Bomber丸Worldのページも更新。
ゲームシステムの詳細です。

template<class T>
void Saturate(T min,T& num,T max){
if (num>max) num=max;
if (num<min) num=min;
};

ドット絵レンダリング

どこぞの掲示板でちょっと触りの部分を書いたのですが、ここではもうちょっと具体的な話をします。
ドット絵作成には、重要な特徴をつかんで他を省略するということが大事になってきます。
それは人間の感性によるものが大きいので3Dレンダリングエンジンに計算させることは困難ですが、そもそも3Dモデル自体基本的に人間の感性で作られているものなんだから、特徴の重要さもやはり人間の感性を数値化して3Dモデルにデータとして組み込めばよいのではないかと思っています。
では重要度はどうやって組み込めばいいか。
じっくり描くのなら手描きで充分。リアルタイムにレンダリングしてこその3Dなので、とりあえずDirectXかOpenGLで使えるものがよいでしょう。
となれば、扱えるデータはある程度絞られてきます。
例えば、テクスチャとして、重要度マップを組み込む。
特定の範囲の色と重要度を対応付け、小さい場合は重要度の低い部分はレンダリングしない。
難しいのは、1ドット幅の輪郭。まあこれは頑張って計算すれば何とかなる。
ってなわけで、気が向けば実際に作ってみたいと思います。

<前 次>