NScripter2(エヌスクリプターツー)は、高橋直樹氏によって開発・公開されているスクリプトエンジンです。これは、かつてノベルゲーム開発で広く利用された
NScripterの後継として位置づけられています。
NScripterの基本的なコンセプトを継承しつつ、内部構造を刷新し、最新のスクリプトエンジンにふさわしい高いパフォーマンスを実現しています。動作環境はWindowsです。
概要
NScripter2は、商業作品レベルの機能、動作の安定性、そして開発の容易さを維持することを目標に開発されました。特に、エンジン部に
スクリプト言語として
Luaを導入したことで、従来の
NScripterでは不可能だった、エンジンの振る舞いを自由に改変できる柔軟性を獲得しました。
2009年9月に「SundayGameEngine」として試作版が公開され、その後、中間バージョンは公開されなかったものの、開発は継続され、
2012年8月31日に正式なベータ版が公開されました。エンジン自体は完成していますが、ドキュメントやサンプルコードの整備がまだ不十分なため、ベータ版として提供されています。初の商業利用作品は、Touchableより発売された「触装天使セリカ2」です。
特徴
NScripter2の大きな特徴は、グラフィック描画にDirectXを全面採用したことです。これにより、ピクセルシェーダーを用いた高度なエフェクト処理が可能となり、グラフィック性能が大幅に向上しました。また、
NScripterの弱点の一つであったフォント出力機能も大幅に強化され、演出面での表現力が飛躍的に高まりました。さらに、機能拡張用プラグインの作成も容易になり、エンジン本体の動作をより深いレベルからカスタマイズできます。
エンジンは、
C++で構築された基盤層、
Luaで実装された中間API層、そして初心者向けのBASIC言語層という3層構造になっています。これにより、プログラミングに不慣れなユーザーでも、BASIC風の言語を使って内蔵APIを呼び出すことで、比較的容易に高度なアドベンチャーゲームやノベルゲームを開発できます。このBASIC言語は、現代的な文法に再設計されており、配列や構造体も扱えるなど、機能が大幅に向上しています。一方、プログラマーであれば、
Luaを用いて独自のAPIを作成したり、エンジンの挙動自体を改変できます。
NScripter2は、本来
Lua層のみでゲームを構築可能であり、これが最も効率良くエンジンの性能を引き出す方法です。また、C/
C++言語を利用した拡張プラグインを作成することで、エンジンの機能を自由に拡張することも可能です。将来的な機能拡張として、Direct3Dに対応した3D描画機能の搭載も検討されており、試作版のSundayGameEngineには、そのデモが収録されていました。
利用の手引き
NScripter2は、
2012年9月時点でエンジン本体と必要最低限のドキュメントのみが公開されている段階です。サンプルコードも少なく、ゲーム開発に必要なフレームワークも搭載されていません。そのため、ゲームを制作するには、付属ドキュメントを参照しながら、これらの機能を自身で構築する必要があります。この点が、
NScripter2の利用におけるハードルとなっています。ただし、開発者側からは、将来的なゲーム用フレームワークの搭載や、初心者向けのマニュアルの提供が予定されています。
ライセンス条件は、基本的に
NScripterと同じです。同人作品や非商用作品での利用は無料ですが、商業作品として利用する場合は、別途
ライセンス料が発生します。その一方で、
ライセンス料を支払うことで、開発サポートを受けることが可能です。
関連情報
NScripter: NScripter2の旧バージョンにあたるスクリプトエンジン。
吉里吉里Z: 他の作者が開発した、ノベルゲーム用フリースクリプトエンジン。
外部リンク
*
高橋直樹開発日誌