Bermainlah sendirian dan tiga dari keempat kastel dijaga oleh mesin. Setiap panglima perang komputer menjalankan lingkaran pendek yang sama — temukan bola yang patut ditakuti, tebak di mana bola itu akan melintasi temboknya, geser untuk menyongsongnya — dan jarak antara lawan yang gampang dan lawan yang mengancam bermuara pada empat angka.
Ditulis dan disunting dalam bahasa Inggris. Versi bahasa Indonesia ini dihasilkan oleh terjemahan mesin; jika ketepatan menjadi penting, naskah asli berbahasa Inggris adalah yang berlaku. Baca naskah asli dalam bahasa Inggris →
Tugas pertama seorang panglima perang, seratus dua puluh kali per detik, adalah triase. Dengan sampai dua bola berkeliaran di arena, AI harus memutuskan bola mana yang layak mendapat perisainya. Ia memberi skor kepada setiap bola yang aktif dan tidak sedang dipegang berdasarkan jaraknya ke rajanya sendiri, lalu mengurangi bonus tetap sebesar 250 unit dari bola mana pun yang memang sedang menuju ke sudutnya; bola yang bergerak menjauh diperlakukan seolah-olah 250 unit lebih jauh daripada jaraknya yang sebenarnya. 1 Skor terendah merebut perhatian perisainya.
Hasilnya adalah pertahanan yang tidak panik menghadapi bola yang melayang lewat tanpa bahaya, tetapi menyambar bola yang lebih dekat sekaligus datang ke arahnya. Ini model kasar dari apa yang dilakukan manusia tanpa berpikir: awasi benda yang datang kepadamu, abaikan benda yang pergi. Seluruh penilaian itu adalah satu hasil kali titik antara kecepatan bola dan arah menuju sang raja; nilai positif berarti “dibidikkan ke arahku”, dan itu sudah cukup.
Setelah memilih ancamannya, sang panglima perang harus memutuskan di titik mana pada rel diagonalnya ia harus berada. Ia tidak memecahkan seluruh jalur pantulan — tidak ada penelusuran refleksi, tidak ada peramalan pantulan dinding. Ia mengambil posisi bola, menyenggolnya selangkah pendek ke depan menurut kecepatannya saat itu (pendahuluan 0,12 detik), lalu memproyeksikan titik masa depan itu lurus ke rel untuk memperoleh fraksi target antara 0 dan 1. 1
Ini prediksi yang sengaja dibuat dangkal, dan itulah sebabnya AI ini bisa dikalahkan. Karena ia hanya mendahului seperdelapan detik dan tidak pernah mengantisipasi pantulan, bola yang akan tiba lewat pantulan dinding akan mengelabuinya; ia berkomitmen pada arah yang ditunjuk bola sekarang. Manusia yang memantulkan tembakannya ke tepi arena sedang memanfaatkan persis titik buta ini. Mesin itu bereaksi terhadap masa kini dengan sehelai daya prediksi; ia tidak merencanakan.
Komputer tidak menghitung masa depan bola. Ia mencondongkan diri seperdelapan detik ke depan, mengarahkan perisainya ke tempat bola itu akan berada seandainya tidak ada yang menghalangi, dan membiarkan segala sesuatu yang menghalangi menjadi peluang Anda.
Ketiga tingkat kesulitan berbagi satu badan kode yang identik. Yang berubah antara mudah, sedang, dan sulit adalah sederet empat angka penyetel. 1 Jitter menambahkan galat acak pada target perisainya, sehingga bidikan panglima perang yang mudah melenceng hampir seperlima panjang relnya sementara yang sulit nyaris tepat. Jarak reaksi menetapkan seberapa dekat sebuah bola harus datang sebelum sang panglima perang repot-repot melacaknya; yang mudah mengabaikan apa pun yang berjarak lebih dari 420 unit dari rajanya, sedikit di bawah separuh lebar papan, sedangkan yang sulit melacak melintasi seluruh arena. Peluang tangkap adalah kemungkinan ia akan menyambar bola yang datang cukup dekat ke perisainya untuk dapat ditangkap. Dan bidik-lawan adalah satu sakelar tunggal yang menentukan apakah sang panglima perang bermain menyerang sama sekali.
| Tombol putar | Mudah | Sedang | Sulit |
|---|---|---|---|
| Jitter bidikan (pecahan rel) | 0.18 | 0.07 | 0.015 |
| Jarak reaksi (unit) | 420 | 700 | 2,000 |
| Peluang tangkap | 0% | 25% | 55% |
| Membidik lawan? | tidak | tidak | ya |
Keempat nilai itu berasal dari satu tabel penyetelan kecil di dalam mesin permainan Bulwark, satu baris per tingkat. Jarak reaksi pada tingkat sulit ditulis sebagai dua kali lebar arena, dan arenanya berukuran 1.000 unit persegi, sehingga 2.000 unit berarti “selalu melacak”. 1
Panglima perang mudah atau sedang tidak pernah menangkap dengan niat menyerang. Yang mudah sama sekali tidak pernah menangkap, dan yang sedang hanya sesekali saja, tanpa rencana apa pun tentang apa yang harus dilakukan dengan bola itu begitu ia memegangnya. Balikkan sakelar bidik-lawan — satu-satunya hal yang hanya dilakukan tingkat sulit — dan AI itu berhenti menjadi semata-mata reaktif. Ketika ia memegang bola, ia memandang ke seberang papan, memilih lawan yang paling terluka (yang bata tersisanya paling sedikit), dan membidik ke sana. 1
Ia melakukannya tanpa pencarian jalur sama sekali. Ia mencuplik sebelas posisi kandidat di sepanjang relnya sendiri, dan untuk masing-masing ia mereproduksi matematika pelepasan milik mesin permainannya guna melihat ke arah mana tembakan itu akan melesat, lalu menyimpan posisi yang vektor keluarnya paling langsung menunjuk ke korban pilihannya. 1 Itu cara paksa atas segelintir pilihan, bukan kecerdikan, tetapi ia sabar menjalaninya: setelah memilih titiknya, sang panglima perang menahan bola sampai perisainya benar-benar tiba di sana, dan baru melepaskannya begitu perisainya sampai atau begitu ia sudah menahan cukup lama sehingga menunggu lebih lama akan lebih mahal daripada nilai tembakannya. Niatnya jelas-jelas strategis, persis seperti yang akan dilakukan manusia yang mengincar bunuhan mudah. Memilih sasaran berdasarkan “bata paling sedikit” mengarahkan tiga pertahanan yang saling bebas kepada siapa pun yang sudah kalah.
Setiap hal “acak” yang dilakukan seorang panglima perang — jitter pada bidikannya, lemparan koin untuk menentukan apakah ia menangkap — diambil dari sebuah pembangkit berbenih, yaitu rutin ringkas yang dikenal sebagai mulberry32 yang mengubah satu angka awal menjadi aliran panjang nilai pseudo-acak yang dapat diulang. 2 Beri ia benih yang sama dan ia akan menghasilkan urutan yang sama selamanya. Pertandingan langsung mengambil benihnya dari jam, sehingga tidak ada dua permainan yang dibuka sama, tetapi serahkan kembali benih yang sama dan pertandingan itu berjalan lagi persis sama: sudut peluncuran yang sama, goyangan yang sama, tangkapan yang sama.
Determinisme itu bukan detail kosmetik. Itulah yang membuat permainan ini dapat diuji — rangkaian ujinya memainkan seluruh pertandingan komputer-lawan-komputer dari benih tetap dan mengharapkan hasil yang sama setiap kali — dan itu pula yang memungkinkan seluruh simulasinya, termasuk kursor pembangkitnya, dikemas ke dalam JSON dan dibangun ulang, sehingga secara daring sang host dapat mengalirkan keadaannya dan setiap pemain lain membangun ulang papan yang identik. Para panglima perang terasa hidup karena galat-galatnya tampak manusiawi; di baliknya, “naluri” mereka hanyalah sebuah rekurensi aritmetika pendek yang dapat diputar balik ke awal oleh siapa pun. Mesin yang menjaga sebuah kastel, ternyata, hanya membutuhkan beberapa angka dan aliran keberuntungan yang dapat direproduksi. 2