RPGツクールVXAceの網

RPGツクールVXAceの製作過程で気が付いたことをメモする。

画面外のスプライトを更新しない処理軽減(高速化)

ワールドマップなどの大きなマップを扱う場合、画面の表示されていない場所にイベントが設置される状況が起こりうる。このとき、RPGツクールVXAceでは離れたイベントは移動などの動作を更新しないという処理負荷軽減がデフォルトで行われている。 Game_…

柔軟なアイテムカテゴリ

ツクールVXAceのデフォルトメニュー画面のアイテムウィンドウで、標準のカテゴリは以下の4つである。 アイテム 武器 防具 大事なもの ここに、新たにオリジナルのカテゴリを追加したい場合もあるだろう。例えば、「アイテム」を、「薬」「食べ物」「本」の3…

RPGでギャンブル

RPGでゲームの中にカジノを作ろう。 と思って作ったこともある人もいるだろう。カジノに限らず、運や確率に左右されるものは失敗と成功が絡まり人間の興味をそそる。しかし、RPGならではの問題がつきまとう。 単純な例を挙げる。サイコロを2個振って両方とも…

メッセージウィンドウとFiber

RPGツクールVXAceから実装されているFiberで少しはまったので挙動をメモする。 VXAceのメッセージウィンドウはデフォルトで文章を1文字ずつ表示する(1文字表示ごとに画面が更新される)。これを実現するために、Window_Messageクラス内で以下のようなメソッ…

RPGツクールVXAceで長い文字列をdraw_textできない

VXAceで画面をはみ出るレベルの長い文字列を描画しようとするとおかしな挙動になった。フローティングヘルプを作る際の障壁になっている。 VXとVXAceで同一の描画スクリプトを実行し、挙動を比較する。 RGSS: @sprite1 = Sprite.new @sprite2 = Sprite.…

暗号化されないAudio

ツクールVXの仕様で、Audioディレクトリのファイル(効果音および曲)とFontは暗号化されない。 Fontはおそらく配布で版権が絡むところもあるのだろう。Audioは、オリジナル要素を含む素材だけに画像が暗号化されるのに音声はそのままか、という意見もある…

マップ数枯渇問題

RPGツクールVX、VXAceのマップ数上限は1000。(多分XPも) マップ数が1000のときに新規作成しようとした場合「これ以上マップを作成できません」というダイアログが表示される。 この上限を破るには、ゲーム自体を二つのプロジェクトに分割するか、二つのプ…

顔グラフィック自動生成

これはかなり使える。 アイデアの種にもなるし、顔グラフィックから性格を割り当てることも可能だろう。 主に村人などのNPCを活性化させるために使えそうに思う。

動作環境と解像度(3)解像度の選択

処理負荷(waitで擬似再現)とフレームレートの関係 Windows7 Core-i5 670 3.5GHz Graphics.updateのあとにsleep を入れることにより、擬似的に処理負荷が高まったことを想定して各解像度でのFPSを調査。ゲーム状態は、サンプルマップ1の雪原でキャラを歩…

動作環境と解像度(2)画面更新タイミング

検証をすすめるうちに、Graphics.updateの詳細が明らかになってきた。 Graphics.updateの機能は、ヘルプによると ゲーム画面を更新し、時間を 1 フレーム進めます。このメソッドは必ず定期的に呼び出す必要があります。 だが、より詳細に書くと メモリ上のバ…

動作環境と解像度(1)

ツクールXPの網に倣い、このブログに製作で気が付いたことをメモしていくことにする。 VXはRGSS3(RUBY)の処理効率が上がったため動作が軽くなったと考えられるが、どの程度軽くなったか検証している。とりあえずこれが動けばほぼ全てのユーザーが動くで…