Setiap tekanan adalah lompatan: mengajarkan game satu tombol

TUNL hanya punya satu kontrol, dan selama delapan belas versi pertamanya sebagian besar pemain baru tidak pernah tahu cara kerjanya. Ini cerita tentang bagaimana kontrol itu berubah, dan bagaimana sebuah lingkaran kecil belajar menunjukkan ritme tanpa pernah menerbangkan kapal.

Devlog · 2 Oktober 2026 · semua postingan

Aturan awalnya: tahan untuk naik, lepas untuk turun. Dorongan adalah percepatan yang terus bertambah selama kamu menahan, gravitasi mengambil alih saat kamu melepas, dan keterampilannya ada di ritme di antara keduanya. Pemain berpengalaman menyukainya. Masalahnya ada di semua orang lain.

Apa kata run pertama

Sebuah halaman landing kecil mencatat bagaimana setiap run pertama berakhir. Dari 25 pemain pertama yang dilihatnya, 22 mati tepat di tempat run tanpa input sama sekali mati: kapal meluncur datar sebentar, turun, lalu menyentuh lantai. Mereka tidak sedang membuat kesalahan. Mereka tidak sedang bermain. Sampel berikutnya dari 48 run pertama bahkan lebih gamblang: sekitar sepertiga pemain tidak pernah menekan apa pun.

"Tahan" adalah instruksi yang aneh untuk game ponsel. Sebagian besar game satu tombol adalah game ketuk, dan pemain yang mengetuk game tahan hanya mendapat sentakan sekecil itu sampai terlihat seolah tidak terjadi apa-apa. Jadi mereka berhenti, dan gua terus datang.

Satu tekanan adalah satu lompatan

Solusinya mempertahankan kedua gaya. Setiap tekanan kini memulai semburan dorongan singkat (TAP_BURST_SEC, 0,15 detik), dan menahan lebih lama tetap mendorong persis seperti sebelumnya. Satu ketukan adalah satu lompatan. Menahan masih berfungsi, hanya saja tidak pernah diperlukan. Tidak ada peralihan di skor tertentu dan tidak ada mode: setiap run, setiap pemain, setiap platform.

Sebelum merilisnya, saya memutar ulang gua harian dengan dua bot. Satu bermain dengan cara lama, menahan dan melepas. Skornya sama dengan atau tanpa semburan, jadi tidak ada yang sudah menguasai game ini kehilangan apa pun. Yang satunya hanya mengetuk, dan mencapai 100 poin di 90% hari.

Semburan berakhir di tengah frame. Semburan 0,15 detik hampir tidak pernah berakhir tepat di batas frame. Membulatkannya ke frame terdekat menggeser puncak lompatan sekitar 11 piksel pada 24 frame per detik, dan dengan jumlah berbeda pada 60 atau 120. Jadi frame dibelah tepat di saat semburan berakhir, dan tiap bagian diintegrasikan sendiri. Sebuah tes memeriksa puncak lompatan terhadap solusi eksak di tujuh refresh rate, dengan alasan yang sama seperti fisikanya dibuat tidak bergantung pada frame rate sejak awal.

Lingkaran yang menunjukkan ritme

Lompatan lebih mudah ditemukan daripada menahan, tapi tidak memberitahumu kapan. Jadi selama skor terbaikmu masih di bawah 233, sebuah lingkaran muncul di samping kapal selama penerbangan pembuka dan menunjukkan kapan harus mengetuk. Bentuknya seperti tombol sentuh mengambang di iPhone: titik putih dalam dua cincin lembut. Ia makin terang saat ketukan mendekat dan tertekan ke dalam saat waktunya tiba. Ketukan yang pas ritme menggambar tanda centang kecil. Versi pertama memakai jari yang menunjuk, yang pada ukuran itu tampak seperti batu nisan putih.

Aturan pentingnya adalah hanya ketukanmu sendiri yang menggerakkan kapal. Lingkaran itu metronom, bukan autopilot. Di baliknya ada perencana yang menjalankan fisika sungguhan ke depan dari keadaan kapal saat ini: ketukan jatuh tempo ketika lompatan yang dimulai sekarang akan memuncak tepat di rute, bukan di atasnya. Karena dihitung ulang setiap frame, ketukan yang terlewat atau ketukan tambahan tidak perlu penanganan khusus. Rutenya sendiri melewati tengah mulut terowongan lalu melewati koin-koin pembuka.

Ketukan yang terlambat memperlambat waktu menjadi seperempat sampai kamu menekan, tapi hanya setelah ketukan pertamamu di run itu, jadi lingkaran tidak pernah membekukan game sebelum kamu sempat mencoba. Skor adalah jarak yang ditempuh, bukan waktu, jadi gerak lambat tidak mengubah apa pun di peringkat.

Saya sempat mempertimbangkan untuk memandu pemain lebih jauh, melewati pembukaan yang aman. Saya memutuskan tidak. Perencana tidak tahu apa-apa tentang stalaktit atau ranjau, dan panduan ditambah gerak lambat setelah titik itu hampir seperti autopilot di peringkat harian bersama.

Kota menunggu

Lingkaran itu membantu pemain yang menekan. Ia tidak berbuat apa-apa untuk sepertiga yang tidak pernah menekan. Setiap run dibuka di atas kota saat senja sebelum kapal masuk ke gua, dan run dimulai dengan luncuran datar singkat sebelum gravitasi bekerja. Bagi para pemain itu, luncurannya habis begitu saja di atas kota, dan mereka tenggelam ke mulut terowongan dengan skor 5.

Jadi di run tutorial, kota sekarang menunggu. Setelah lepas landas, kapal melayang dan kamera berhenti sampai tekanan pertama, dengan lingkaran dan tulisan KETUK UNTUK TERBANG di sampingnya. Tidak ada yang berubah di gua, karena kota terletak sebelum meter pertama gua dan skor baru dimulai di terowongan.

Musiknya juga menunggu. Selama kota tertahan, lagunya mengulang birama kedua intronya, birama tenang tepat sebelum beat masuk, dan tekanan pertama mengembalikan lagu dari titik yang sama di birama itu. Percobaan pertama saya mengulang kedua birama intro dan turun sekitar 9 dB di setiap putaran, sehingga musiknya terdengar tersendat. Pengulangan sekarang berupa loop pendek yang ujungnya di-crossfade ke audio tepat sebelum birama itu, sehingga setiap putaran terdengar seperti peralihan lagu itu sendiri dari birama satu ke birama dua.

Penerbangan latihan, sekali saja

Bagian terakhir adalah penerbangan latihan singkat di atas kota. Setelah tekanan pertama, sederet manik cahaya menunjukkan garis untuk diikuti: datar dulu, itulah ritme melayang, lalu gelombang lembut. Manik yang kamu lewati cukup dekat akan menyala. Terowongan datang begitu enam dari delapan manik terakhir menyala, atau setelah batas waktu dalam kasus apa pun.

Di versi pertamanya, penerbangan ini muncul di setiap run tutorial, yang dalam praktiknya berarti setiap run hampir setiap pemain baru. Saat saya simulasikan, mencoba lagi butuh lebih dari dua kali lebih lama untuk mencapai gua dibanding sebelumnya, bahkan dengan ketukan sempurna, dan pilot yang mengetuk hanya 0,15 detik meleset dari lingkaran harus menunggu penuh batas 30 detik sebelum setiap percobaan. Itu tutorial yang berubah jadi ruang tunggu. Sekarang penerbangan latihan yang sudah kamu lewati tidak pernah ditampilkan lagi di perangkat itu, dan batasnya 12 detik bagi pemain yang belum lulus.

Bagaimana saya tahu ini berhasil

Rangkaian simulasi punya pilot yang hanya mengetuk saat lingkaran menyuruh. Ia menerbangkan seluruh pembukaan sampai ke gua tanpa menyentuh dinding, dengan 29 ketukan, rata-rata sekitar 15 piksel dari rute. Pemeriksaan lain mencakup lompatan di tujuh refresh rate, kota yang menunggu, penerbangan latihan yang hanya disimpan setelah lulus dan tidak pernah setelah waktu habis, serta lingkaran yang menghilang begitu skor terbaik pemain melewati 233.

Yang tidak bisa diberitahukan simulasi mana pun adalah bagaimana rasanya lingkaran itu di bawah ibu jari sungguhan. Itulah yang sedang saya amati sekarang di data run pertama. Kalau kamu baru di game ini, lingkarannya sedang menunggumu di gua hari ini; panduan cara bermain berisi sisa aturannya.

Mainkan gua hari ini