高橋征義です。

ふとRGSSを見てみたくなって、RPGツクールXPを買ってみました。

RPGツクールXP
http://www.enterbrain.co.jp/tkool/RPG_XP/index.html

  「『RPGツクールXP』では、『Ruby』というプログラミング言語を
    『RPGツクール』専用にカスタマイズした言語
    『Ruby Game Scripting System(以下、『RGSS』)』が採用されて
    おり、その中のスクリプトを編集することで、ツクールの機能を
    自由に変更・追加することができるのです。」
    (http://www.enterbrain.co.jp/tkool/RPG_XP/shinkinou.html)

インストールにはネットワーク認証が必須です。
正直、インストールにネットワーク環境が必要になるのはいかが
なものかと思わないでもないですが、世の中にはいかがなものか
と思うようなユーザがいるようなので、ある程度は仕方ないのかも
しれません。うーん。
  cf.  http://www.enterbrain.co.jp/digifami/sadfact02.html
       http://www.enterbrain.co.jp/tkool/info.html

その辺はクリアしてインストールした後、スクリプトエディタ
(これはScintillaを使っているっぽい)を開いてみました。
……中にあったのは、そのまんまRubyのコードでした。endが
いっぱいです :-)

雰囲気としては、Rubyを組み込んだというより、RPG用拡張ライブラリを
追加したRuby、という感じに見えます。たとえばメインループなんかは、

begin
  Graphics.freeze
  $scene = Scene_Title.new
  while $scene != nil
    $scene.main
  end
  (フェードアウト)
rescue Errno::ENOENT
  (メッセージ表示)
end

となっています(コメントと一部コードを省略)。Scene_Title
クラスもRubyで定義されてます。

ソースコードは、eachではなく for i in a..b を多用して
いるといったように、あんまりRubyっぽくないんですが、かっちり
手堅くは作ってあるようです。
こうすればRubyでRPGが書けるようになるのかーという感慨には
ひたれます。

というわけで、RPG制作そのものには特に興味がなくても、Ruby製の
RPGシステムをソースつきでぜひ見てみたいという方は買ってもいい
かもしれません。

# それだけで買うにはあんまり安くはないですが。
# でも、せっかくRubyを利用しているのでちょっと応援したい気分は
# ありますし、何よりRGSSでプログラムをする若者(じゃなくても)には
# ちゃんとしたプログラミング技術を会得してほしいなあ、とは思います。

高橋征義 (Masayoshi Takahashi)   E-mail: maki / rubycolor.org