日記(1013)

<前 次>

残念無念

チャット、時間切れ強制退室の処理を改良しました。
以前のものだと二人以上が同時に時間切れになると一人ずつしか退室できませんでしたが、今回はその不具合も解消されています。

今日はミディビの開発でもしようと思ったのですが、Luna3はJavaアプレットを使っていると結構頻繁にフリーズするのでその対処で開発が全く進みませんでした。

マップエディタを作ろう

ふにゃさんのミスターフレームのグラフィックが本家のふにゃについてきていなかったので修正しました。

爆ボンのマップ作成ツールのための画像を一日掛けて用意していました。
そして、これから3Dマップエディタを作る予定です。

設定ミスだった

ふにゃさん、MIDIも鳴らせるようになりました。
なんのことはない。自分でライブラリのMIDI再生機能を使わない設定にしたのを自分で忘れていただけでした。
それで、無事MIDIも鳴らせるようになったのですが、今度は一部のMP3に問題が出てしまいました。
サウンドのストリーム再生を使うと、一部のMP3の場合、延々と後半部分を中途半端に再生し続けるのです。
ストリーム再生をやめれば正しく再生されるのですが、そうするとBGMに使うほどの巨大な音声ファイルを丸々メモリに読み込んでしまうことになり、動作が果てしなく不安定になってしまいます。

爆ボンのマップを作るのが結構大変なので、マップ作成ツールを作ろうと考えて、マップの下地となる枠を作って。

MIDIが鳴らない

ふにゃさん、BGMが鳴るようになりました!
ライブラリ側が結構しっかりしてるので結構いろんなファイル形式で使えたりするのですが、なぜか唯一MIDIだけがならなかったりします。

名前と場所

というわけでBGMの実装中です。
BGM.datを読んで、「BGM名 "ファイル名" 必要と有らばその他の情報」という形式で一行ごとにデータが入っていて、BGM名とファイル名があった場合はそのBGMが有効になります。
一応音声データもBGMに使えるようにするつもりですが、基本はMIDIだと思います。
もし読み込めなくてもライブラリ側が結構しっかりしてるので大丈夫だとは思いますが。

番号と名前

RPG±0にはRPGツクールのオートタイルは使わないことにしました。
最大の理由は、作り方がわからない&面倒くさいということだけれど、ほかにも、実際のところエンターブレインが特許を取っているかもしれないし、そうでなくてもあからさまに方法をパクっているもあるので。
あと、RPG±0ではいろんなものに名前をつけることができます。
例えばイベントに名前をつけたり、キャラクタチップに名前をつけたり、サウンドに名前をつけたり、敵パーティにまで名前を付けられたりします。
デフォルトネームは通し番号と同じものをつけます。

ふにゃさんのBGMは、パネルγのときのように色々面白い仕掛けを入れようと思っていたのですが、いや、今も入れるつもりですが、ゲームプレイ中にBGMを切ったりユーザーが自由に変えられるBGMに切り替えたりできるようにするつもりなので、切り替えたそのときにどのBGMが再生されているかを保持しておかなくてはならなくて、結局それはBGM番号であり、どっちみちBGMは番号で管理することになりそうです。
そりゃ番号をつけるということ自体はパネルγでも同じことですが、こちらはゲーム本体ではサウンド管理クラスにパネルが消えたとか今ピンチだとか、そういうことを通知してサウンド管理クラス側で番号を決めていたのですが、ふにゃさんの場合はそれを通知する側で決めてやら無ければならないということです。
そうなればユーザー指定のBGMとも互換性を図るためBGMはある程度決まった簡単な方式で作らなければならないので、あんまり特殊なことはできなくなるのです。

地道な作業の続き

というわけで、高速化に成功しました!
今までキャラの出しすぎで処理落ちしていたステージが処理落ちなし!
さらに副産物で、敵キャラクターの描画順序が一定になることで、場所によって敵の前後関係が変わるようなこともなくなりました。
ついでにふにゃのしゃがみ&歩きの処理も作ってしまました。
本当は前にも言ったようにデジタルな動きにしたかったのですが、アホなギヤバネが、ふにゃがしゃがんでいるかどうかが分からなくて、無理に弾き飛ばそうとしちゃったりするので、仕方なくそれに合わせた仕様にすることになりました。
ただ、普通に走っている状態からしゃがむとほぼ瞬時に止まりますし、歩きもほぼ一定速、ギヤバネに吹っ飛ばされても踏ん張るためほとんど動きません。
そうそう、今回は、しゃがみがジャンプのキャンセルも兼ねていたりしますよ。

<前 次>