既読スキップが短い未読テキストでぶちぶち切れる問題


今プレイしているLOVESICK PUPPIESは、ルートが確定してからもしばらく共通ルートが続き、その共通ルートにちらほらヒロイン毎の個別エピソードが挟まっている感じです。

でもそうするとアレですよね。1周目はいいんですけど2周目以降、既読スキップで進めるときにとても微妙な気持ちになりますよね。

既読スキップ機能は既読テキストをスキップし、未読テキストに遭遇すると停止します。10年前、20年前からそういう仕様だったと思います。特に1ルートクリアした後、2周目以降で大活躍しますね。同じテキストを何度も読んでも仕方ありませんから。最近では既読テキストを自動的にスキップする機能まで普及してきました。

ところで次のテキストを見てみてください。

「ヒロインAを探して学園中を駆け回ったが見つからなかった。どこに行ったんだ
(改ページ)結局会えず終いだった」
「ヒロインBを探して学園中を駆け回ったが見つからなかった。どこに行ったんだ
(改ページ)結局会えず終いだった」

ヒロイン名の部分が違うだけで同じテキストですね。ヒロインAルートクリア後、セーブデータをロードして既読スキップを開始すると、ここで既読スキップが終了します。ヒロインBのパターンは未読ですから。そして1クリックすると再び既読テキストなので、既読スキップが可能になります。クソ面倒くさい。

ヒロインAとBのどちらを探していたかなんて、1ルートクリアしてセーブデータをロードした頃には正直どーでもよくなってますよね。大事なのはヒロインとの個別ルートであって、そこに入るまでの共通ルートは前座、何ら大きなイベントもない退屈な場面ですから。

一度既読スキップが切れてゲーム画面に意識を向けて、「あぁこれ未読か」と軽くクリックして、まだ既読スキップを開始して…というのがこの場面だけでなくあちこちで多発して、便利なはずの既読スキップ機能が何とも微妙な感じになってしまう―エロゲあるあるですね。

 

ではどうするか。まずテキストに未読/既読の他に「価値」というステータスを付ける案があります。
If(価値が低い or 既読){
スキップする
}Else{
スキップしない
}
という処理にして
「ヒロインBを探して学園中を駆け回ったが見つからなかった。どこに行ったんだ
(改ページ)結局会えず終いだった」(価値が低い,未読)
は未読でもスキップしてしまおう、という案です。

1周目では未読テキストを読み進めており、ここでスキップ機能を使おうとは思いませんから、既読スキップが効いてしまうテキストであることは実用上問題にならないはずです。また既読スキップを利用してぶっ飛ばしてしまうので、プレイヤーは未読テキストをスキップしたことにも気付かないまま気持ちよく全クリしますから、「未読テキストまでスキップしたぞふざけるな!」というクレームも多分来ません。

価値をちまちま設定しなければならないという実装上の問題がありますけど。

もう一つは
「{ヒロイン名}を探して学園中を駆け回ったが見つからなかった。~」
という{ヒロイン名}部分をルートに応じて動的に切り替える特殊なテキストにする方法です。アレです。主人公の名前をプレイヤーに決めさせるあの仕組み。多分できないことはないでしょう。主人公の名前入力で実際にやっているわけですし。これでヒロイン名が違うだけの価値の低いテキストで既読スキップが停止してしまう問題を解消できると思います。

 

多分解消自体はそれほど難しくないと思うんですけど、それでも新しめの作品でも割とぶちぶち既読スキップが切れるんですよね…。それとも実は既に解消している作品もあって、そういう作品は気持ちよくスキップできているから引っ掛かることなく全クリできて印象に残っていないだけなのかも?

あ、ちなみに根本的な解決法として、選択肢1つでルートが分岐して全然違う個別ルートになるやつがあります。既読テキストに遭遇することが全くないので既読スキップが不要になります。