Sektor Tujuh Detik: Bagaimana TUNL Mengatur Ritme Sebuah Run
Kurva kesulitan memberitahumu seberapa sulit game pada saat tertentu. Ia tidak memberitahumu bagaimana rasanya run itu. Ini adalah kisah mengganti tumpukan kurva independen dengan sebuah rencana, dan mengukur apakah itu berhasil.
Selama belasan versi pertama, kesulitan TUNL adalah sekumpulan kurva terpisah. Jarak stalaktit punya kurva, jarak ranjau punya kurva, jarak koin punya kurva, dan masing-masing adalah fungsi dari seberapa dalam kamu berada di gua. Setiap kurva masuk akal sendiri-sendiri. Bersama-sama, mereka menghasilkan run yang terasa tidak rata, dan ketika akhirnya saya mengukurnya, angka-angka mengatakan hal yang sama dengan yang dirasakan.
Apa yang ditemukan audit
Saya memutar ulang generator sungguhan dan fisika sungguhan dengan bot pada empat tingkat kemampuan, seratus run masing-masing, di 24 seed harian berbeda. Kemudian saya melihat kapan hal baru terjadi dan di mana bot mati. Empat masalah menonjol:
- Ritmenya tidak rata. Tujuh elemen baru datang dalam sembilan detik pertama. Lalu tidak ada yang baru selama tiga belas detik. Lalu lima dalam empat belas detik berikutnya. Lalu tidak pernah ada yang baru lagi untuk sisa run.
- Kesalahan pertama fatal bagi pemula. 41% run bot terlemah berakhir dalam delapan poin dari saat dinding menjadi mematikan, dan 91% kematian bot itu melawan dinding. Zona aman terbuka di awal hanya mendorongmu kembali, sehingga tidak bisa mengajarkan satu hal yang perlu dipelajari pemula.
- Bagian tengah adalah jurang. Kepadatan stalaktit berlipat ganda dua kali antara skor 300 dan 1.150, dan itu mengakhiri setiap run bot ahli di suatu tempat dalam kisaran 500-900.
- Ranjau bertriplikat secara tidak sengaja. Stalaktit yang lebih jarang menghentikan aturan penempatan dari memveto ranjau dan koin, jadi jumlah ranjau bertriplikat tanpa ada yang memintanya. Keterkaitan itu penting nanti.
Idenya: sebuah run adalah urutan sektor
Alih-alih kurva terpisah, saya menulis sebuah rencana. Sebuah run adalah urutan sektor, masing-masing tujuh detik pada kecepatan referensi tetap. Sektor 0 adalah penerbangan pembuka yang aman. Setiap sektor setelahnya memperkenalkan tepat satu hal baru atau meningkatkan sesuatu yang sudah kamu ketahui. Sebuah notifikasi "SEKTOR n" muncul di setiap batas mulai dari yang ketiga, sehingga pemain bisa merasakan strukturnya.
Panjangnya diukur dengan sengaja dalam detik, bukan piksel. Gua terus berakselerasi, jadi jumlah tetap piksel dunia berarti waktu yang semakin sedikit seiring run berlangsung. Sebuah sektor yang didefinisikan dalam piksel akan terus memendek. Didefinisikan dalam detik referensi, dan dikonversi kembali ke posisi dunia dengan mengintegrasikan tren kecepatan referensi, batas sektor tetap merupakan fungsi murni dari posisi. Itu penting karena seluruh game harus tetap identik untuk setiap pemain: saya menulis alasannya di tulisan tentang gua harian.
| Sektor | Skor | Apa yang baru |
|---|---|---|
| 0 | 0 - 50 | Koridor terbuka. Koin emas dan jam pasir. |
| 1 | 50 - 110 | Stalaktit pertama, koin perisai |
| 2 | 110 - 180 | Amunisi, magnet |
| 3 | 180 - 250 | Ranjau pertama (sendiri, di tengah), koin bom |
| 4 | 250 - 330 | Batu besar |
| 5 | 330 - 410 | Chicane, memudar masuk |
| 6 | 410 - 490 | Meriam |
| 7 | 490 - 580 | Stalaktit jatuh |
| 8 | 580 - 680 | Koin racun |
| 9 | 680 - 770 | Koin penyedot |
| 10+ | 770 ke atas | Tidak ada yang baru. Laju terus bertumbuh. |
Dua aturan menentukan urutan. Alat datang sebelum ancaman yang mereka jawab. Koin perisai muncul satu sektor sebelum ranjau pertama, sehingga pemain punya satu untuk dibelanjakan. Dan alat tidak boleh datang terlalu terlambat, karena misi harian ("kumpulkan lima amunisi", "ambil dua magnet", "gunakan tiga bom") kumulatif untuk hari itu dan harus tetap terjangkau bagi pemain santai, yang run-nya berakhir sekitar sektor kedua atau ketiga. Sebelum memindahkan gerbang koin mana pun, saya memeriksa daftar misi.
Kepadatan adalah laju, bukan jarak
Di dalam sebuah sektor, kepadatan bahaya adalah laju per detik referensi: slot stalaktit pada dua per detik di sektor 1, tumbuh 14% per sektor, dan melandai ke 8% per sektor mulai sektor 8. Ranjau dimulai pada 0,28 per detik di sektor 3, tumbuh 20% per sektor lalu 10%. Jarak dalam piksel diturunkan dari laju dan menjaga batas bawah yang keras, sehingga laju bisa tumbuh tanpa batas dan setiap run tetap berakhir. Ranjau adalah yang menjamin itu, karena ranjau bisa berada di mana saja di seluruh koridor, jadi tidak ada lebar koridor yang membuat gua yang cukup cepat bisa bertahan.
Setiap sektor juga merupakan gigi gergaji. Seperlima pertamanya berjalan pada 55% dari kepadatan targetnya, dengan kandidat koin ekstra sebagai imbalan, lalu naik dari 80% ke 115% menuju batas berikutnya. Jadi pemain mendapat napas di awal setiap sektor, lalu tekanan meningkat, lalu ide baru. Pendakian yang stabil melelahkan. Pendakian dengan istirahat adalah sesuatu yang disebut orang adil.
Setel berdasarkan laju yang diukur, jangan pernah berdasarkan angka jarak. Aturan penempatan memveto objek yang akan mendarat di suatu tempat yang tidak adil, dan fraksi yang mereka veto berubah seiring kepadatan. Membagi dua nilai jarak tidak menggandakan bahaya, dan keterkaitan itulah yang membuat jumlah ranjau bertriplikat pertama kali. Jadi setiap pass penyetelan berakhir dengan pemutaran ulang yang menghitung objek yang benar-benar ditempatkan per detik sungguhan.
Goresan lambung: memaafkan dinding, bukan duri
Perubahan besar kedua adalah untuk pemula yang mati di dinding pertama. Sebuah kapal sekarang memiliki dua goresan lambung. Kontak dinding menghabiskan satu, memantulkan kapal kembali ke dalam dan mengatakan "TERGORES!". Tanpa sisa, kontak berikutnya mengakhiri run.
Mereka dimulai sebagai bantuan sementara yang kedaluwarsa di sektor 3. Setelah setiap run mulai dengan terbang ke mulut terowongan dengan dinding mematikan sejak awal, masuk akal bagi mereka untuk bertahan sepanjang run, dan memang begitu sekarang. Masa tenggang setelah goresan hanya melindungi dari dinding. Stalaktit, ranjau, batu besar, dan tembakan tetap mematikan, dan kapal tidak berkedip. Jika masa tenggang mencakup segalanya, pemain yang baik bisa dengan sengaja menggores dinding untuk terbang melewati ladang stalaktit, jadi aturannya adalah goresan memaafkan kesalahan dinding dan pukulan langsung adalah tugas perisai.
Saya juga mencoba alternatif yang jelas, perisai gratis pada saat yang sama. Ini terutama membantu tingkat kuat, yang menggunakannya untuk bertahan dari stalaktit nanti, dan meningkatkan run median mereka sekitar 72%. Ini memberi imbalan pada kemampuan yang tidak membutuhkan bantuan, dan saya menghapusnya.
Apakah berhasil?
Bot yang sama, pada seed yang sama, sebelum dan sesudah. "Rata-rata" adalah tingkat yang perilakunya paling cocok dengan pemain sungguhan di versi sebelumnya.
| Tingkat bot | Skor median | Mencapai 100 | Mati dalam 8 poin dari saat dinding menjadi mematikan |
|---|---|---|---|
| Pemula | 65 → 95 | 4% → 39% | 41% → 3% |
| Rata-rata | 107 → 155 | 32% → 70% | 16% → 2% |
| Baik | 205 → 401 | 80% → 91% | 1% → 1% |
| Ahli | 715 → 928 | 100% | 0% |
Tingkat kematian per sektor untuk tingkat rata-rata menjadi tanjakan (38%, lalu 60%, lalu 68% pada tiga sektor bahaya pertama) alih-alih jurang. Itulah bentuk yang saya inginkan: sebuah run seharusnya berakhir dengan semakin mungkin secara bertahap, bukan tiba-tiba pasti.
Apa yang tidak diperbaiki
Ahli masih menabrak dinding waktu reaksi di sekitar sektor 10 dan 11, di mana 63% dan kemudian 77% run ahli berakhir. Sebelum rencana ini, angkanya 100% di sektor 7 dan 8, jadi itu perbaikan nyata, tapi bukan tanjakan halus yang dimiliki sektor-sektor sebelumnya. Saya mencoba dua perbaikan yang jelas: pertumbuhan panjang stalaktit yang lebih lambat dan tanjakan probabilitas chicane yang lebih lambat. Keduanya terukur tidak berpengaruh. Tuas yang tersisa adalah kecepatan itu sendiri, dan saya membiarkannya tidak tersentuh, karena kecepatan dengan sengaja tidak pernah mendatar, dan gua yang berhenti bertambah cepat adalah gua yang berhenti meminta sesuatu yang baru dari pemain yang sangat baik.
Apa yang akan saya pertahankan
Dua kebiasaan. Pertama, rencanakan urutan apa yang ditemui pemain, bukan hanya seberapa sulit setiap hal: satu ide baru pada satu waktu terbaca sebagai game yang mengajarimu, sementara lima sekaligus terbaca sebagai game yang menumpukmu. Kedua, jangan pernah percaya perubahan kesulitan sampai simulasi memberitahumu di mana setiap jenis pemain mati. Kedua kejutan terbesar di sini, jumlah ranjau dan kematian di dinding pertama, tidak terlihat saat bermain dan jelas dari sebuah tabel.
Kamu bisa membaca versi yang menghadap pemain dari rencana yang sama di panduan cara bermain.