神無月サスケの波瀾万丈な日常

神無月サスケのツイッター(@ktakaki00)を補完する長文を書きます。

『RGSS2』は結局どうなのか

状況別、購入相談

『RGSS2』はどうなのか。この結論を先に申し上げるためにスクリプト(RGSS2)に対する態度別の、購入相談を作りました。

「プログラム初心者だけどRPGツクールVXでスクリプトを始めよう」という人

悪いこと言わないので、まずはRPGツクールXPの方で勉強しましょう。今回のスクリプトは、いきなりでは歯が立ちません。

「職業プログラマの私から見るとツクXPのスクリプトは詰めが甘い」という人

ぜひVXを買い、スクリプト素材を作ってください。貴方のような人が、RGSS2をリードしてくれるでしょう。

「ツクXPのスクリプトを熟読した、次の段階に進みたい」という人

そんなあなたに、今回のスクリプトはぴったりです。ぜひ楽しんでRPGツクールVXと向き合ってください。

「プログラムなんて知らないけどゲームがつくりたい」という人

あるいは「ツクール2000が好きだったがXPはとっつけなかった」という人。そんなあなたにも、VXはぴったりです。機能が多いため、RGSS2に手を触れる必要がありませんし、スクリプト素材も多く出てくると思われます。それで事足りるでしょう。

オブジェクト指向言語(C++JavaRubyなど)は得意だが、RPGが作りたくなった」という人

ツクールVXはおすすめです。あなたの知りたかったRPG制作ノウハウが全て分かります。完成度の高さに驚くことでしょう。そしてRGSS2に魅了されることでしょう。(ついでにツクールXPも購入してみてはいかが?)

今回のRGSSは「プロ仕様」

RPGツクールXPスクリプトは、親切なコメントがついていました。初心者に配慮しているのでしょうが、
「リターン」とか「Cが押されたとき」などの馬鹿親切なコメントがついていました。これらのコメントによって、流し読みしても「どういう流れで処理をしているのか」が読めるようになっていました。

それに比べて、今回のスクリプトはどうでしょうか。プロのプログラマの書く、無駄のないスクリプトに近づいています。

百聞は一見にしかず。実物で比較します。

傾向1:コメントが減った

(追記23:30)注意!:コメントにて「コメントが少ないのは体験版だからでは?」という意見を戴きました。確かにそうかもしれません!だとするとこの項目は製品版にはあてはまりません!思慮のない文章で失礼しました。あくまで「体験版の印象」ということで注意してお読みください。

(追記07/12/27 製品版をチェックしましたが、コメントは増えていませんでした!)


左がツクールXP、右がVXの勝敗判定の部分です。(クリックすると拡大表示)

ツクールXPの方は、プログラムをあまり知らなくてもコメントから「大体こういう流れなんだな」と読めます。

しかしVXの同じ部分には全くコメントがありません。

ここを見てもRGSS2は「RGSS1に慣れている人か、プログラム経験者向け」が見て取れると思います。

確かにプロとしては正しいプログラムです。逆にツクールXPのコメントはいずれも流れを馬鹿正直に説明しているだけであり「読めば分かる」域を出ていません。プロの場合、「冗長なコメントを付けすぎ」と言うかもしれません。

しかしプログラムに不慣れな人にとって、このくらいのコメントが一番親切だと感じました。

ためしにツクVXの図に僕がコメントを補ってみました。

かなり分かりやすくなったと思います。(クリックすると拡大表示)

そこで、もし、ツクVXのスクリプトに1から挑戦される場合、このように、自分でコメントを補いながら読んでいく方がいいと感じました。

傾向2:メソッドが増え、きれいな構造になった

もうひとつ例を挙げましょう。キャラクターの通行可能判定(passable?)です。


(クリックすると拡大表示)

ツクールXPでは、処理を全て一つのメソッド内に書いており、非常に長くなっています。

一方、ツクールVXの方は、「マップ外?」「すり抜けON?」のように、処理を分けてメソッドを呼び出しています。

プログラミングの一般的なスタイルとしては、ツクールVXの方がふさわしいのです。詳細な理由は避けますが、短くまとめ、同じような処理をあちこちに分散させずに済むからです。

しかし、プログラムの解読の難易度は、明らかにツクールXPの方が低いです。

ツクールXPのスタイルなら、上から下にテキストをスクロールするだけで読めるため、プログラムを読むのに慣れていない人でも簡単に流れが分かります。

一方、ツクールVXのスタイルはどうでしょう。まず大きな流れを理解し、その中にあるメソッドをひとつひとつ探し、そしてそれらを見ていかなければなりません。

繰り返しますが、それが本来のプロのプログラムの理想形です。(そして、このスクリプトは相当秀逸です)そして、RGSS2はいわばプロ仕様なのです。「RGSS2のスクリプトはRGSS1より難しい」これを知らないでいるとかなり面食らうことでしょう。

要望:スクリプトエディタが使いやすくなればなあ

テキスト表示部分を2分割して、スクリプトの2箇所を比較したり出来たら、解読に助かるのになあ、と思いました。

前述の通り、メソッド呼び出しを多量に行っています。このため、解読の際「メソッドの呼び出し部分と、メソッド本体」を一緒に読みたくなる事が結構あります。

また、今回、ひとつの段が長くなりました。ツクールXPでは1クラスを複数の段に分けていましたが、今回は1クラスは原則1段にまとめているため、長くなりました。

このため、テキストを上下しながら、メソッドを追うことになります。

実際、数時間スクリプトを解読したのですが、テキスト表示部分が分割できないため、妙に疲れてしまった気がします。

まあ、以上は慣れの問題かもしれませんし、使い込む人は別のテキストエディタを使う方法もあるのでしょうが、バージョンアップの機会に考えてくれると助かります。

RGSS2の醍醐味は「素材配布(と、その利用)」にあり

以上のように、RGSS2は、全体的に上級者向けになっています。繰り返しますが、ツクールXPで慣れている人でない場合、ある程度オブジェクト指向のプログラム言語の経験がない人は触らないほうが無難かもしれません。

しかし、上級者にとって、挑戦しがいのある仕様といえます。ゲームライブラリも充実しましたし、ぜひ挑戦しましょう。

そして、今回は、素材配布に重点が置かれているように思えます。ぜひ、有用な素材を配布してください。

そしてプログラムが苦手、という方も、今回は心配無用でしょう。ツクールVXの機能は(今回は細かく説明しませんでしたが)スクリプトを変更せずとも相当多機能です。

また、優秀な素材を探す楽しみもあるでしょう。「こんな素材が欲しい!」という要望を、ぜひ素材屋さんと相談しあってみてはいかがでしょう。