最近のRPGツクールにはRubyが乗ってることについて。

 ……って、遅すぎですね。はい。お前はいつの時代の人間だ、という感じですね。
 
 でも、書きます。
 RPGツクールXPには「Ruby Game Scripting System」が乗っていてRubyでゲームシステムを書くことができるわけで、実は気になっていて買おうかなぁとか思っていたのですが未だに買わずじまいです。
 でも、ツクールはDANTE98IIやSUPER DANTEの頃からお世話になってます。ツクール95もツクール2000も買いました。
 そうした自分から言わせてもらうと、
 
 「敷居が高すぎる」

 ツクールでゲームをつくりたいなぁ、という人にスクリプトを触らせるのは無理ッす。
 素養もないのに「さぁ、自由にRubyで好きなゲームをつくってください! ほら、さぁさぁ、EnjoyProgramming!」
 「何でもできます! 自由なシステムがつくれます! 夢のシステムです!」
 無理です。
 そんなの全然楽しくありません。

 開発現場でもそうですけど、スクリプタの人は言語の知識がなかったりするのでBASICライクな言語である方が望ましいです。
 言語のなんたるかを知らないのにC言語ライク、LLライクの言語なんて使いこなせる筈がないからです。
 使いこなすためには勉強が必須で、

 ツクールで作ろう!→Rubyの勉強?→めんどくせ→やーめた

 とかが関の山です。
 スクリプトを導入するにしてもどうしてBASICライクでなかったのかなぁ、というのが至極疑問です。
 確かにマウスでパチパチコマンドを入力していかざるを得ない従来のインターフェイスは面倒なので、typeしてコマンドを打っていけて、マウスの操作で打ち込んだコマンドと互換性があって、それを隠蔽できれば良かったような気がするのですが。
 謎です。

 例えば右往左往するキャラクタを描く際に、
 マウスで「キャラクタ右に移動」→「キャラクタ左に移動」→「キャラクタ右に移動」とか打ち込むのは面倒なので。

SET C1 '町の人A'

FOR CNT IN RANGE(3)
  CHR C01 MOVE RIGHT
  WAIT(10)
  CHR C01 MOVE LEFT
 WAIT(10)
ENDFOR

 もしくは、

CHR C01 MOVE RIGHT
WAIT(10)
CHR C01 MOVE LEFT
WAIT(10)

CHR C01 MOVE RIGHT
WAIT(10)
CHR C01 MOVE LEFT
WAIT(10)

CHR C01 MOVE RIGHT
WAIT(10)
CHR C01 MOVE LEFT
WAIT(10)

 でも良いですし。

 ゲームのスクリプトなんて何度も組み直しもするし、書いたら書いたで再生して繰り返すものだから、ある程度「構造化できる」レベルで良くてRubyを採用するだなんて、失敗だとしか思えない訳です。
 全然enjoyできないのでRubyの思想に反しているし。

 しかしながらプログラマの尾島陽児氏*1は好きなので、別のアプローチで作って欲しいなぁ、と密かに期待しているのでした。

 でも、これって……プログラマがスクリプタに丸投げの図式かなと思いました。

 おめぇ、ぐだぐだ言わずにつくりたいシステムあんならRubyやるから勝手に作れば?

 みたいな。プログラマの愚痴を体現したソフトとも言えます。

*1:今でもキャラクターレイザー愛用中