土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

テキストレイヤUI考察(3)「風来のシレン」

 第3回は「風来のシレン(SFC)」です。これまでのゲームと違ってトルネコ系は自分は遊んでないので、シリーズによって挙動が違うのかもしれませんが、テキストがスクロールするタイプのテキストレイヤUIとして紹介。

【SFC】風来のシレン フェイの最終問題を普通に攻略 part9/9
https://www.youtube.com/watch?v=20q_3lyLtPs

(大画面の方が分かりやすいかも)

 1行ずつウェイト無しで表示し、バトル中はテンポを崩さない為にスクロール無しでテキストを表示、攻撃の主体が切り替わる所でレイヤがフラッシュ(文字を消してリセットすること)させています。1攻撃でのテキスト表示は2行までと決めているのかな?

 バトル後は一回キー入力待ち(ウィンドウ下部の▼)を入れた後、経験値の取得などのリザルト結果をスクロールして表示しています。他の動画を見ると、リザルト結果が3行以上またぐ時も、特にストップはせずにずらずら並べている模様(コンフィグで変えられるのかな?)。

 全部テキストが出終えたら、数秒待ってウィンドウを消しているようですね。ダンジョン探索に集中させる為に、「ウィンドウを消す」という操作を省略しているのでしょうが、変わったUIです。改めて確認すると、テキストレイヤ内をスクロールさせるだけでも大変なのに、なんとも複雑な挙動をしています。

 ちなみに、学生時代に見た目がシレンにているRPGを作っていたことがあるのですが(残念ながら完成はしませんでした)。この「スクロールするテキストウィンドウ」をどうしても実現したくて、「1行分のテキストレイヤを3本(4本だったかも)用意して、それをグルグル回す」という実装をしていました。リングにする事で無限スクロールさせるのは、良くあるパターンです。

 「スクロールするテキストレイヤ」ってADVでは使い所が無い印象がありますが、実はバックログがこのタイプなんですね。単に実装が面倒だからこれまで使われていなかっただけで、使い道は他にもありそうな気はしています。

 DXRubyの予告実装(?)に描画オフセット指定がありまして、これを使うとこういうテキストレイヤの表示が楽になるんじゃないかなと予想していたり。それとも、前の実装のように複数テキストレイヤをぐるぐる回す方が効率的かな。いずれにせよ、今作っているテキストレイヤはスクロールに対応していません。これどうしたもんかな……。