第五章 システムとバランスNo.033
コアループ
Core Loop別名 ゲームサイクル、ゲームループ
概要
ゲームの中心で短い間隔で繰り返す、行動と報酬のつながり。戦って素材を得て装備を強くし、強い敵に挑む輪がその例である。得た報酬が次の行動を変え、その行動の結果が次の報酬を変えるとき、輪を回すたびにできることが増える。どこかでつながりが切れていると、同じ行動を繰り返しても何も変わらないか、変わるまでの間隔が延びていく。どちらの場合も同じことの繰り返しになる。
使われる場面
- 狩りをして素材を集め、装備を作るゲーム
- 戦う、素材を得る、装備を強くする、強い敵に挑むの順に輪にする。強い敵ほど多くの素材や、その敵からしか得られない素材を出す。それで作った装備で次の敵に挑めるようにする。
- 作物を育てて売るゲーム
- 種をまく、育てて取り入れる、売る、得たお金で畑を広げるか良い種を買うの順に輪にする。広げた畑や良い種が次の取り入れの量を変えるようにする。
- 1 回ごとに最初からやり直すゲーム
- 1 回の挑戦の中の輪(戦って強くなり、奥へ進む)と、挑戦をまたぐ輪(持ち帰った物で次の挑戦の始めを強くする)を重ねる。次の挑戦で進める所が、持ち帰った物で変わるようにする。
- 企画の最初と要素を足すとき
- ゲームの中心で何を繰り返すかを行動の輪にして書き出す。新しい要素を足すときは、その要素で得る物が輪のどの行動につながるかを先に決める。
判断基準
| こういうとき | こうする |
|---|---|
| 集めた素材やお金が貯まる一方で、使い道がない | 報酬から次の行動へのつながりが切れている。報酬を使う先(強化、買い物、新しい場所の解放)を輪の中に作り、使うと次の行動が変わるようにする。使う先を作れない報酬は出すのをやめる。 |
| 装備を強くしても戦う相手や行ける場所が変わらない | 強化から次の挑戦へのつながりが切れている。強くなったら挑める新しい敵や場所を用意する。敵が装備に合わせて強くなる作りなら、強くなった分だけ得る物や倒し方が変わるようにする。 |
| 強い敵を倒しても弱い敵と同じ物しか得られない | 挑戦から次の報酬へのつながりが切れている。強い敵ほど多い報酬か、強い敵からしか得られない報酬を出す。 |
| 同じことの繰り返しで飽きる | 輪を 1 周回すと何が変わるかを書き出す。何も変わらないなら、切れている所をつなぐ。変わるまでの周回の数が多すぎるなら、強化の値段を下げるか、1 周で得る報酬を増やす。 |
| 強くなるほど次に強くなるまでの周回の数が増えていく | 強化の値段の上がり方が報酬の増え方より速い。値段の上がり方と、強い敵から得る報酬の増え方をそろえる。 |
| 何のために戦っているのかわからない | 輪の次の行動を戦う前から見えるようにする。次の強化に要る素材と今持っている量を並べて出し、強くしたら挑める敵や場所を先に見せる。 |
遊んでこう感じたら
指示の例
集めた素材が貯まる一方で使い道がなく、何のために戦っているのかわからない。コアループの素材から強化へのつながりが切れているので、素材で装備を強くできるようにして、2〜3 回戦えば 1 回強くできる値段にして
装備を強くしても同じ敵としか戦えず、同じことの繰り返しで飽きる。コアループの強化から挑戦へのつながりを作りたいので、装備が 1 段強くなるごとに 1 段強い敵が出る場所を 1 つ開けて
強い敵を倒しても素材が弱い敵と同じで、強くなるたびに次の強化が遠くなる。コアループの挑戦から報酬へのつながりを直して、敵の強さに比例して素材を増やし、次の強化までの戦いの回数が 2〜3 回のまま変わらないようにして
このゲームで何を繰り返すのかがつかめない。コアループを行動の輪(戦う、素材を得る、強くする、挑む、など)にして書き出し、矢印ごとに前の行動の結果が次の行動の何を変えるかを添えて
詳細
繰り返す行動の輪
ゲームを遊んでいるあいだ、プレイヤーは同じ行動を何度も繰り返す。狩りをして装備を作るゲームなら、敵と戦って素材を得て、その素材で装備を強くする。強くなったら、より強い敵に挑む。挑んだ先でまた戦うので、行動は輪になる。このようにゲームの中心で短い間隔で繰り返す、行動と報酬のつながりをコアループと呼ぶ。
コアループはゲームサイクルやゲームループとも呼ぶ。ただし、プログラムでは毎フレーム入力を読んで状態を進め、画面を描く処理もゲームループと呼ぶ。AI に頼むときは、取り違えないようコアループと言う。
輪がつながっている条件
輪の矢印は前の行動の結果が次の行動を変えることを表す。戦って得た素材で装備を強くでき、強くした装備で前は勝てなかった敵に挑め、強い敵からはより多くの素材を得る。報酬が次の行動を変え、行動の結果が次の報酬を変えている。すべての矢印でこのように変わるとき、輪がつながっていると言う。つながった輪では、1 周回すたびに次の周でできることが増える。
前の結果が次を変えない矢印がどこかにあると、変化はそこで止まり先へ伝わらない。プレイヤーは同じ行動を繰り返しているのに、周を重ねてもできることが増えないか、増え方が鈍っていく。どの矢印が切れているかで起きることが違う。
デモのモデル
デモの 2 つの段では、同じ規則で動くプレイヤーのモデルが同じ輪を回している。モデルは毎周、戦う、強くする、挑むの順にボタンを押す。できないときは押しても何も起きない。
- 戦う:いま挑める中でいちばん強い敵と戦い、戦い終えると素材を得る。つながった輪では n 種類目の敵から 10n の素材を得る。
- 強くする:持っている素材が値段に届いていれば、素材を払って装備を 1 段強くする。装備を Lv L から強くする値段は 10kL で、L 種類目の敵から 1 周で得る素材(10L)の k 周分である。k は操作パネルの「強化の値段」で、既定は 2 周分である。
- 挑む:装備の Lv が挑める敵の種類より大きければ、1 段強い敵に挑めるようになる。
行動にかかる時間は段の設定によらず同じなので、2 つの段の印はいつも輪の同じ所にいる。乱数は使っていない。2 つの段の差は、どこのつながりが切れているかだけから生まれる。挑める敵の数はこのモデルで数えた値であり、実際のプレイヤーの遊び方を測ったものではない。
下の段は報酬が次の行動につながる輪である。強化の値段が 2 周分のとき、2 周ごとに装備が 1 段強くなり、挑める敵が 1 種類増える。16 周回すと、挑める敵は 9 種類になる。
どこが切れているかを見つける
上の段は操作パネルで選んだ 1 か所でつながりが切れている。以下は、強化の値段が 2 周分のときに 16 周回した結果である。
- 素材→強化:素材を使う先がない。強くするを押しても何も起きず、挑める敵は 1 種類のままである。使い道のない素材が 160 貯まる。報酬が次の行動を変えていない。
- 強化→挑む:装備は強くなるが、挑める新しい敵がいない。装備は Lv 4 まで上がるものの、挑める敵は 1 種類のままで、1 周で得る素材も 10 から増えない。強くした結果が次の挑戦を変えていない。
- 戦う→素材:強い敵に挑めるが、どの敵を倒しても得る素材は 10 で変わらない。強化の値段は装備が強くなるほど上がるので、挑める敵が増える間隔は 2 周、4 周、6 周と延びる。挑める敵は 4 種類にとどまる。挑んだ結果が次の報酬を変えていない。
どの場合も、モデルは下の段と同じ行動を同じ回数だけ繰り返している。違うのは、繰り返した結果が次の周の何かを変えるかどうかである。「飽きる」と伝えるだけでは、どこを直すかが決まらない。どの矢印が切れているかを言えば、直す所が決まる。「素材から強化へのつながりが切れている」なら、素材の使い道を作る。「強化から挑戦へのつながりが切れている」なら、強くなったら挑める敵や場所を作る。
同じことの繰り返しで飽きるとき
「同じことの繰り返しで飽きる」という感想が出たら、輪を回して何が変わっているかを見る。輪の上で見る所は 2 つある。
一つは輪を回しても何も変わらない場合で、どこかのつながりが切れている。前の節の「素材→強化」と「強化→挑む」がこれにあたる。この場合は切れている所をつなぐ。
もう一つは、輪はつながっているが変わるまでの間隔が長すぎる場合である。デモの「強化の値段」を 6 周分にすると、下の段でも挑める敵が増えるのは 6 周に 1 回になる。16 周回しても 3 種類にとどまる。変わるまでの時間は、1 周にかかる時間に変わるまでの周回の数を掛けた長さになる。1 周に 1 分かかる輪で 6 周に 1 回しか変わらなければ、6 分に 1 回である。何周に 1 回変われば足りるかは 1 周の長さで変わるので、一つの値には決まらない。周回の数ではなく変わるまでの時間で考え、遊んで確かめる。長すぎるときは、強化の値段を下げるか 1 周で得る報酬を増やして、変わるまでの周回の数を減らす。1 周を短くしても変わるまでの時間は縮む。周回の数を変えられないときは、そのあいだに小さな変化(新しい技を覚える、見た目の違う装備を作れる、など)を挟む。
「戦う→素材」は、初めは変化がある。強くなるたびに変わるまでの間隔が延びて、間隔が長すぎる場合に近づいていく。デモでも 7 周目までは上の段と下の段の差が挑める敵 1 種類分以下で、16 周目には 5 種類分に開く。そのため、輪を確かめるときは始めの数周だけでなく後の周まで回して、間隔が延びていないかを見る。
変わるまでの周回の数の数え方
変わるまでの周回の数は、報酬と値段の表があれば周回を進めて数えられる。デモのモデルは 1 周ごとに次のように進めている。
// 1 周分。reward(tier) は tier 種類目の敵から得る素材、price(level) は装備を Lv level から強くする値段
materials += reward(tier); // 戦って素材を得る
if (materials >= price(level)) {
// 素材を払って、装備を強くする
materials -= price(level);
level += 1;
}
if (level > tier) tier += 1; // 強くなったら、1 段強い敵に挑む
つながった輪では強くしたらすぐに挑むので、挑める敵の種類と装備の Lv がいつもそろっている。reward(n) = 10n、price(L) = 10kL なので、次の値段はどの Lv でも 1 周で得る素材のちょうど k 周分になる。装備は k 周ごとに 1 段上がる。「戦う→素材」では reward(n) = 10 なので、Lv L から上がるのに kL 周かかり、強くなるほど間隔が延びる。
AI に作らせたゲームでも、敵ごとの報酬と、装備の Lv ごとの値段を表にして出させる。このように周回を進めさせれば、何周ごとに変わるかを数えられる。
長さの違う輪の入れ子
コアループの内側と外側にも長さの違う輪がある。
- 1 回の戦いの輪:敵の動きを見てよけ、攻撃する。戦いに勝つと外側の輪に素材を渡す。
- 1 回の遊びの輪:戦って素材を集め、装備を強くして強い敵に挑む。デモの輪はここにあたる。
- 何日かかけて目指す目標の輪:すべての場所を開ける、いちばん強い装備を作る、など。内側の輪を何周も回した結果で少しずつ近づく。
内側の輪の結果が外側の輪の報酬になる。1 回の戦いが面白くても、外側の輪が切れていれば、戦いに勝っても次の周は何も変わらない。反対に、外側の輪がつながっていても 1 回の戦いの輪で毎回同じ操作を繰り返すなら、変わるのは数字だけである。することは変わらない。同じことの繰り返しで飽きるときは、どの長さの輪で何が変わっていないのかを見る。
輪の書き出し方
AI にゲームを作らせたら、コアループを書き出させる。行動を輪の順に並べ、矢印ごとに前の行動の結果が次の行動の何を変えるかを書く。
戦う → 素材を得る:強い敵ほど多くの素材を得る
素材を得る → 強くする:素材を払って、装備を 1 段強くする(今の敵を 2〜3 回倒す分)
強くする → 挑む:強くなると、1 段強い敵が出る場所に入れる
挑む → 戦う:新しい敵と戦う
変わるものを書けない矢印が切れている所である。新しい要素を足すときも、その要素で得る物がどの矢印につながるかを書き足す。どの矢印にもつながらない報酬は使い道のない物として貯まっていく。
ほかの用語との関係
「報酬の間隔」は報酬をどれだけ間を空けて出すかを扱う。デモの上の段で「素材→強化」を選ぶと、素材は毎周得ているのに何も変わらない。コアループを調べるときは、報酬を得る間隔と、できることが変わる間隔を分けて数える。
「成長曲線」は、レベルごとに次のレベルに要る量をどう増やすかを扱う。値段の上がり方が報酬の増え方より速いと、つながった輪でも次の強化までの周回の数が増えていく。デモの「戦う→素材」は、報酬がまったく増えない極端な場合である。値段の上がり方と報酬の増え方をそろえると、変わるまでの周回の数が一定に保たれる。
「難易度曲線」は挑む敵の強さをどう上げていくかを扱う。装備の伸びより敵の強さの伸びが速いと、挑めるはずの敵に勝てず、強化から挑戦へのつながりが実質的に切れる。
「リスクとリターン」は輪の中の選択を扱う。勝てるかどうかわからない強い敵に挑んで多くの素材を狙うか、勝てる敵で確実に集めるかを選ばせると、同じ輪でも回し方をプレイヤーが決められる。
面の中で同じ種類の部屋が続いて飽きるときは、「ペース配分」で部屋の並びを見直す。