洞窟に手を出さないパワーアップ
TUNLのレーザーはクリスタル、機雷、そして岩の島まるごとを焼き切ります。誰のデイリー洞窟の岩もひとつも変えずにこれを追加するには、新しいコインにするわけにはいきませんでした。古いコインに新しいラベルを貼るしかなかったのです。
レーザーができるまで、岩は撃ち落とせない唯一の障害物でした。弾丸は火花を散らして跳ね返り、壊せるのは爆弾だけ。これは意図した設計です。岩は2つの通り道が保証された岩の島で、その通り道を飛ぶことが腕前だからです。要望は、それでも岩を壊せる弾丸より強い何かでした。武器そのものは簡単な部分でした。
武器
レーザーを取ると、2秒間、機首から最初の壁までビームが伸びます。その線上のクリスタル、機雷、砲弾は一瞬で消え、弾丸で当てたときと同じポイントが入ります。岩はビームを止め、光り始め、瓦礫になって砕けます。先に紙の上で2つの別の形を試しました。貫通する弾の連射と、1発のチャージショットです。どちらもすでにある弾薬コインに似すぎていました。ビームなら、まったく別の武器だと一目でわかります。
制約: 全員にひとつの洞窟
ある日には全プレイヤーが同じ洞窟を飛びます。洞窟はどこにも保存されておらず、デイリー洞窟の記事で書いたように、日付からシード付きの乱数生成器で計算されます。オブジェクトの種類ごとにひとつのストリームです。問題は、ストリームが数列だということです。コインのスポナーが乱数をひとつ余分に引けば、その後のコインはすべて違う結果になり、アプリのバージョンが違う2人のプレイヤーが同じ日に違う2つの洞窟を飛ぶことになります。
これで素直な設計はなくなりました。コイン抽選でレーザーに独自の重みを与えると、ほかのすべてのコインの割合がずれ、第4セクター以降のすべてのコインが引き直されてしまいます。弾薬コインのアップグレード案も退けました。弾薬は2秒足らずで撃ち尽くすので見分けがつきません。格納庫での機体のアビリティ案も退けました。パワーアップが買うものになってしまうからです。
引き直しではなく、ラベルの付け替え
リリースしたのはラベルの付け替えです。ゲームはカーソル、つまり洞窟の少し先の位置を持っています。洞窟がそこを過ぎると、本来オレンジの弾薬コインとして出てくるはずだった次のコインが、代わりにレーザーとして出てきます。配置のルールがすべて判断を終えたあとでです。そのあとカーソルは約20秒分の飛行だけ先へ進みます。
その進み幅の揺らぎも乱数生成器からは来ていません。位置のハッシュから作るので、同じように再現でき、どのストリームからも何も消費しません。結果として、洞窟のジオメトリはレーザーのないビルドとまったく同じです。洞窟テストは毎日の洞窟を両方の方法でリプレイし、一部のオレンジのコインがレーザーと表示される以外は、1バイト単位で一致することを求めます。
間隔は計測すること。定数から読み取らないこと。レーザーはオレンジのコインを待つので、実際の間隔はカーソルの進み幅にその待ち時間を足したものです。進み幅が35秒のとき、20日分のリプレイではレーザーは40から95秒ごとにしか来ず、最初の1つはスコア400前後でした。20秒にすると、第4セクターでは約17秒ごと、それより深いところでは28から40秒ごと、最初の1つはスコアの中央値で約340でした。
レーザーは、壊すべき岩と一緒に第4セクターから始まります。スコア233未満のランはまったく以前のままです。代償もあります。レーザーはオレンジのコインの代わりに出るので、ランの深いところでは弾薬が少しだけ減ります。より強い武器との交換としては公平です。
「レーザーで岩が壊れない」
実際に遊んで最初に届いた報告がこれで、その通りでした。最初のバージョンでは、岩を焼き切るのにビームを約3分の1秒当て続ける必要がありました。しかしビームはまっすぐで機体の高さにあり、プレイヤーは岩に突っ込むのではなく、その通り道を飛びます。そのためビームは縁を10分の1秒から4分の1秒かすめるだけでした。レーザーをつけたまま通り過ぎた実際の岩12個のうち、壊れたのは1個でした。
修正は、最初に触れた時点で決まるようにすることです。ビームが少しでも触れた岩は発火し、一瞬光ってジュッと音を立て、それから砕けます。同じ12個のうち8個が壊れ、残りの4個は一度も触れられていませんでした。もうひとつの案は、ビームを最寄りの岩へ自動で向けることでしたが、レーザーはすでに十分強いので見送りました。私にとっての教訓は、障害物をテストするならテスト内の機体のラインではなく、プレイヤーが実際に飛ぶラインに沿って確かめることです。
効いた小さなこと
- コイン。最初のレーザーコインはカラーに入ったルビーの棒で、最初のスクリーンショットでは注射器に見えました。今はカットされたルビーが短いビームを放つ絵です。
- 終わり方。以前のビームは最後の瞬間に穏やかな脈動で消えていき、見逃しやすいものでした。今は電池の弱った懐中電灯のようにちらつきます。不規則で短い途切れが終わりに向かって増え、ハム音も一緒に途切れます。ちらつきは見た目だけです。ビームはどの途切れの間も当たり続け、パターンは乱数生成器から引くのではなく時刻のハッシュから作っています。
- 長さ。最初は2.5秒でしたが、遊ぶと長すぎると感じたので、今は2秒です。
- 効果。8日分のオートパイロットのリプレイでは、レーザーがついていたのはフレームの0から7%で、シールドへの被弾は約3%減りました。難易度を動かすレバーではなく、力を感じる一瞬です。それこそが狙いでした。
何度も使っているパターン
このルールが形づくった機能はレーザーが最初ではありません。修理キット、つまり機雷や砲弾を撃ち落としたときに落ちるレンチは、同じ理由でコインの中ではなく専用のリストにあります。コインの中に入れればデイリー洞窟が分岐してしまうからです。1日にひとつの共有の洞窟を約束するゲームでは、新しい機能のたびに問うことは同じです。乱数を引くのか、引くならどのストリームからか?
その日最初のレーザーは、今日の洞窟ではたいていスコア300を過ぎたあたりで現れます。