NScripter(エヌスクリプター)は、高橋直樹氏によって開発されたスクリプトエンジンです。主にWindows環境で動作し、
アドベンチャーゲームや
ビジュアルノベルといったテキストベースのゲーム制作に特化しています。作者の名前「直樹」の頭文字「N」が名前の由来です。前身には高橋氏が開発したScripter3があり、その技術が発展してNScripterとなりました。さらに、後継エンジンとして
NScripter2も公開されています。
概要
NScripterは、テキスト表現を主体とするゲームの実行に優れており、特に
アドベンチャーゲームや
ビジュアルノベル開発で広く利用されています。その平易な文法は、プログラミング初心者にも扱いやすく、高度な
演出機能と安定性から、多くの開発者に支持されています。開発コンセプトとして、専属
プログラマーを持たない中小規模のゲーム開発会社でも、シナリオライター自身が
演出とスクリプティングを担当できる手軽さが挙げられます。
商用・同人を問わず、テキストベースのゲーム開発エンジンとして日本国内で広く普及しており、
2009年4月に公開されたVer2.93以降では、DLLによる機能拡張が可能になりました。特に、
スクリプト言語Luaを導入することで、エンジンのフレームワークをユーザーが自由にカスタマイズできるようになり、柔軟性が大きく向上しました。しかし、古いバージョンのWindows(98/Me/2000)への対応はVer2.95が最終版であり、Ver2.96以降はWindows XP以降専用となっています。また、過去のバージョンにはセキュリティ上の脆弱性が存在したため、
2015年には脆弱性に対応したVer3.00と、
バグ修正版の3.03が公開されています。
特徴
NScripterのスクリプトは
インタプリタによって実行されます。文法は
BASICに似ており、比較的容易に理解できます。テキストやCGの表示、音楽の再生、選択肢の処理など、
アドベンチャーゲーム制作に必要な基本機能は、APIとしてエンジンに組み込まれています。これにより、スクリプトを記述するだけで高度な
アドベンチャーゲームを構築可能です。また、「システムカスタマイズ」という方法を利用することで、独自のセーブ・ロード機能の実装や、標準機能にはない複雑な
演出も実現できます。
ムービー再生、スプライトを利用した
演出、外部DLLによる機能拡張も可能で、これらの機能はシミュレーションゲームなど、他のジャンルのゲーム開発にも応用できます。
Ver2.92以前は
オブジェクト指向的な要素がなく、複数
タスクの同時進行処理は苦手でした。
構造化プログラミングについては、`defsub`命令を用いることで擬似的に実現しています。総じて、テキスト主体の
アドベンチャーゲームを効率的に開発することに特化した仕様となっています。
Ver2.93以降では、
Luaスクリプト言語を利用したフレームワーク拡張が可能です。
LuaはDLLとして実装されており、NScripter本体から起動されます。従来のNScripterスクリプトから
Luaの機能を呼び出すだけでなく、
Lua側からNScripterの機能も利用でき、ゲーム本体の記述をほぼ全て
Luaに移行することも可能です。これにより、複雑な数値計算、ファイル操作、ブロック・スコープ、テーブル・メソッド、モジュール・ライブラリなど、本格的な
スクリプト言語の機能を利用した開発が可能になりました。また、ゲーム内の各要素を並行して操作したり、テキスト表示をスプライト化することも可能になるなど、
演出と機能が大幅に強化されました。
利用環境
中級者以上のPCスキルがあれば、有志が運営する講座サイトを利用することで、基本的な使い方を数時間で習得できます。また、ゲーム制作に関する公式書籍も複数出版されています。ユーザーが作成した機能拡張DLLやサンプルスクリプトも豊富に公開されており、利用環境は充実しています。しかし、公式のサポートサイトが存在しないため、マニュアルも複雑になっている点には注意が必要です。利用にあたっては、ユーザー自身が積極的に情報収集に努める必要があります。公式サイトでは、最新版の実行ファイルに加えて、旧ツールとドキュメントが配布されています。このドキュメントは、機能拡張によって未整備な部分も含まれているため、新規ユーザーは必ずダウンロードしておきましょう。
NScripterは非商用利用や同人作品での利用は無料です。
2013年に使用条件が緩和され、ゲーム
コンテストへの応募や、無料配布であれば
法人・
個人を問わず利用できるようになりました。ただし、商業作品として販売する場合は、使用料を支払う必要があります。同人やフリーソフトの場合でも、使用料を支払えば「サポート対象」となります。小規模の機能追加であれば、使用料の範囲内で対応可能です。
非公式の互換エンジン
NScripterはWindows専用ですが、非公式ながら他のプラットフォームで動作する互換エンジンが開発されています。これにより、NScripterで開発されたゲームをWindows以外の環境でも楽しむことが可能です。また、他のスクリプトエンジンで開発されたゲームをNScripterに変換するツールも存在します。これは、Windows以外でもゲームを動作させることを目的としています。ただし、変換によって一部の特殊効果が失われることがあります。以下に代表的な互換エンジンを挙げます。
ONScripter: オープンソースで開発されており、幅広いプラットフォームに対応しています。
CCScripter: かつてMac OS X向けに開発されていましたが、現在はONScripterが代替として利用できます。
NscPlayer: Google Chrome上で動作します。
PNaCL ONScripter: ONScripterをPNaCl技術で実装したものです。
関連書籍
NScripterに関する書籍は複数出版されており、学習に役立ちます。以下に代表的なものを紹介します。
NScripterオフィシャルガイド
あどばんすどNScripterオフィシャルガイド
改訂版NScripterオフィシャルガイド
NScripterではじめる ノベルゲーム制作