神無月サスケ
ユーザー
皆さんは、RPGツクールXPをお使いでしょうか。
RPGツクールXPは、「スクリプトを導入する」「自由度を高め、ユーザーに任せる」という方向性で設計された、
いわば過渡期のツクールといえます。
このため、その後のRPGツクールVX/Ace/MVとは、タイルセットなどで大きく仕様が異なり、
今、ツクールXP作品をMVに移植しようと思っても、かなり大きな壁に立ちはだかっている人は少なくないのでは
ないでしょうか。
僕は、自称XP使いだったので、ツクールXP作品「青鬼」をMVに移植する僥倖に恵まれましたが、
移植の際は、XPとMVの仕様の違いでてんやわんやの連続でした。(タイルが上層2層になったのは本当に救いでした)
というわけで、ツクールXP使いの皆さんで、「こんなことで困ってます」的なことを一緒に話し合いませんか。
時には「一緒に困ってあげる(=解決策なし)」の場合もありますが、何とかしていきたいですね。
ひとまず、とっかかりとして、現時点で有名な、XP→MVの際の問題点を列挙します。
■オートタイルの仕様が全く異なる
オートタイル変換ツールはフリーでいくつか出ていますが、どれも、XP規格に正確に変換してくれません。
これは、オートタイルの考え方の違いから、もはやいかんともできません。
結果、青鬼2016のカーペットの模様は、オリジナルと全く異なりますが、誰も気にしていませんでした。
■タイルセットの数がXPでは無制限だった
MVからは、決まった使い方のオートタイルに加えて、下層(+中層)、上層2層と、
使い方が厳密に決まっています。それがないため、XP→MVに移植する際には、
「どのタイルを下層に、どのタイルを上層に」とするか考える必要が出てきます。
■「高さ」という概念の廃止
これが、青鬼を移植する上で、一番泣かされた部分です。
VX/Ace/MVのタイルセットは、逐一「☆/○/×」しかありません。
つまり、どこにいても、「主人公の上か同じか下か」が確定しているのです。
一方、XPには、タイルごとに、0~5の高さが指定できます。
よって、図書館のように本が並んだ中で、下の棚の上段には隠れ、
上の棚の上段より上に表示されるといった設定可能で、
場所と高さによって、「主人公の上か同じか下か」が変わってしまうのです。
この概念の廃止により、青鬼2016(MV版)は、コアスクリプトのレベルから、
いろいろいじるはめになりました。
◆XPの「高さ」ゆえの、さらにややこしい要素
実はXPにはVX以降のように、「通常キャラの下/同じ/上」を選ぶ項目がありません。
プレイヤーなどのキャラクターなら、逐一高さ0、
タイルだったら、そのタイルの高さに、自動的になるのです。
一応、「通常キャラの上」に表示する必要に応じて、「最前面に表示」という項目がありますが、
スクリプトレベルでは、これは、Z座標を999にするという、若干乱暴な技を使っていました。
僕はこの仕様に嫌気がさし、自分のツクールXP作品ではまずこの高さ(Z座標)を計算するルーチンを
書き直していたくらいです。
■イベントコマンドの微妙な違い1:移動ルート
ツクールVX以降では、各イベント毎に、「イベント完了までウェイトか」を選択可能です。
ところが、XPでは、2000の仕様を引きずっており、そのような設定はありません、
「移動完了までウェイト」という項目しかないのです。
これは全てのイベントの移動が完了するまでウェイトする、というものであり、重宝しますが、
万が一「移動ルート」に「動作を繰り返す」イベントがあれば、永久に停止しません。
ツクール2000あたりで、同じ理由で苦しんだ方もいるのでは?
■イベントコマンドの微妙な違い2
いくつか思いついた点を列挙。
・「イベントの一時消去」を行うと、ツクールXPでは、それ以降の命令を実行しません。
しかし、VX以降のツクールでは、律儀に、最後まで実行してくれます。
このため、XPで「イベントの一時消去」を見掛けたら、MVに移植する際は「イベントの一時中断」を忘れず入れること。
・XPでは、40fpsなのに、内部では20fpsという、珍妙な仕様でした。
当時のマシンパワーを考えると合理的ではあります。このため、ウェイトで「フレーム数」を指定する際、
1秒=20フレームになります。MVの1秒=60フレームに慣れた方は注意が必要です。
■VX以降にあってXPにない機能は、スクリプトを借りてくる
実際に、XPを使っていて、バグ扱いされた部分は、そうしていました。
例:「アイテムを所持しているか」という判定で、「装備品を含める」オプションがXPにはありません。
このため「このアイテム、装備していると、持ってないことになるぞ」とバグ報告を受け、
急遽、ユーザー登録したてのVXから、当該コードを拝借して、対応した記憶があります。
……なお、もし、「XPも影付きにして」とか「XPにもフキダシアイコン入れて」と言われたら、
僕は裸足で逃げ出します
。
■MV側で意外と役に立つのが「リージョン」
XPの地形判定、歩行判定を完全再現するのは、実質不可能だということがお分かりだと思います。
そんな時には、リージョンを使うのが一番の有効な苦肉の策でした。
「青鬼の見た目が不自然になる場所には、青鬼は入れなくする」という意味で、
「特定の番号のリージョンに青鬼は入れない」といった処理をしています。
青鬼2016のプレイヤーは多いですが、これに気づいた人はすくなく、まずは成功かな、と思います。
■まとめ
VXAce→MV コンバータの存在は、公式変換ソフトとして広く知られています。
VX→MVのコンバータの存在も、(詳しくは知りませんが)あると伺っています。
しかし、恐らく、今後も、XP→MVコンバータは、出ないでしょう。
最大の理由が、素材規格の大きな違いです。
上記は、プログラミング上端的なところを挙げたにすぎませんが、
素材規格の違いを書くと、このトピックが3倍の分量になるため、各自調べてみてください。
例えば……
・キャラチップの仕様の違い1:VX以降は3パターンだが、
XPでは4パターンが基本である。ゆえに、1パターン減らすか、
場合によっては、キャラのアニメーションを増やすプラグインが必要。
・キャラチップの仕様の違い2:XPでは、VX以降のように「8キャラまとめる」
という仕様がないうえ、「自動で6マス上に表示する」という仕様もない。
よって、変換の際は、「hiroshi.png」から「!$hiroshi.png」という名で
インポートする必要がある。
・まだまだ書きたいが、あとは質問受けたら答えます。
……以上、基本的なことをまとめました。
何か、疑問や相談には可能な限り乗りますし、
逆に「こんないい方法(や、ツール)があるよ」といった情報も歓迎です。
RPGツクールXPは、「スクリプトを導入する」「自由度を高め、ユーザーに任せる」という方向性で設計された、
いわば過渡期のツクールといえます。
このため、その後のRPGツクールVX/Ace/MVとは、タイルセットなどで大きく仕様が異なり、
今、ツクールXP作品をMVに移植しようと思っても、かなり大きな壁に立ちはだかっている人は少なくないのでは
ないでしょうか。
僕は、自称XP使いだったので、ツクールXP作品「青鬼」をMVに移植する僥倖に恵まれましたが、
移植の際は、XPとMVの仕様の違いでてんやわんやの連続でした。(タイルが上層2層になったのは本当に救いでした)
というわけで、ツクールXP使いの皆さんで、「こんなことで困ってます」的なことを一緒に話し合いませんか。
時には「一緒に困ってあげる(=解決策なし)」の場合もありますが、何とかしていきたいですね。
ひとまず、とっかかりとして、現時点で有名な、XP→MVの際の問題点を列挙します。
■オートタイルの仕様が全く異なる
オートタイル変換ツールはフリーでいくつか出ていますが、どれも、XP規格に正確に変換してくれません。
これは、オートタイルの考え方の違いから、もはやいかんともできません。
結果、青鬼2016のカーペットの模様は、オリジナルと全く異なりますが、誰も気にしていませんでした。
■タイルセットの数がXPでは無制限だった
MVからは、決まった使い方のオートタイルに加えて、下層(+中層)、上層2層と、
使い方が厳密に決まっています。それがないため、XP→MVに移植する際には、
「どのタイルを下層に、どのタイルを上層に」とするか考える必要が出てきます。
■「高さ」という概念の廃止
これが、青鬼を移植する上で、一番泣かされた部分です。
VX/Ace/MVのタイルセットは、逐一「☆/○/×」しかありません。
つまり、どこにいても、「主人公の上か同じか下か」が確定しているのです。
一方、XPには、タイルごとに、0~5の高さが指定できます。
よって、図書館のように本が並んだ中で、下の棚の上段には隠れ、
上の棚の上段より上に表示されるといった設定可能で、
場所と高さによって、「主人公の上か同じか下か」が変わってしまうのです。
この概念の廃止により、青鬼2016(MV版)は、コアスクリプトのレベルから、
いろいろいじるはめになりました。
◆XPの「高さ」ゆえの、さらにややこしい要素
実はXPにはVX以降のように、「通常キャラの下/同じ/上」を選ぶ項目がありません。
プレイヤーなどのキャラクターなら、逐一高さ0、
タイルだったら、そのタイルの高さに、自動的になるのです。
一応、「通常キャラの上」に表示する必要に応じて、「最前面に表示」という項目がありますが、
スクリプトレベルでは、これは、Z座標を999にするという、若干乱暴な技を使っていました。
僕はこの仕様に嫌気がさし、自分のツクールXP作品ではまずこの高さ(Z座標)を計算するルーチンを
書き直していたくらいです。
■イベントコマンドの微妙な違い1:移動ルート
ツクールVX以降では、各イベント毎に、「イベント完了までウェイトか」を選択可能です。
ところが、XPでは、2000の仕様を引きずっており、そのような設定はありません、
「移動完了までウェイト」という項目しかないのです。
これは全てのイベントの移動が完了するまでウェイトする、というものであり、重宝しますが、
万が一「移動ルート」に「動作を繰り返す」イベントがあれば、永久に停止しません。
ツクール2000あたりで、同じ理由で苦しんだ方もいるのでは?
■イベントコマンドの微妙な違い2
いくつか思いついた点を列挙。
・「イベントの一時消去」を行うと、ツクールXPでは、それ以降の命令を実行しません。
しかし、VX以降のツクールでは、律儀に、最後まで実行してくれます。
このため、XPで「イベントの一時消去」を見掛けたら、MVに移植する際は「イベントの一時中断」を忘れず入れること。
・XPでは、40fpsなのに、内部では20fpsという、珍妙な仕様でした。
当時のマシンパワーを考えると合理的ではあります。このため、ウェイトで「フレーム数」を指定する際、
1秒=20フレームになります。MVの1秒=60フレームに慣れた方は注意が必要です。
■VX以降にあってXPにない機能は、スクリプトを借りてくる
実際に、XPを使っていて、バグ扱いされた部分は、そうしていました。
例:「アイテムを所持しているか」という判定で、「装備品を含める」オプションがXPにはありません。
このため「このアイテム、装備していると、持ってないことになるぞ」とバグ報告を受け、
急遽、ユーザー登録したてのVXから、当該コードを拝借して、対応した記憶があります。
……なお、もし、「XPも影付きにして」とか「XPにもフキダシアイコン入れて」と言われたら、
僕は裸足で逃げ出します
■MV側で意外と役に立つのが「リージョン」
XPの地形判定、歩行判定を完全再現するのは、実質不可能だということがお分かりだと思います。
そんな時には、リージョンを使うのが一番の有効な苦肉の策でした。
「青鬼の見た目が不自然になる場所には、青鬼は入れなくする」という意味で、
「特定の番号のリージョンに青鬼は入れない」といった処理をしています。
青鬼2016のプレイヤーは多いですが、これに気づいた人はすくなく、まずは成功かな、と思います。
■まとめ
VXAce→MV コンバータの存在は、公式変換ソフトとして広く知られています。
VX→MVのコンバータの存在も、(詳しくは知りませんが)あると伺っています。
しかし、恐らく、今後も、XP→MVコンバータは、出ないでしょう。
最大の理由が、素材規格の大きな違いです。
上記は、プログラミング上端的なところを挙げたにすぎませんが、
素材規格の違いを書くと、このトピックが3倍の分量になるため、各自調べてみてください。
例えば……
・キャラチップの仕様の違い1:VX以降は3パターンだが、
XPでは4パターンが基本である。ゆえに、1パターン減らすか、
場合によっては、キャラのアニメーションを増やすプラグインが必要。
・キャラチップの仕様の違い2:XPでは、VX以降のように「8キャラまとめる」
という仕様がないうえ、「自動で6マス上に表示する」という仕様もない。
よって、変換の際は、「hiroshi.png」から「!$hiroshi.png」という名で
インポートする必要がある。
・まだまだ書きたいが、あとは質問受けたら答えます。
……以上、基本的なことをまとめました。
何か、疑問や相談には可能な限り乗りますし、
逆に「こんないい方法(や、ツール)があるよ」といった情報も歓迎です。
最後に編集: