| 開発者 | 高橋直樹 |
|---|---|
| 初回リリース | 1999年9月6日[1] |
| 最終リリース | 最終版 / 2018年2月23日[2] |
| オペレーティング·システム | ウィンドウズ |
| タイプ | ゲームエンジン(ビジュアルノベル) |
| ライセンス | フリーウェア |
| Webサイト | 翻訳元 |
NScripter (エヌスクリプター, Enusukuriputā )は、正式名称をNscr 、製品名を Scripter4としても知られ、1999年から2018年にかけて高橋直樹氏が開発したゲームエンジンで、ビジュアルノベルとサウンドノベルの両方の作成を容易にする独自のスクリプト言語を備えています。SDKはWindowsでのみ使用できます。バージョン 2.82 以降、NScripter は2 バイト長の日本語文字と 1 バイト文字の両方をサポートしています。それ以前は、日本語文字のみをサポートしていました。このエンジンはシンプルで、アマチュアゲームメーカーにとって無料だったため、日本で非常に人気がありました。さらに、NScripter の機能を拡張して、別の言語の文字を表示したり、他のプラットフォームでゲームを実行したりするためのフォークも用意されています。
Nスクリプター
NScripter の開発は 1999 年から 2018 年まで行われ、高橋直樹氏の以前のエンジンである Scripter3 の後継であったため、最初は製品名でScripter4 と呼ばれていました。2018 年 2 月 23 日に NScripter の最終バージョンがリリースされました。
特徴
スクリプトはエンジンによってインタプリタで実行されます。文法は非常にシンプルで、BASIC言語に似ています。テキスト、スプライト、CGの表示、音楽の再生、選択肢の処理など、ビジュアルノベルやサウンドノベルを作成するために必要な機能は、基本的なAPIとしてエンジンに組み込まれています。そのため、これらの機能を直接呼び出すスクリプトを記述できるため、ゲームの作成が簡単になります。
特定のニーズを満たすために、エンジン自体の動作を変更して、保存システム、基本 API では提供されていない複雑なエフェクト、ビデオ管理などの機能を追加する「システム カスタマイズ」と呼ばれる方法を使用できます。これを行うには、外部 DLL を使用できます。これらの機能を使用して、シミュレーション ゲームなど を作成できます。
一方、バージョン 2.92 より前は、オブジェクト指向の要素はソフトウェアに組み込まれておらず、NScripter は並列処理をまったく処理していませんでした。ステートメントは、NScripter 内で構造化プログラミングをdefsub行おうとするために使用されました。全体的に、NScripter はビジュアル ノベルやサウンド ノベルの開発に特化しており、これらのタイプのゲームの作成が簡素化されています。
バージョン 2.82 では、NScripter に 1 バイト文字のサポートが追加されました。これにより、コアのラテン アルファベットと英語話者向けの英語アルファベットで記述できるようになりました。
Lua による拡張
2009 年 4 月 1 日にリリースされたバージョン 2.93 以降では、 Lua を使用して NScripter の機能を拡張できるようになりました。
Lua はDLLとして実装され、NScripter 自体によって起動されます。従来の NScripter スクリプトからこの言語の任意の関数を呼び出したり、Lua 側で NScripter 関数を呼び出したりして、ゲーム スクリプト自体をほぼ完全に Lua に転送することができます。従来の NScripter では不可能だった複雑な数値演算に加えて、この言語は、ファイル操作、ブロック スコープ、配列メソッド、モジュール ライブラリなど、スクリプト言語に典型的な完全な機能を提供します。Lua により、NScripter は並列処理をサポートできるようになり、ゲームのすべての要素を同時に並列に操作できるようになりました。たとえば、アニメーションが再生されているとき、NScripter は同時に他の何も行いません。この言語は、以前は「システム カスタマイズ」と呼ばれる方法を使用して行われていたさまざまな拡張機能の記述を大幅に改善および簡素化し、エンジン自体の動作を変更して、たとえばゲーム終了時の動作を変更する可能性を提供します。ただし、Lua の使用は必須ではなく、古いシステム カスタマイズ方法も引き続き使用できます。
ドキュメント
NScripter には、電子形式の公式ドキュメントと、それぞれ 2004 年、2005 年、2006 年、2007 年に発行された 4 冊の公式書籍があります。これらの書籍は現在、中古本としてのみ入手可能です。senzogawa のような非公式の電子ドキュメントもあります。
ライセンス
ライセンスに関しては、ソフトウェアの非商用利用が許可されており、非商用のゲームはロイヤリティを支払うことなく配布できます。
2013年に利用規約が簡素化され、ゲームなどのコンテスト参加者は賞金の有無や受賞作品の配布形態を問わず、無償で利用できるようになった。また、無償配布であれば、企業・個人ユーザーの区別や配布方法を問わず利用できる。雑誌の付録にフリーウェアやシェアウェアとして収録される作品も無償で利用できる。
ただし、作品を商業的に販売するには、EOCSなどの格付け機関で格付けされた後、ロイヤリティを支払う必要があります。アマチュアゲームやオープンソースソフトウェア/ゲームの場合でも、ロイヤリティが40万円以上になると、商用作品として扱われ、エンジンに問題があった場合の対応が行われます。この場合、開発者が作品ごとに拡張機能や難読化処理などの機能を追加したい場合は、ロイヤリティの一部として対応されます。
料金を交渉したり、支払わなかったりすることも可能です。NScripter の開発者は、利益を上げようとしていないゲーム開発者や、ロイヤリティのために利益を上げるのに苦労しているゲーム開発者を特に支援しています。
DLL拡張機能を作成してGPLで再配布することは許可されていませんが、LGPLは許容されると考えられています。
人気
このエンジンは、そのシンプルさとアマチュアのビデオゲームクリエイターにとって 無料であったことから、2000 年代に日本で非常に人気がありました。
スクリプトの例
次の例では、ONScripter-EN の NScript スクリプト言語のバリアントを使用します。
シンプルなスクリプト
この単純なスクリプトは、いくつかの基本的なパラメータを定義し、テキストを表示します。
.png/500px-NScripter_Simple_Script_Result_(French).png)
;モード800
;ゲームの解像度を 800x600 ピクセルに定義します。 ';' は必須であり、スクリプト ファイルの最初の行である必要があります。
;gameid 例
; エンジンのゲーム名を定義します (例: セーブデータに名前を付ける)。 ';' は必須であり、スクリプト ファイルの 2 行目にする必要があります。
*define ;ゲームパラメータを定義するブロック。名前は '*define' にする必要があります。
キャプション「例」;グラフィカルウィンドウの名前
versionstr "例"," version 1.0-en" ;[バージョン情報] メニューでゲームのバージョンを説明するために使用されるテキスト文字列を定義します。
savename `Save`,`Load`,`File ` ;保存および読み込みメニューのタイトルと、保存ファイルを指定するテキスト文字列を定義します。
;右クリックメニュー(デフォルトは日本語の「しおり」)を変更または翻訳します。ここでは「ファイル」に変更しました。
savenumber 15 ;最大保存数を定義します。
rmenu `Save`,save,`Load`,load,`Erase window`,windowerase,`Quit`,end ;ユーザーが右クリックしたときに表示されるメニューのボタンに名前を付けます。
game ;すべてのゲームパラメータを定義するブロックを閉じて、ゲームを開始します。
*start ;ゲームコンテンツを定義するブロック。
`サンプルテキスト...@、次にユーザー操作後に表示されるテキスト。\ そして最後に別のテキスト ページ。\
;サンプルテキスト。文字 '`' は 1 バイト文字を使用するために使用されます (コアラテンアルファベットと英語のアルファベットには十分ですが、日本語の文字には不十分です)。
;'@' と '\' はユーザーの操作を待ちます。'@' は操作後にテキストの残りをスクロールし、'\' は現在のテキストを削除します。
;行が終了したら次の行に移動します。 '`' の後にスペースは必要ありません。コメントを含むコマンドの後の任意の文字を読み取ります。
end ;ゲームを終了します。
選択肢と背景画像を含むスクリプト
線形ではない、または「キネティック ノベル」と呼ばれるビジュアル ノベルには選択肢があります。このスクリプトには、背景画像を表示するための命令と、それに加えてピクセルごとのフェードイン効果も含まれています。
.gif/500px-NScripter_Choice_And_Background_Script_Result_(French).gif)
[…](前の例の*defineブロックを参照)
/!\ 定義ブロックにコード行が追加されました *define /!\
effect 2,10,1000 ;エフェクト番号 2 を定義します (エフェクト 0 と 1 はトランジションを表示しないために予約されています)。これはピクセルごとのフェードインです。
ここで定義されているように、エフェクトはエンジンに含まれる 10 番目のエフェクト セットから取得され、1000 ミリ秒 (つまり 1 秒) 持続します。
game ;すべてのゲームパラメータを定義するブロックを閉じて、ゲームを開始します。
*start ;ゲームコンテンツを定義するブロック。
bg "background-image.png",2 ;エフェクト番号2で「background-image.png」が表示されるように遷移します。
「[キャラクター1]
「それで...@読書と映画鑑賞のどちらが好きですか?」
;サンプルテキスト。文字 '`' は 1 バイト文字を使用するために使用されます (コアラテンアルファベットと英語のアルファベットには十分ですが、日本語の文字には不十分です)。
;'@' と '\' はユーザーの操作を待ちます。'@' は操作後にテキストの残りをスクロールし、'\' は現在のテキストを削除します。
;行が終了したら次の行に移動します。 '`' の後にスペースは必要ありません。コメントを含むコマンドの後の任意の文字を読み取ります。
br ;選択肢と質問の間にスペースを作るために改行します
「読書」、*選択肢1、「映画鑑賞」、*選択肢2を選択します。2つの選択肢が表示されます。
*choice1 ;プレイヤーが選択肢1を選択した場合にブロックが開始されます
「[キャラクター2]
「私は読書が好きです。」
「[キャラクター1]
「私もです!あなたの好きな本は何ですか?」
br ;改行
「そして会話はさらに2、3時間続きました...」
end ;ゲームを終了します。
*choix2 ;プレイヤーが選択肢2を選択した場合にブロックが開始されます
「[キャラクター2]
「私は映画を見るのが好きです。」
「[キャラクター1]
「私もです!あなたの好きな映画は何ですか?」
br ;改行
「そして会話はさらに2、3時間続きました...」
end ;ゲームを終了します。
NScripter を使用した注目のゲーム
NScripter で実行されるゲームのほとんどはアマチュア ビデオ ゲームであるため、注目すべき NScripter ゲームはほとんどありません。以下の注目すべきゲームのほとんどは商用ゲームであり、したがって商業的に成功しています。
- 月姫; Type-Moon は月姫に NScripter を使用していましたが、同社は次のゲームFate/stay nightではKiriKiriに切り替えました。
- 07th Expansionのサウンド ノベル- When They Cryシリーズなど。アマチュア翻訳者を含む多くの人が、07th Expansion ゲームを通じて NScripter とその派生版を発見しました。
- Narcissuシリーズ。Narcissu シリーズは、おそらく NScripter で実行されている最も人気のある無料のキネティック ノベル シリーズです。
NScripter2
NScripter2 (エヌスクリプターツー, Enusukuriputātsū )は、Sunday Game Engine (SGE) という製品名でも知られ、NScripterゲーム エンジンの後継であり、Naoki Takahashi によって開発されました。SDKはWindowsでのみ利用可能です。
開発とリリース
2009 年 9 月、エンジンのプロトタイプバージョンが Sunday Game Engine という名前でリリースされました。それ以来、開発は継続され、エンジンの公式ベータ バージョンは2012 年 8 月 31 日に利用可能になりました。
特徴
...
ユーザーガイド
2022年6月現在、NScripter2はまだエンジン本体と最小限のドキュメントのみがリリースされている段階です。開発者はアップデートして簡素化するつもりでしたが、エンジンは2017年以来アップデートされていません。
構文
構文は NScripter とは異なりますが、それでもBASIC言語 (より正確にはVisual BasicとQuickBasic ) からヒントを得ています。たとえば、関数はもはやアスタリスク (*) ではなくアット マーク (@) で始まり、開始関数はもはや ' *define' ではなく ' ' であり、別の例としては、 Lua@startとの一貫性を高めるために、プログラムを終了するコマンドはもはや ' ' (Lua で 'if' 条件を終了するコマンド) ではなく、BASIC のように ' ' ではなく ' です。
endquit
自由テキスト エディターAtomには、 NScripter2 のスクリプトの開発を容易にする 非公式の拡張機能があります。
ライセンス
基本的には、NScripter と同じライセンス条件が適用されます。つまり、このエンジンはアマチュア ゲームや非商用の作品には無料で使用できます。NScripter2 を使用して商用作品を開発することは可能ですが、ロイヤリティを支払う必要があります。
スクリプター3
Scripter3 (スクリプタースリー, sukuriputāsurī )は、正式名称を Scr3 といい、1998 年から 1999 年にかけて高橋直樹氏が開発した無料 の ゲーム エンジンです。独自のスクリプト言語で動作し、ビジュアルノベルとサウンド ノベルの両方の作成を容易にします。SDKはWindowsでのみ使用できます。これは、より柔軟な構文とより多くの機能を備えた別の高橋直樹氏のエンジンである NScripter の前身です。たとえば、NScripter はJPEG/JPG形式の画像をネイティブでサポートしますが、Scripter3 では'jpeglib.dll' という DLL が必要です。
特徴
Scripter3 は、 Shift-JISエンコードと TXT 拡張子を持つプレーンテキスト形式のスクリプトファイルを読み取ります。エンジンは、最初に 0.txt ファイルから 99.txt ファイルまでを順番に読み取りますが、 .scp 拡張子 (NScripter の nscript.dat に相当) を持つ難読化されたスクリプトも読み取ることができます。ただし、プレーンテキストファイルが優先されます。コアラテンアルファベットと英語のアルファベットの文字、またはフランス語の引用符などのその他の文字を表示できますが、これらは全角文字である必要があります。
Scripter3 はテキストを処理しますが、テキスト ボックスのグラフィック部分の残りは処理しません。これは、ビジュアル ノベルで装飾とテキストのコントラストを確立するために不可欠です。開発者はテキスト ボックスのグラフィックを各背景画像に直接組み込む必要があるため、テキスト ボックスのない背景画像とテキスト ボックスのある背景画像のコピーが存在することがよくあります。その結果、プレーヤーが右クリックしてテキストを非表示にしても、テキスト ボックスは背景画像に統合されているため、表示されたままになります。
このエンジンはオーディオ CD を読み取ることができるため、特にアマチュア ビデオ ゲームの作成者は、パロディなどの ために、多くの場合は商用である他の作品のオーディオ CD を読み取ることができます。
後継の NScripter では、ほぼ同じ命令が保持されているため、2 つのエンジンは互いに比較的互換性があります。たとえば、@、\ などのテキスト命令のように変更されていない命令もあります。また、両方のエンジンに *start ラベル、キャプション命令などが見られますが、bp コマンドのように変更される命令もあります。bp コマンドは NScripter では background に名前が変更されています。
人気
Scripter3 は、高橋直樹氏が開発していた頃には非常に人気がありましたが、エンジンはインターネットからほぼ姿を消し、関連するものはすべてアーカイブ Web サイトでのみ入手可能です。多くのユーザーが公式フォーラムで互いにサポートし合い、開発者自身も参加して、自分のプログラムが人気を博すのを日々見守っていました。オンラインで残っているわずかな情報によると、Scripter3 が全盛期だった頃は、競合エンジンのKiriKiriよりも人気がありました。1999 年 11 月 27 日に Scripter3 の最終バージョンがリリースされ、開発者が NScripter への切り替えを推奨した後、Scripter3 のコミュニティは 1999 年 9 月 6 日から利用可能になった NScripter に切り替えました。
関連エンジン
オリジナルの NScripter エンジンは、新機能を追加したり、エンジンの 独自ライセンスから解放したりするために、何度も再作成され、クローン化されてきました。
オンスクリプター


ONScripterは、NScripterの無料かつ互換性のある同等物として開発されたリブレソフトウェアです。2002年2月6日からStudio OGAによって開発されており、最新バージョンは2022年8月16日にリリースされました。ONScripterは、コアラテンアルファベットと英語アルファベットで記述するためのシングルバイト文字を表示できますが、空または不完全なルックバックモードなど、まだ多くのバグがあります。これらの問題は修正されていません。これらの問題が修正されなかったのは、ONScripterの英語版であるONScripter-ENがこれらの問題を修正したため、英語圏の翻訳者に推奨されたためです。ONScripterはSDLソフトウェアライブラリに依存しているため、幅広いプラットフォームと互換性があります。
ONScripter と互換性のあるプラットフォーム:
(アルファベット順)
- アンドロイド
- Brain ( Windows CE 6.0の電子辞書)
- クラシックMac OS
- ドリームキャスト
- フリーBSD
- リナックス
- 俳句
- iOS ( iPhone、iPod Touch、iPad )
- iPod ( iPod Linuxがインストールされている)
- macOS
- ネットBSD
- NetWalker ( Ubuntu )
- ニンテンドー3DS
- Nintendo Switch (2 つ目は、SDL2 を使用した ONScripter-EN [ONScripter と下位互換性あり] バージョン onscripter-20060724-insani の移植です)
- OS/2
- プレイステーション3
- PSP (ドリームキャストポートのポート)
- ソラリス
- Wii (ONScripter-EN のポート、ONScripter との下位互換性のあるエンジン)
- ウィンドウズ
- ザウルス
2002 年 3 月 26 日の Masato Sagara による NScripter ドキュメントの 2005 年 6 月 11 日の英語翻訳には、ONScripter ユーザー向けの中国語翻訳があります。これは 2011 年に開始され、中止されましたが、2015 年に再開されて完了しました。ただし、この翻訳は特に正確であるとは言えません。ドキュメントは、元の形式とブログ投稿の両方でオンラインで入手できます。
ONScripter-EN

...
ONScripter-ANSI
ONScripter-ANSI は、2008 年初頭に Andy_Skull によって開発された ONScripter-EN のフォークで、ANSI (Windows-1252文字セットの誤った名称) のサポートを提供します。このバージョンは、キリル文字を使用する言語を対象とする翻訳者によって頻繁に使用されています。特に、このソフトウェアはもともと、中止されたうみねこのなく頃にのロシア語翻訳に使用することを主な目的としていたことが明記されています。最後のバージョンは 2010 年 10 月 10 日にリリースされましたが、このバージョンは放棄されたようです。ONScripter-ANSI は、少なくとも32 ビット アーキテクチャのWindowsを実行しているコンピューターでのみ使用できます。
ONScripter-RU
ONScripter-RU は、ロシア語をサポートすることを目的として 2019 年半ばから開発された ONScripter-EN のフォークです。ONScripter-RU の主な用途は、「Umineko PS3 プロジェクト」のみです。これは、PS3 ポートの要素に基づいた新しい高解像度 PC バージョンです。エンジンはGPLv2およびBSDライセンスの下でリリースされています。ONScripter-RU は、前述のプロジェクトに役立つ独自のエンジン「ハック」を使用しているため、他の ONScripter フォークとは互換性がありません。ONScripter-RU のドキュメントは非常に不完全です。ONScripter-RU は次のプラットフォームと互換性があります。
(アルファベット順)
- アンドロイド
- GNU/Linux ( 64 ビット) ( Debian、Ubuntu [バージョン 4.1 以上])
- iOS (最小バージョン 8.0 以上)
- macOS (最小バージョン 10.6 以上)
- Windows (最小バージョンXP SP3+ ) ( 32 ビット)
PONスクリプター
PONScripterは、2011年に園崎みおんおじさんによって開発されたONScripterのフォークであり、プロポーショナルフォントとUnicodeのサポートを提供します。 [3]このバージョンは、ONScripter-EN用に作成されたスクリプトと完全に互換性がありませんが、これはプロジェクトの目的の1つでした。適切な開発は停滞しており、Sekai Projectのフォークが最も更新されたフォークです。[4]
PNaCl ONスクリプター
PNaCl ONScripter は、Google のPNaCl サンドボックス テクノロジーを組み込むように設計された ONScripter のフォークです。これにより、ユーザーはHTML5経由で NScripter ゲームを実行できるようになり、ゲームを Chrome アプリケーションとしてエクスポートすることでChrome Web ブラウザーを特にターゲットにしています。このフォークにはバグが含まれており、テキスト入力やマウス ホイール操作などの一部の機能が欠けています。
Nscプレイヤー
NscPlayer はPNaCl ONScripter のフォークです。PNaCl テクノロジが提供するセキュリティを強調し、ユーザーはゲームにマルウェアが存在する可能性を心配せずにプレイできます。
ONSlaught
NONSという製品名でも知られるこのエンジンは、 ONScripterのクローンであり、2009年初頭にVíctor Manuel 'Helios_VMG' Gonzálezによって設計され、Unicode - UTF-8 ... - Shift-JISのサポート、PONScripterの一部の機能(たとえば、テキストを斜体または太字で表示する機能)、画面解像度を変更せずに低解像度の画像を全画面に引き伸ばす機能など、ONScripterを完全に置き換えるか、少なくとも代替となることを目的としていました。開発者は、PSPを購入するための寄付を受け入れることで、互換性のあるゲームの移植性を急速に高めようとしましたが、これは成功していないようです。その目標は最も広く使用されるNScripterエンジンになることですが、NScripter用に設計されたビジュアルノベルのほとんどは、ゲームスクリプトを何らかの形で適応させなければ互換性がありません。このエンジンは、月姫のスペイン語アマチュア翻訳で初めて使用されました。
PONScripter や ONScripter-EN と同様に、ONSlaught には実行ファイルが付属しています。ただし、最近のバージョンでは、少なくとも32 ビット アーキテクチャのWindows を実行しているコンピューターのみを対象としています。また、ソース コードとそれが依存する ソフトウェア ライブラリを含むアーカイブも提供されています。
2011 年 11 月 26 日のエンジンのバージョン以降、プロジェクトはエンジンが更新される 2021 年 7 月まで非アクティブになります。
CCスクリプター
CCScripter は、 M で toveta が開発したクローンであり、ユーザーは macOS で NScripter ゲームをプレイおよび開発できます。サポートとソフトウェアの更新は2004 年 10 月 18 日のバージョン 0.8.24 で停止され、作成者はユーザーに ONScripter への移行を提案しました。
Kスクリプター
KScripter は、 ActionScript 3の NScripter からヒントを得たクローンです。そのため、 KScripter はFlashと互換性がある限り、どのオペレーティング システムでも実行できます。したがって、 KScripter で作成されたソフトウェアまたはゲームの実行可能ファイルの拡張子は.SWFです。エンジンは、 PHP、Ruby、JavaScriptなどの言語を介して Web と対話できます。
クローンエンジンの比較
他の言語をサポートする非公式の NScripter バージョン
.png/500px-Higurashi_no_naku_koro_ni_Korean_(hacked_NScripter).png)
.png/500px-Narcissu_Mandarin_(hacked_NScripter).png)
中国語修正版
たとえば、『Narcissu』の中国語訳には修正版が使用されました。
韓国語版修正版
韓国のインターネットユーザーは、自国の言語をサポートするために NScripter 2.96 の修正バージョンを公開しました。
例えば、『ひぐらしのなく頃に』の韓国語翻訳では改変版が使用されました。
競合エンジン
NScripter には、August 社や OVERDRIVE 社、およびOVERDRIVE 社、Circus 社、NEXTON 社によって設立された英語ローカリゼーション会社MangaGamer社で広く使用されている BGI KiriKiri (KAG とも略される) です。このエンジンは自由で、オープン ソース コードを持ち、たとえばType-Moon社がゲームFate/stay nightの制作に採用しました。同社は以前、NScripter を使用して開発されたゲーム Tsukihime を開発しており、これは商業的に大きな成功を収めました。
しかし、国際的には、4,000 以上のゲームの制作を可能にした Ren'Pyが競合相手です。
参照
- ビジュアルノベル
- サウンドノベル
- ビジュアルノベルエンジンの一覧
- ゲームエンジン
- アマチュアビデオゲーム
参考文献
引用
- ^ 「高橋直樹のホームページ」. 1999年10月11日のオリジナルからアーカイブ。
- ^ 高橋直樹. 「nscripter.com」 . 2018年12月14日閲覧。
- ^ 「Ponscripter - 概要」。ミオンとロトの開発コーナー。2018年8月12日時点のオリジナルよりアーカイブ。2023年8月22日閲覧。
- ^ 「Ponscripter Release (20111009「ティラミス」)」。Uncle MionのONScripterコーナーブログアーカイブ。2017年7月31日時点のオリジナルよりアーカイブ。2023年8月22日閲覧。
外部リンク
- NScripterの公式サイト
- chaoskaiser72 の ONScripter コーナー
