このブログで度々取り上げているノベルゲーム開発エンジン、Naninovel。
特徴としては
かなり重宝できるエンジンなので、日本でもっと普及して欲しいと思いながら記事を書いています。
このエンジン、アップデートが早く進化が激しいです。それが長所でもあるのですが、そのせいで仕様に混乱しがちなので現在の状況をまとめます。
今年からサポート対応がサブスク式に変更になっているので、それにも触れています。
Naninovelはバージョンごとに機能や使い方が大きく変わります。
2025年5月時点では
のステータスになっています。
Previewステータスのバージョンは、現在進行形で改良中で、今後仕様が大きく変わる可能性があります。
Stableステータスは、開発が完了しており、バグ修正のみ行われています。大きく仕様が変わる可能性がないので、安心して使えます。迷ったら取り敢えずStableバージョンを使いましょう。
それ以前のバージョンはサポートが終了しています。
バージョンごとのRelease Notesを熟読し、手順に従ってください。
例えば1.20のRelease Notesはこちら。
1.19から1.20のアップデートで特に影響の大きい変更は
他にも多々。見落とすとゲームが動かなくなるので注意。
以前のバージョンでは、スクリプトのテキストを変更すると、変更した行のローカライズドキュメントとボイスマッピングの情報が失われ、再割り当てする必要がありました。
Text Identificationの機能をONにすると、スクリプトの行ごとに固有のIDが付き、ローカライズドキュメントとボイスマップにも共有されます。再割り当ての必要がなくなりました。
そのためオリジナルのテキストを変更しても、他のドキュメントとの紐付けが崩れることなく反映されます。
ただしIDが付いていると編集するときに面倒なので、なるべく開発の後半かつローカライズ・ボイスマッピング作業の直前でONにするのがオススメ。
ゲーム内で使用する文字だけを抽出してくれる機能。そのままTMProのフォントアセットとして設定できます。
日本語フォントのサイズデカすぎ問題を解消できます。
スクリプト単位でリソースをロード・アンロードできるようになりました。プレイ中、メモリーを食いすぎてゲームがクラッシュするリスクが減ります。
1.20以降だと更に柔軟にリソースのロードの仕方を指定できるので、更に便利です。
これは1.19の仕様がBADで、1.20でまともになったという話なのですが、
1.19ではテキストに変数が含まれていると、ローカライズ用ドキュメントでは変数を境に行が分割される仕様でした。1.20では変数を境に分割されることはなくなりました。
Naninovelを初めて使う方、久しぶりに使う方、詳しくはこのドキュメントを読んでください。(記事では1.20バージョンという前提で書いています。インストール時は、インストールしたいバージョンのドキュメントを参照してください)
今年からサポート対応がサブスク制に変わりました。詳細
サブスク制と言っても、Asset StoreからNaninovelを購入すると自動的に一年間のサポート対応が受けられます。割引で購入した場合は、割引率に応じた期間のサポートになります。
サポート期間が切れたら、新たにAsset Storeでライセンスを購入し、ライセンス登録を行えば再びサポートを受けることができます。
サポートプランでできることは
サポートプランに入らなくても、現行のバージョンだけを使う分には問題なさそうです。
の3パターンの方法がありますが、最新バージョンをインストールできるGithubが推奨だそうです。
ただしGithubからのインストールは、前述のサポートプランに入っている必要があります。
一番簡単なのはUPMですね。
詳しいインストール方法はこちら。
Naninovelはインストール方法からして複雑なので、決して初心者向けではないですが、それでも公式ドキュメントに必要な情報が全てまとまっていたり、開発チームが活発だったり、安心して使えるところが良いですね。
ここに書いてある内容は遅かれ早かれLegacyになっていくと思うので、その場合は公式の最新情報を参照してください。