Saat membuat simulator card game, godaan pertama adalah menjalankan sebanyak mungkin pertandingan. Seratus jadi seribu, seribu jadi sepuluh ribu, lalu CSV besar tiba-tiba terasa seperti penelitian serius.
Masalahnya: kalau kebijakan bermainnya salah, lebih banyak simulasi hanya menghitung perilaku kebijakan yang salah dengan lebih teliti.
Dalam studi kasus, mesin aturan tetap menyelesaikan 12.480 game dan audit aturan terlihat bagus, tetapi hasil mentah sangat ekstrem: Royal sekitar 79,8% dan Witch sekitar 25,6%. Itu bukan berarti win rate Royal di dunia nyata 80%. Itu alarm bahwa kebijakan bermain perlu dicurigai.
Aturan pertama: sebelum menambah jumlah game, pastikan CPU benar-benar bisa memainkan gamenya.
1. Simulator bukan satu AI: pisahkan aturan, keputusan, dan penilaian
Minimal ada tiga lapisan.
- Rules engine: menentukan aksi legal dan menyelesaikan damage, target, evolution, serta efek.
- Play policy: memilih satu aksi dari aksi legal.
- Evaluator: menilai apakah deck atau policy benar-benar bagus.
Kalau dicampur, saat hasil aneh kita tidak tahu apakah efek kartu salah, AI bodoh, first-player bias, atau fungsi skor yang rusak.
Karena itu uji legalitas, kualitas keputusan, dan kualitas evaluasi secara terpisah.
2. Bangun rules engine dulu: fisika sebelum kecerdasan
Sebelum AI pintar, butuh dunia game yang konsisten.
Engine harus menangani legalitas deck, batas copy, kelas, PP, draw, mulligan, batas board, attack, proteksi, Storm/Rush, evolution, target, generated card, token, mekanik khusus, dan kondisi menang.
Setiap kartu/mekanik diberi status:
- Full
- Partial
- Unsupported
- Runtime gap
Kalau ada kartu unsupported, lebih baik berhenti dan berkata “belum bisa dievaluasi” daripada mencetak win rate 57,3% palsu.
3. AI bermain butuh lebih dari “aksi terbaik sekarang”
Card game membutuhkan rencana ke depan.
AI harus menilai board, hand, rencana satu sampai tiga turn, peluang lethal, nilai menyimpan combo piece, resource evolution, jawaban lawan berikutnya, risiko hand penuh, ruang board, dan win condition alternatif.
Kebijakan “kalau bisa dimainkan ya mainkan, pilih unit terbesar, kalau bisa pukul face ya pukul” bisa terlihat lumayan di deck tempo sederhana. Di combo dan control, kebijakan itu cepat rusak.
4. Pengetahuan manusia sebaiknya jadi petunjuk, bukan penjara
Mengubah semua guide menjadi if keras hanya menghasilkan robot buku panduan.
Lebih baik jadikan pengetahuan sebagai bonus, penalti, dan prioritas.
Naikkan nilai board clear melawan aggro, beri penalti saat combo piece dipakai terlalu cepat, beri bonus saat resource evolution disimpan untuk power turn, kurangi overcommit sebelum turn kuat lawan, dan naikkan nilai masa depan kalau ada rute lethal dua-tiga turn lagi.
Tag pengetahuan dengan pack, format, leader, archetype, matchup, first/second, fase, tanggal sumber, dan confidence. Kalau pendapat bertentangan, simpan beberapa kandidat policy.
5. A/B yang adil berarti kedua AI mengerjakan soal yang sama
Kalau AI lama brick dan AI baru high-roll, itu bukan perbandingan.
Gunakan seed acak yang sama dan balik first/second.
seed 001: AI lama first / AI baru second
seed 001: AI baru first / AI lama second
...
Catat juga missed lethal, kartu terbakar, board macet, evolution terbuang, combo terlalu cepat, mulligan salah, dan counter-turn lawan yang diabaikan.
Tujuannya menangkap kondisi: “menang sih, tapi mainnya tetap goblok.”
6. Kenapa 2.016 game? Bukan angka sakral, cuma perkalian
Tidak ada sihir dalam angka 2.016.
56 sel uji matchup
× 18 seed
× 2 run pasangan first/second terbalik
= 2.016 game
Yang penting adalah menentukan cakupan dulu.
- quick: puluhan sampai ratusan, smoke test;
- standard: sekitar 2.000, A/B policy dan matchup utama;
- full: 10.000+, evaluasi lingkungan luas.
Menjalankan full dulu lalu baru sadar AI bodoh berarti membuat sampah dengan presisi tinggi.
7. Optimasi deck bukan brute-force semua kombinasi 40 kartu
Ruang kombinasi terlalu besar. Mulai dari deck turnamen/publik lalu buat kandidat di sekitarnya: ganti satu sampai tiga kartu, ubah jumlah copy, substitusi berdasarkan peran, tech card untuk matchup, atau ganti satu paket kartu.
Jangan cuma optimalkan win rate rata-rata. Pertimbangkan downside risk, stabilitas first/second, dan batas bawah matchup buruk.
Hasil yang benar adalah: “deck terbaik di antara kandidat yang dievaluasi dengan snapshot, policy, bobot meta, dan budget simulasi ini.”
8. Diagnosis lebih berguna daripada angka win rate polos
Dengan deck 40 kartu dan leader/archetype lawan, sistem sebaiknya menjelaskan estimasi + ketidakpastian, first/second, mulligan, tujuan early/mid/late, win condition, kartu yang harus ditahan, prioritas removal, timing evolution, respons kuat lawan, rute lethal dua-tiga turn, kesalahan umum, jalur alternatif, dan tech candidate.
Di sinilah simulator berubah menjadi coach.
9. Insiden Royal 79,8%: mungkin “turunkan unit lalu pukul” terlalu ramah untuk AI
Hipotesis lucunya: deck sederhana dan proaktif jauh lebih mudah dimainkan AI yang belum matang.
Royal bisa saja:
main follower!
ambil board!
face kosong!
pukul!
menang!
Sementara Witch yang buruk:
combo piece? bisa dipakai sekarang! pakai!
evolution? kuat sekarang! habiskan!
hand limit? apaan itu?
tiga turn lagi? urusan saya di masa depan!
Ini bukan bukti meta nyata. Ini bukti bahwa tipe deck berbeda menuntut kemampuan berpikir AI yang berbeda.
10. Buat agar perubahan environment mudah diulang: produk akhirnya adalah laboratorium
Simpan rotation sekarang sebagai environment berversi.
Environment 8
- card snapshot
- legal card pool
- engine version
- policy version
- meta decks
- human knowledge
- simulation results
Saat pack baru datang, buat environment berikutnya dan diff kartu baru, rotasi keluar, balance, restriction, archetype, dukungan engine, dan bobot meta.
Kalau cuma bobot meta berubah, hitung ulang agregasi. Kalau kartu baru masuk deck, simulasi ulang bagian terkait. Kalau mekanik baru belum didukung, blok promosi snapshot.
Tujuan sebenarnya adalah traceability: aturan apa, policy apa, database kartu mana, seed mana, dan environment mana yang menghasilkan angka itu?
Kalau Royal kembali mendekati 80%, jangan langsung pasang mahkota.
Tanya dulu: bot ini jangan-jangan mengira seluruh game cuma “turunkan unit, lalu pukul face”?
