NScripter

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`命令を用いることで擬似的に実現しています。総じて、テキスト主体のアドベンチャーゲームを効率的に開発することに特化した仕様となっています。

Luaによる拡張



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ではじめる ノベルゲーム制作

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。