「RPG±0」に関する日記(2)

<前 次>

カウンター200突破(←300のときもやるかも

「ふにゃさん」のページ、即席ですが作ってみました。
まだ何もありません。

「Tokio's RPG +」の名称を「RPG±0」に変更しました。
フリーウェアで(0)、本格的RPGとまではいかなくても(-)、簡単にそれなりのものは作れてしまう(+)、そんなソフトがRPG±0 です。
やっぱ略してTRPGってのはどうかなー、って思いましたので。

ダウンロードコーナーで、「その他」だけ一番上の列を作るのを忘れていたので直しました。

明日もちょっとばかし更新しますので。
ほんの少し、気付かれない程度に。

入学後最初の日曜日(それが?)

「TRPG+」のタイマーとマウス関連を作りました。
知ってましたか?
ShowCursor(0)を呼び出してもマウスカーソルが消えないことがあるんですよ。
ShowCursor(1)でもマウスカーソルが出ないことがあるんですよ。
フフフ……こんなことがあるから「Tokio's Web Site」は更新のネタに困らないんですよ。

とりあえず明日は3月3日に更新できなかった分を更新しようと思います。

Tokio's Role Playing Game + Hit

「TRPG+」で問題があれば直してみようと思い、「TRPG+H」を試しに起動してみたところ、早速期待に応えてくれました。
パス関係のエラーです。
調べてみると、ディレクトリ名の入っているべき変数にファイル名が入っていました。
そう、XPのアホが、ディレクトリを探せと指示したのに通常のファイルまで見つけてきていたのです。
ディレクトリ名を使用する直前にそれがディレクトリかをチェックするIf文を追加することで解決しました。
ちゃんとディレクトリだけを探してくれる環境では無意味になりますが、XPの時よりは検索が速くなります。

今日行ってたらどえらい目に遭っていた

今日は後期試験を受ける大学の過去問を買いに行きました。
ありませんでした。

引き続き「メトロイドフュージョン」をやりました。
そろそろ終わりそうな感じです。

「TRPG+」のマップサイズの限界は、
 n*(マップチップのサイズ=32)≦(Integer型の最大値=32767)
を満たす最大の整数n、すなわち1023です。

後3日ですか!?

「TRPG+E」で、タイトル関係を作りました。
ウィンドウ位置のセーブでやはりミスがありました。
セーブ処理はメインフォームの Unload イベント内に書いていたのですが、そうすると子ウィンドウが先に閉じられ、セーブのタイミングで再びロードされるため、ウィンドウ位置が初期化されていたのです。
QueryUnload イベント内に書いて解決しました。

「Bomber丸World」のBGMを一つ作りました。
現在のところ3分の1ぐらいできています。
これまではゲーム音楽だから何でもありという作り方をしていたのですが、今回は演奏される場所が場所だけにそれなりに現実でも演奏できそうなものにする必要がありました。

前期日程は27日から

「TRPG+E」の設定の保存を作りました。
まだ作りかけでテストもまだなんですが。
まあ間違っているとしても設定項目名ぐらいのものなので、すぐ治るんですが。

そういえば「TRPG」というものが他にもあるようですね。
私が作っているのは「TRPG+」であって「TRPG」とは別物なんですが。

国公立大学の前期日程の試験が近づいています。
これで本当に大丈夫なのか!?

全マップチップにカウンター属性をつけると…?

「TRPG+E」で、最後にマップウィンドウを閉じると動作がおかしくなるバグを修正しました。
閉じる瞬間にメインウィンドウのコントロールにフォーカスが移り、そこでマップの再描画の要求がきて、ウィンドウが再び表示されるのが原因でした。
ウィンドウがないときはマップを再描画しないようにすることで解決しました。
デフォルトから変更のない項目はセーブデータから削除するようにしました。
決まったところで鳴る効果音(メニュー選択音など)を変更できるようにしました。
将来の拡張のためにその配列は100個分用意しましたが、上記の方法により、実際にセーブされるのは設定した分だけです。
つまり、使っていない部分はデフォルトから変更することができないのでセーブされません。

「TRPG+H」を作っている時、大切なことを忘れていました。
それは「カウンター属性」です。
店に行って店主に話し掛ける時、カウンター越しに話しますよね。
そのカウンターの役割をマップチップに持たせるためのものです。
沢山繋げれば離れた相手とも会話できます。

実は昨日は…

気分が悪かったので書けませんでした。
今日書いておきます。

午後は気分が悪かったのですが、午前中は元気でした。
元気なうちに「TRPG+」の制作を進めていました。
「TRPG+H」を完成させました。
「TRPG+E」で、ウィンドウの表示・非表示をメニューから切り替えられるようにしました。

弟の同級生が自殺したそうです…

実は日記の表示件数が変わっています

「TRPG+」に使うビット操作クラスにファイルの保存・読み込み機能を追加しました。
サイズを指定するとデータのみ、サイズを指定しないとファイルの最初の4バイトにサイズに関する情報を書き込みます。
ファイルを開くウィンドウを作りました。
用途が決まっているので特殊な作りになっています。
つまり、コモンダイアログとは別物なのです。

ファイルをダウンロードして解凍しようとしたらcabファイルは使えないと怒られ、uncabを見つけてきて解凍して使おうとしたら.Net Frameworkがないと注意され、もう一つ他に必要なプログラムをインストールしようとしたらWindows98じゃ動かないと言われ、結局そのファイルはゴミ箱に直行となりました。
用事は別のソフトを探してきてそれで代用しました。

Lunascape、やっぱり使いません

「TRPG+E」で、ウィンドウの表示・非表示を切り替えるメニューを加えました。
マップチップをまた追加してみました。
お城の床が全然うまくいかなくて苦労しました。
どっちにしても16色じゃ大したことはできないんですが。
デザイン時のピクチャーボックスにあった画像を外しました。
すると実行ファイルのサイズが半分以下になりました。

久しぶりに「パイロットウィングス64」をやってみました。
使うキャラクターをキィウィからグースに代えると今までできなかったタスクが次々できるようになって、あっという間に「スカイダイビング」ができるようになりました。
それで早速やってみたんですが、今回ばかりはグースパワーが出ず、高度3,000mから墜落して頭から地面に突っ込んでしまいました。

「Lunascape」は、便利なんですが、リンクをクリックするたびに画面がチカチカ光ったりダウンロードが終わったら勝手に自動切断がかかったりしてしまうので常時接続の回線を導入するまでは使わないつもりです。

Lunascape、なかなかイイです

「TRPG+E」で、BGMの選択方法を変えました。
タイトル画像を指定できるようになりました。
マップを追加できるようにしました。
マップチップを追加してみました。

当たり判定を作る「TRPG+H」も作りました。

「Bomber丸World」のイベントは既に結構細かいところまで考えています。
実際にそのプログラムが実現できるかが問題なのですが…
一応小さなストーリー分岐はあります。
あまり大きな分岐を作ると、作るのが大変、デバッグも大変、ついでにプレイする方も大変になるのでやめにしました。
まあ、初めの方のイベントが、ラスト付近で影響を及ぼすというのもあるんですが…

Lunescape、ちょっとイマイチです

「TRPG+E」で効果音・BGMを設定するウィンドウを作りました。
「TRPG+」では効果音とBGMに本質的な違いはなく、同じクラスで両方とも扱っています。
強いて違いを挙げるなら、効果音は一回きりに再生であるのに対し、BGMはループ再生されます。
つまり、MIDIを効果音として利用したり、Wave形式の音楽をBGMとして使うこともできるということです。
MIDIの再生にはDirectMusicを使うのですが、そのポートの設定は「MusicPlayer3,4,5」の共通の設定を使います。

チョコレート屋が儲かる日

「Lunascape」を試しに導入してみました。
なかなか便利なので、パソコンを買い換えるときに一緒に標準のブラウザにしようと思います。

今日は卒業式でした。
ポータブルMDプレイヤーを記念品として貰ったんですが、肝心のMDそのものがないので使えません。
録音もできませんし。
折角メトロイドの音楽を入れようと思ってたのに…

「TRPG+E」でなんか取るに足らないことをしたような気がします。
多分気のせいです。

32767 じゃなくってよ

「TRPG+P」のタイトルを作りました。
途中 Left と Bottom を間違えてとんでもないことになってしまいました。

「TRPG+E」で、マップが画面より小さい時の処理を作りました。
マップ外を参照したときにエラーが出るのを直したのです。
マップチップウィンドウのビットマップをマウスで動かせるようにしました。
マップサイズの最大値を調べてみました。
凄いですよ。
答えが予想できた人はメールか掲示板で。
ヒントは Integer 型の上限値とマップチップのサイズ。

TRPG+P = Tokio's RPG + Play

「TRPG+E」で、マップサイズ変更を作りました。
オプションでマップ形状の保持もできます。

「TRPG+P」を作り始めました。
とりあえずタイトルから作り始めたんですが、DirectXの利用は予想以上に難しいです。

建国記念日

「TRPG+E」で、セーブ&ロードを作りました。
設定ファイルクラスで正常に読み込めないバグも修正。
意外とスムーズに進みました。

密かに「VB小ネタ」、更新しました。

今日弟入試(やると思ったでしょ)

サイト内のほとんどのページを更新しました。
タグの使い方を変えて軽量化したのと、リンク先の間違いを修正したのがあります。
「TRPG+」用のページも作りました。

「TRPG+E」で、イベント入力が一通りできるようになりました。
入力できるイベントの種類を増やせばイベント部分は完成です。
セーブ用のクラスを作りました。
本当ならWritePrivateProfileStringを使いたかったのですが、INIファイル用のAPIを普通のファイルに使うのに気が引けたのと、場合によってはレジストリを使うようなことが書いてあったような気がしたのでやめました。
少々融通の利かない作りになってますが、使い道は限られているので気にしないことにします。

明日弟入試(ホンマ手抜きやなぁ)

家の中を大掃除しました。
すると埃が!
もう要らないプリント類が!!
結局使わなかった問題集が!!!
山のように出てきたのです。

「TPRG+E」のイベント編集ウィンドウを作り始めました。
イベントウィンドウとの違いは、イベントウィンドウでイベントの全体的な設定をするのに対して、イベント編集ウィンドウでは細かい所を作ることができるのです。
今イベント編集ウィンドウで作ることができるのは…
・注釈(何もしない)
・説明(メッセージを普通に表示)
・会話(鍵括弧付きでメッセージを表示)
です。
ボス戦やキャラ移動などもできるようにするべきですよね、当然。

明日入試

「TRPG+E」のイベント入力を少し改良しました。

卒業式の予行がありました。
卒業アルバムを貰いました。
通知表を貰いました。
クラスメイトが数名こちらに来ている模様。

バイナリエディタで

ようやく"funya.exe"の中からApp.Minorにあたる部分を見つけ出し、変更することができました。
調子に乗っていらないメニューも使えなくしてやろうと思ったのですが、できませんでした。
どこかのFFFFを0000にすればできたのですが、FFFFというデータの並び方は実行ファイルの中では、特にVBで作ったファイルの中ではごくありふれたものだったので見つけ出せなかったのです。
そんなわけで、「ふにゃ」ver1.01をアップしました。

「TRPG+E」で、イベントの入力ができるようになりました。
追加・削除もできます。

「パネルα」のパーツを追加しました。
「TRPG+E」のマップチップの一部です。

昨日はふにゃ(のんびり)の話題を出しましたので、今日はせっかち君です。

名前
ふにゃ(せっかち)
英語名
funya
登場作品
Bomber丸World
説明
黄色い体をしたふにゃふにゃとした生物。
体重が軽くて空気抵抗を受けやすい。
そのことによる落下速度の遅さを利用せず、魔法を特に多用する。

本人は自分が人間であると確信している。
のんびりやのふにゃとは違い、家族もいれば記憶もある。
「ふにゃふにゃ」ではのんびりやに対して喧嘩を売っていた。

あんことは幼馴染であり、それ以上でも以下でもない。

その他「Bomber丸World」での設定:
ストレスがたまるとキレるタイプ。
主人公たちの中では弱めのステータス。
熱血漢で単純、せっかちで勘違いが多い、無鉄砲で恐いもの知らず。
一人称は「おいら」。
冷気系の攻撃から受けるダメージは少ないが、凍り付いて動けなくなることがある。
自動回復量は多い(5%程度)。
イメージカラーは黄色。

5歳の誕生日に旅に出かけ、フラフラと数日間歩き回り、途中でシロ・クロと出会い、共に旅をすることになる。
旅に出るに当たってとりあえず基本回復魔法キュアだけを覚えていて、その後なんだかんだあって全種回復魔法を覚えることになる。

ちなみに、食べ物はレモンが好きである。

身長は27cm。

「オイラも戦う!」

<前 次>