Rubyで作るアドバンテージ

ゲームに限らず、気楽な言語であるRubyでプロトタイプを作って、あとで本格的に他の言語で作り直す、というやり方を主張する人が少なからずいる。
ぜんぜん悪いことではなく、間違ってもいないと思うのだが、なぜRubyがプロトタイプのみで終わるのかが不思議だ。
そのへんをちょっと考えてみる。


まず、プロトタイプを作るのに適しているかというと、柔軟で扱いやすいし生産性は高いしで、大変適していると言える。
それでは、大規模なシステムに適用するにはどうか。
実績が無ければ難しいところだ。
twitterRubyで最初作って、あとからscalaだっけ、書き換えるって話だった。
そういう実績はあるのだが。
システム的な話でいけば、大規模になってきてもきちんとスケールするかといった話になる。
それは言語ではなく、使うライブラリによるような気がする。
そういったきちんとスケールするライブラリが無い、というなら、それは時間の問題かもしれない。


Rubyで作ることができること自体が大きなアドバンテージにはなる。
いい言語だ。
じゃあ、それを主張しなければならないほど、他の項目は劣るのか、という話だ。
一番言われるのは、やっぱり実行速度だろう。
なんにしても遅い。
ゲームを作っても、派手なものを作ろうと思ったらRubyではきつい。
1.9.1でかなり改善されるのだろうが、たとえばDirectXの薄いラッパライブラリを作ったとしたら、Rubyでまともなゲームを作るのは不可能だろう。
そのぐらいは遅い。
いい言語ではあるが、遅いから、プロトタイプを作るだけで終わる。
それじゃあ、アノ手コノ手で高速化したライブラリがあって、Rubyで実用的な速度が出せるのなら、プロトタイプで終わることはないのか。
ということでDXRubyは速度にこだわったモノに仕上げている。
十分な速度が出れば、普通にゲーム開発に使える環境になるのではないか、と思うからだ。
Rubyが普通にゲーム開発できる環境になれば、それが最高だと思うからだ。


速度が遅いのもあるが、ライブラリがまだまだ少ないというのもありそうだ。
もっともっと、色んなものが出ては消えて、さまざまな可能性を試していかないといけない。
でもそのためにはまだユーザーが足りないのかもしれない。
Rubyならではの絶妙なアイデアを思いつく人や、Rubyに足りないものを力技で実現してしまう人や、なんしかもっとバリエーションに富んだユーザー層が必要だ。
俺が属しているのはRubyのゲーム開発関連だから、そっちで言うなら、もっとゲーム作りをする人がRubyユーザーには必要なのだ。


ロスタートでマーケティングは難しいから、クチコミで広まってくれれば楽でいいのだが。
なかなかそうもいかないらしく。
見た人に強烈なインパクトを与えるほどの何かがあればよいのだろうけど、さすがにそこまでの性能や機能はまだ無い。
そういうことも考えていかないといけない。
Rubyならこんなのが簡単に作れるのか、と思ってもらえるような何かが必要なのかもしれない。