コメント

このコメントは、【トピック】ノベルゲームの「チャプター」についてへのコメントです。

コメントの内容

            mini mosmoss(投稿日:2016/06/24 23:06/24/16)
このaoihikawaさんのブログ講座のまんなかくらいにチャプターについての説明と注意がありました。
ikosamiさんのブログ講座でもチャプターについて書かれてますね。

ノベルゲームのチャプターはRPGエディタでいうところの
イベント一個一個みたいなものです。

ただ、RPGエディタのイベントとちがって、
一枚で100万文字?くらいまで書けます。
なので、これ一枚で足りるくらいのゲームなら
チャプターを何枚も使う必要はないです。

あとはセーブをしてロードした場合、
開始スクリプト→セーブをしたチャプターの一番上からの順に
スクリプトが実行されるので、
そこに気をつけて作れば大丈夫だと思います。


以下は少しずれた回答かもしれませんが、
この質問を検索する人の疑問を想定して書きます。

Q. チャプターをわける意味は?
一枚に100万文字以上書けないから、
100万文字の半分くらいからエディタが重くなるから、
などもありますが一番大きいのは
作る人が編集・管理しやすい、読みやすい
ということだとおもいます。

Q.チャプターの分け方は?
ゲームの種類によって異なると思いますが
シューティング、アクションなど
ユーザー定義関数や通常変数をたくさん使うゲームの場合は
それらをまとめてメイン処理の部分より前のチャプターを
関数ページとしてそこに書きます。

Q.なぜ「通常変数や関数」「前のチャプター」なのか
RPGエディタのイベント同士と同じように
ノベルのチャプター同士をローカル変数はまたげないので、
動かすスクリプトは越境ができる通常変数や関数がいいのです。
また、チャプターは特別に指定しない場合
前から順番に実行されるのでメイン処理より前のチャプターに書くのです。
(左に表示されているチャプターの目次の
一番上が一番前ということになります
開始スクリプトはこれより前です)

Q.関数とメイン処理のチャプターをわけた場合のセーブは?
例えば一枚目に関数を書き、二枚目で絵を動かしたりするメイン処理を書く場合
セーブをするしないの選択は二枚目のメイン処理の中でさせると思いますが
いざセーブさせるときは一度チャプターを一枚目に飛ばしてセーブさせます。
そうしないと、次にロードした時に、
一枚目に書いてある関数が全く動かなくなってしまうからです。

こんなかんじでチャプターを使っていると思います。

コメントの内容(一番最初の投稿)

            mini mosmoss(投稿日:2016/06/24 23:06/24/16)
ノベルゲームのチャプターはRPGエディタでいうところの
イベント一個一個みたいなものです。

ただ、RPGエディタのイベントとちがって、
一枚で100万文字?くらいまで書けます。
なので、これ一枚で足りるくらいのゲームなら
チャプターを何枚も使う必要はないです。

あとはセーブをしてロードした場合、
開始スクリプト→セーブをしたチャプターの一番上からの順に
スクリプトが実行されるので、
そこに気をつけて作れば大丈夫だと思います。

以下は少しずれた回答かもしれませんが、
この質問を検索する人の疑問を想定して答えます。

仮に100万文字より多く文字を書く場合には、
チャプターを分けなくてはいけないし、
RPGエディタのイベント同士と同じように
チャプター同士をローカル変数はまたげないので、
通常変数や関数を使わないといけません。

(実際には100万文字ギリギリまで書くと重くなるし
エラーなどを見つけにくくなるので、なるべく
メイン処理が少ない文字で作れるように
処理をどんどん関数化して関数ページに移動させます)

100万文字以上で作られるゲームはたいてい
ユーザー定義関数や通常変数をたくさん使うので
それらをまとめてメイン処理の部分より前のチャプターを
関数ページとしてそこに書きます。
チャプターは前から順番に実行されるからです。
(左に表示されているチャプターの目次の
一番上が一番前ということになります
開始スクリプトはこれより前です)

このように一枚目に関数を書き、二枚目で絵を動かしたりするメイン処理を書く場合
セーブをさせるときは一度チャプターを一枚目に飛ばしてセーブさせます。
そうじゃないと、次にロードした時に、
一枚目に書いてある関数が全く動かなくなってしまうからです。

こんなかんじでチャプターを使っていると思います。