ゲームを知る

デモ 028起承転結の面構成

デモを読み込んでいます
同じ 4 つの部屋を段ごとに違う順に並べ、同じ規則で動くプレイヤーのモデル(とげのタイミングを知らないうちは、引っ込んでいれば渡り、当たると覚える)に進ませています。× は当たって穴に落ちた所、○ は当たったが押し戻されただけの所です。下のボタンで自分でも遊べます。ステージをクリックすると、キーボード(← → で移動、スペースか ↑ でジャンプ)でも操作できます。上の段でゴールすると、下の段に移ります。

第四章 レベルデザインNo.028

起承転結の面構成

Kishotenketsu Level Design別名 起承転結

概要

一つの仕掛けを使う面を起、承、転、結の四つの段に分けて組み立てる作り方。起で仕掛けだけを失敗しても損のない場所で見せ、承で少し危険を足して使わせる。転で意外な使い方や別の要素との組み合わせを見せ、結でそれまでを組み合わせて腕前を試す。新しい仕掛けや新しい使い方に初めて出会う場所が失敗の痛くない所になるので、いきなりやられることが減る。

使われる場面

新しい仕掛けが出る面
面の中の部屋を起、承、転、結の順に並べる。最初の部屋で仕掛けの動きを見せ、最後の部屋で覚えたことを組み合わせて試す。
ゲーム全体での仕掛けの出し方
一つの仕掛けをいくつかの面にまたがって育てる。ある面で起と承を見せ、次の面で転を見せ、区切りの最後の面で結として組み合わせる。
パズルの問題の並び
新しい規則を答えがすぐわかる問題で見せ、次に少し考える問題で使わせる。規則の意外な使い方を求める問題を挟んでから、規則を組み合わせる問題で締める。
新しい敵の出し方
新しい敵を、最初は広い平らな場所に一体だけ出して動きを見せる。次に足場の悪い所に出し、別の敵と組み合わせてから、最後にそれまでの組み合わせをまとめて出す。

判断基準

こういうときこうする
新しい仕掛けでいきなりやられた、という感想が出る仕掛けが初めて出る場所を、失敗しても損のない所(足元に穴がなく、敵もいない所)に移す。穴の上や敵のそばに置くのはその次の部屋からにする。
転の部屋でなぜやられたのかわからない、という感想が出る仕掛けの動きそのものは変えずに、乗り方や組み合わせだけを変える。新しい使い方に初めて出会う場所も、失敗しても損のない所にする。
同じ越え方の部屋が続いて、途中で飽きる転の部屋を入れる。同じ仕掛けの別の使い方か、別の要素との組み合わせを一つだけ足す。
結の部屋が簡単で、腕前を試されている感じがしない承と転で覚えた越え方を結で続けて使わせ、失敗すると穴に落ちる場所に置く。
結にそれまでに見せていない仕掛けや使い方が出てくるその仕掛けや使い方を結より前の部屋で、失敗しても損のない場所に一度出す。
一つの面に新しい仕掛けがいくつも出てきて、覚えきれない一つの面で新しく教える仕掛けは一つにする。次の仕掛けは次の面の起で出す。
結でやられると、部屋の初めからのやり直しが長い結の中の越え方が切り替わる区切りごとに「チェックポイント」を置く。

遊んでこう感じたら

指示の例

  • 最初のとげの床が穴を跳んだすぐ先にあって、動きを見る前に落ちてやられた。起承転結の面構成にして、最初の部屋は穴のない平らな床にとげの床を一つだけ置き、穴のそばのとげは 2 部屋目からにして

  • 最後の部屋で穴を跳んでとげの床に着地する場面が初めて出てきて、何度もやられた。起承転結の転として 3 部屋目に浅い溝を跳んでとげの床に着地する場面を入れ、最後の部屋ではそれを穴の上で使わせて

  • どの部屋もとげの床を歩いて渡るだけで、後半は同じことの繰り返しで飽きる。起承転結の転を入れて、3 部屋目は跳んでとげの床に着地する使い方に変え、最後の部屋で歩いて渡るのと組み合わせて

  • 1 面目で新しい仕掛けが三つも出てきて覚えきれない。起承転結の面構成で、1 面で教える仕掛けは一つにして、残りの二つは 2 面目と 3 面目の最初の部屋で一つずつ出して

詳細

新しい仕掛けに初めて出会う場所

一定の間隔で床から突き出るとげを初めて面に出すとする。プレイヤーはとげがいつ出るかをまだ知らないので、知らないまま渡ろうとして当たることがある。当たったときに失うものはそのとげを置いた場所で決まる。平らな床の上なら、押し戻されるだけで済む。穴を跳んだすぐ先なら、押し戻された先の穴に落ちてやられ、部屋の入り口からやり直すことになる。

そこで、一つの仕掛けを使う面を四つの段に分ける。仕掛けを初めて見せる場所は、失敗しても損のない所にする。この組み立て方を起承転結の面構成と呼ぶ1。段ごとの役目は次のとおり。

  • 起:仕掛けだけを、失敗しても損のない場所で見せる。足元に穴がなく、敵もいない所に置く。
  • 承:同じ仕掛けに少しだけ危険を足して使わせる。起で覚えた越え方のままで越えられるようにする。
  • 転:仕掛けの意外な使い方か、別の要素との組み合わせを見せる。それまでの越え方が通じない場面で驚かせる。
  • 結:それまでの越え方を組み合わせ、失敗が痛い場所で腕前を試す。

デモの 4 つの部屋

デモの部屋はどれも一定の間隔で床から突き出るとげを使う。とげは部屋に入ってから決まった時間の後に初めて出て、それからは 0.7 秒出て 0.8 秒引っ込むことを繰り返す。とげに当たると押し戻され、後ろに穴があれば落ちてやられて、その部屋の入り口からやり直す。

  • 起の部屋では平らな床の上にとげの床が一つある。
  • 承の部屋では穴を跳んだすぐ先にとげの床がある。当たると押し戻されて後ろの穴に落ちる。
  • 転の部屋では溝を跳んでとげの床に着地する。溝は浅く、落ちても跳んで戻れる。
  • 結の部屋では承の部屋と同じ並びの後に、深い穴を跳んでとげの床に着地する場面が続く。

下の段はこの 4 つを起、承、転、結の順に並べている。上の段は同じ 4 つを逆の順に並べ、とげに初めて出会うのが失敗の痛い結の部屋になるようにしている。

デモのプレイヤーのモデル

部屋の並びが違うので、同じ入力を 2 つの段に流しても比べられない。そこで、デモの自動再生ではプレイヤーのふるまいのモデルに段ごとに進ませている。規則はどちらの段も同じで、違うのは部屋の並びだけである。

  • タイミングを知らないうち:とげが引っ込んでいれば、普通の床だと思ってそのまま渡る。
  • タイミングを知っていれば:とげの床の手前で止まり、渡りきれるだけ引っ込んでいる時間が残っているときに渡る。歩いて渡りきるには約 0.6 秒かかる。
  • 覚え方:とげに当たると、そのとげのタイミングを覚える。跳んで乗るとげの床で当たると、跳んでいる時間の分だけ早く跳ぶことも覚える。

歩いて渡るとげの床は、タイミングを知らずに部屋の入り口から歩いてくると、乗った直後にとげが出るように置いてある。跳んで乗るとげの床では、歩いて渡るときと同じ考え方で跳ぶと、渡っている途中で次のとげが出る(理由は「転で驚かせるときに守ること」で述べる)。そのため、このモデルは新しい仕掛けにも新しい使い方にも初めは一度当たる。実際のプレイヤーは初めてでも運よく渡れることや、見ただけでタイミングに気づくことがある。このモデルは初めての失敗がどこで起きるかによって失うものがどう変わるかを比べるためのもので、実際のプレイヤーの失敗の数を測ったものではない。

二つの段の失敗

上の段は最初の結の部屋で歩いて渡るとげの床に当たり、後ろの穴に落ちてやられる。入り口からやり直すと今度はタイミングを知っているので歩いて渡れるが、次の跳んで乗るとげの床で当たり、また穴に落ちる。結の部屋を抜けるまでに 2 回やられて 10.7 秒かかる。その後の転、承、起の部屋は覚えたとおりに一度で越える。

下の段もとげに当たる回数は同じ 2 回である。1 回目は起の部屋で、足元に穴がないので押し戻されるだけで済む。2 回目は転の部屋で、浅い溝に落ちるが跳んで戻れる。結の部屋に着いたときには両方の越え方を覚えているので、一度も当たらずに 4.3 秒で抜ける。

ゴールまでにやられた回数は上の段が 2 回、下の段が 0 回である。かかった時間は 21.3 秒と 18.0 秒である。下の段も押し戻されたり溝から戻ったりするのに時間を使うので、時間の差は 3.3 秒にとどまる。並べ方で変わったのはとげに当たる回数ではなく、当たったときにやられるかどうかである。

操作パネルで下の段の並びを変えると、起や転を後ろにずらしたときに何が起きるかを確かめられる。「承起転結」では、とげに初めて出会うのが承の部屋の穴のそばになり、1 回やられる。「起承結転」では、跳んでとげの床に乗る場面に初めて出会うのが結の部屋の深い穴の上になり、1 回やられる。どちらもとげに当たる回数は 2 回のままである。「結転承起」にすると、下の段は上の段と同じ並びになる。

一度に教えるものの数

起で見せるものは一つの仕掛けだけにする。新しいものが一つの部屋にいくつもあると、覚えるための失敗がその数だけ同じ部屋に重なる。上の段の結の部屋には、歩いて渡るとげの床と跳んで乗るとげの床の二つの新しいものが続いている。モデルは一つ目で当たって覚えた後、二つ目でもう一度当たり、2 回とも部屋の入り口からやり直している。

転で足すものも一つにし、それまでに覚えたことに新しいことを一つだけ重ねる。デモの転で新しいのは跳んでとげの床に乗ることだけで、とげの動きは起と承で覚えたものと同じである。一つの面で新しく教える仕掛けも一つにし、次の仕掛けは次の面の起で出す。

転で驚かせるときに守ること

デモの転の部屋では溝を跳んでとげの床に着地する。跳んでから足がとげの先の高さまで下りるのに 0.55 秒(33 フレーム)かかる。そこからとげの床を出るまでに、さらに 0.53 秒(32 フレーム)かかる。合わせると、とげが引っ込んでいる 0.8 秒(48 フレーム)より長い。そのため、歩いて渡るときと同じようにとげが引っ込んでから跳ぶと、渡っている途中で次のとげが出る。越えるには、とげが出ているうち(引っ込む約 0.5 秒前)に跳び、引っ込んだ直後に着地する。起と承で覚えた「引っ込んだら渡る」が通じないことが、この部屋の驚きになる。

転を理不尽にしないために、二つのことを守る。一つは、仕掛けの動きそのものは変えないことである。デモの転のとげは出ている長さも引っ込んでいる長さも起と同じで、変わったのはプレイヤーがとげの床に乗る方法だけである。動きまで変えると、覚えたタイミングのとおりに動いても当たるので、プレイヤーには当たった理由が見えにくい。もう一つは、新しい使い方に初めて出会う場所も失敗しても損のない所にすることである。デモの転の溝は浅く、落ちても跳んで戻れる。操作パネルで「起承結転」にすると、跳んで乗る場面に初めて出会うのが結の深い穴の上になり、下の段もやられる。とげが出る直前に床を震わせるなどの「予備動作」を付けると、跳ぶ前にタイミングを読む手がかりが増える。

転には繰り返しを断つ役目もある。承の後に同じ越え方の部屋を続けて並べると、プレイヤーは同じ操作を繰り返すことになる。転で越え方を一つ変えると、覚えたことを使いながら新しいことを考える場面が入る。

結で試すもの

デモの結の部屋は承と転で覚えた二つの越え方を、どちらも穴の上で続けて使わせる。下の段のモデルは両方を覚えてから結に着くので、一度も当たらずに抜ける。結には新しいものを置かず、覚えたことを正確に使えるかを試す場所にする。上の段の結の部屋のように新しいものを結に置くと、覚えるための失敗が失敗の痛い場所で起きる。

結でやられると、その部屋の入り口からやり直す。結の奥でやられるほど、やり直す部分は長くなる。デモの「起承結転」では、跳んで乗る場面でやられると、手前の歩いて渡るとげの床から越え直すことになる。やられた回数は同じ 1 回でも、ゴールまでの時間は、承の部屋の最初のとげでやられる「承起転結」の 19.1 秒に対して 20.7 秒かかる。結が長いときは、越え方が切り替わる区切りごとに「チェックポイント」を置く。

面の中の並びとゲーム全体での出し方

起承転結は一つの面の中の部屋の並びにも、ゲーム全体での仕掛けの出し方にも使う。デモは一つの面の中の 4 つの部屋を並べたものである。ゲーム全体では、一つの仕掛けをいくつかの面にまたがって育てる。たとえば、ある面で起と承を見せ、次の面で転を見せる。区切りの最後の面の結で、それまでに出した仕掛けを組み合わせる。

どちらの大きさで使うときも、結で腕前を試した後には緊張をゆるめる場所を置く(「ペース配分」)。次の仕掛けを見せる起は、失敗しても損のない場所なので、休む場所を兼ねられる。

チュートリアルとの関係

操作や仕掛けを教える場面を「チュートリアル」と呼ぶ。起の部屋は仕掛けの動きを文章ではなく、失敗しても損のない場所で試させて教えるので、面の中でチュートリアルの役目を果たす。起承転結の面構成はその先の承、転、結まで含めて、覚えたことを使わせ、越え方を広げ、腕前を試すまでの並びを決める。

「段階的な開示」は機能やメニューをいつ見せるかを決める。起承転結の面構成は、見せた仕掛けをどの順に難しくしていくかを決める。新しい機能を出す時点を段階的な開示で決め、出した機能を使う場面の並びを起承転結で組む、という使い分けになる。

作り方

部屋ごとに使う仕掛けや越え方と、失敗したときにやられるかどうかを書いておくと、並びを確かめられる。仕掛けや越え方が初めて出る部屋で、失敗するとやられるなら、並びを直す。

// 部屋ごとに、使う越え方と、失敗したときにやられるか(穴の上や敵のそばか)を書く
const rooms = [
  { role: '起', uses: ['歩いて渡る'], deadly: false },
  { role: '承', uses: ['歩いて渡る'], deadly: true },
  { role: '転', uses: ['跳んで乗る'], deadly: false },
  { role: '結', uses: ['歩いて渡る', '跳んで乗る'], deadly: true },
];

// 越え方が初めて出る部屋で、失敗するとやられるなら知らせる
const seen = new Set<string>();
for (const room of rooms) {
  for (const use of room.uses) {
    if (!seen.has(use) && room.deadly) console.warn(`「${use}」に初めて出会う${room.role}の部屋で、失敗するとやられる`);
    seen.add(use);
  }
}

脚注

  1. 起承転結はもとは漢詩の絶句の組み立て方(起句、承句、転句、結句)を表す言葉で、文章や物語の組み立て方としても使われる。 ↩

関連項目