- RPGツクールMVの将来性について考察
- 単体スクリプト言語としてのnode.jsの使い方について
RPGツクールMVの将来性についての考察
当初は、せっかく人がついてるRubyやめちゃうのとか、HTML5か……とか思ってたのだが、実は将来的にはかなり有望なツールなんではなかろうか。
RPGツクールMVはnw.js(つまりnode.js+Chronium)+pixi.jsベースの、つまりWEBベースのゲームエンジンだ。
俺の世代のインディーズなオタプログラマにはWEB系は今ほどはいなかったのではないか。HTML4とかそれ以前の時代だしね。今はWEBプログラマの勢いがあって、若い技術者は一杯いる。ソシャゲの隆盛により、ゲームを分かるWEBプログラマもたくさんいる。若い世代にはこの方面の人材は豊富なんじゃないか。
単体スクリプト言語としてのnode.jsの使い方について
RubyにしろPythonにしろnode.jsにしろ、基本的には、「環境にインストールする」ものだ。インストールオプションはこうしろとかパスを切れとかをプロの開発者ではないユーザーに解説するのはかなりめんどくさいしユーザーも導入の敷居は高い。
ユーザーに導入の手間を掛けさせなくてもいい、アプリ本体に組み込めるスクリプト言語として、俺はLuaを今まで便利に使ってきたし、この方面でLuaを利用する人は多い。
しかし、検索してみたところ、node.jsの場合、node.exe(とnode_modulesディレクトリ)を配ってしまえば普通に動くらしい。実際手元でただのHelloWorldと、ffi使って外部DLLを呼び出したものを動かしてみたが、普通に動いた。
node.jsのこの設計は多分この先そうそう変わらないだろうし、であれば、node.jsベースでアプリ開発したっていいかもしれない。JavaScriptはLuaよりもかなり言語に組み込まれた機能の多い言語だ(その分サイズが大きいが)。プラグインも豊富で、特にネットワーク関連が充実しているのが強みになるだろう。
node.exeを実行スクリプトのパラメータ付で呼び出すランチャーかバッチファイルを作ってそこから実行すればいい。この場合、node.jsを組み込んでいるというよりは、node.jsに組み込まれるプラグインとしてエンジンを書くことになる。node-ffiを使えば外部DLLをかなり簡単に呼べるので、DirectXだろうがなんだろうが呼び放題だ(この場合DLLがx86なら32bit版node.jsにすること。たいていゲームは32bitで配布するだろうからnode.jsもそうなると思われる)。
WEB技術で画面デザインしたいならelectronなりnwなりになるだろうが、その辺使わないでコマンドラインアプリやDirectXなどを使うゲームを作る場合でも、node.jsは有望な技術かもしれない。なにしろ、node.jsのモジュールは大量に世に出ていて、その全てがnpmコマンド一つで組み込めるのだ。何もしなくてもゲームエンジンがネット対応しちゃうぞ。ただし一つ欠点があって、exeファイルがでかい。14MBもある。ゲームなら問題ないだろうけど、ちょっとしたコマンドラインツールでこの大きさは気になる人もいるだろうなあ。