Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 2 KB

README.md

File metadata and controls

32 lines (27 loc) · 2 KB

ChotNovel

Simple novel engine for Unity.

Unity向けのシンプルなノベルゲームシステムです。

Feature

  • The script structure is based on KAG (KiriKiri) and Naninovel.
  • The script is designed so that the commands and parameters written by the script creator are kept to a minimum.
  • The script will be in txt format and stored in streamingAssets.
  • Since the script stored in persistentDataPath is prioritized, the script writer can verify playback using only the executable file without Unity Editor.
  • Commands for messages, characters, backgrounds are provided by default. (Unimplemented) Music, Sound
  • You can save and load anywhere. There is no need to write labels or any kind of markers for saving.
  • Game developers can extend commands by creating components.
  • (Unimplemented) Supports Unity.Localization.

特徴

  • スクリプトの構造はKAG(吉里吉里)やNaninovelを参考にしています。
  • スクリプト作成者がスクリプトに記述するコマンドやパラメータはできるだけ少なくなるように設計されています。
  • スクリプトはtxt形式で、streamingAssetsに格納します。
  • persistentDataPathに格納されたスクリプトが優先されるので、スクリプト作成者はUnityエディタを開かずに実行ファイルだけで再生確認ができます。
  • メッセージ・キャラ・背景のコマンドはデフォルトで用意されています。(未実装)BGM・SE
  • どこでもセーブ&ロードができます。セーブのためにラベルや何らかの目印を書く必要はありません。
  • ゲーム開発者は、コンポーネントを作成することでコマンドを拡張できます。
  • (未実装)Unity.Localizationに対応しています。

Install with UPM

https://github.com/eviltwo/ChotNovel.git?path=ChotNovel/Assets/ChotNovel

Example

*Start
[clear]
[background texture=bg_forest]
[actor name=Robo texture=robo layout=center]
[talker name=Robo]
Hello,[r]World![p]
[actor name=Robo texture=robo_happy]
This is test message.[p]
very long message. very very long. very very very very long.
very very very very very very very very very very very long.
very very very very very very very very very very very long.[p]
[actor name=Robo layout=right]
[actor name=John texture=john layout=left]
[talker name=John]
Let's go![p]
[background texture=bg_beach]
[talker clear]
A or B
[choice text="Choose A" label=RouteA]
[choice text="Choose B" label=RouteB]
*RouteA
[talker name=Robo]
You choose A.[p]
[jump label=Ending]
*RouteB
[talker name=John]
You choose B.[p]
[jump label=Ending]
*Ending
[talker clear]
End test[p]
[jump file=test2 label=Start]