1. Tentukan dulu: membuat game atau laboratorium untuk meneliti kemenangan?
Untuk riset, kamu tidak wajib membuat art, animasi, suara, dan UI dulu.
Intinya:
state sekarang
→ buat legal actions
→ pilih action
→ terapkan rules
→ state berikutnya
Yang dibangun adalah laboratorium numerik.
Kalau ada engine bagus, pakai. Kalau tidak, buat rules minimum yang benar.
2. Tentukan input dan output sebelum coding
Input: card DB, deck, lawan, first/second, seed, policy, environment, jumlah game.
Output: winner, turn, matchup WR, first/second gap, worst matchup, brick, key-card drop, errors, deck changes.
Simulator dimulai dari pertanyaan.
3. Card DB — data bukan behavior
Simpan ID, nama, class, cost, type, stats, rarity, set, text, evolution, related cards, tags.
JSON atau SQLite cukup.
Text “Fanfare: 4 damage” belum menyelesaikan target, reduction, trigger, ordering.
DB menyimpan manual; Rules Engine menjalankan dunia.
4. Simpan game sebagai state
Simpan turn, active player, HP, PP, hand, deck, board, graveyard, Evolution, Super-Evolution, Crests, amulets, counters, temporary effects.
Makna rules lebih penting daripada tampilan.
5. Rules Engine = state A → action → state B
Play, attack, Evolution, Act, target, end turn, draw, PP refresh, win check adalah transitions.
Engine harus benar walaupun bot bodoh bermain legal.
6. Efek generic + exception
Buat damage, heal, draw, buff, summon, destroy, banish, Ward, Storm.
Kartu khusus pakai override.
Hitung unsupported, partial, runtime gaps.
7. Legal action generation
Generate playable cards, targets, attacks, Evolution, Act, end turn, dan bila relevan hold, draw-first, board-slot clearing.
Tanya:
apakah action benar ada di candidate set?
8. Seed, replay, hash
Fix seed dan simpan engine commit, DB hash, deck hash, policy hash, environment hash, schedule hash, seed hash.
Kondisi sama harus mereproduksi game yang sama.
9. AI pertama boleh sederhana
Reference policy: lethal → finish; akan mati → defend; curve; board unggul → face; board kalah → trade.
Ini baseline.
10. Human knowledge sebagai prior
Gunakan mulligan, hold, EP/SEP, setup, swing turn, hand cap, board slot, future lethal.
Jangan jadikan hukum mutlak.
Gunakan score seperti hold_value, future_combo, survival, premature_spend.
Guide adalah peta.
11. Tree Search, Beam, Node Budget
10 kandidat per layer menjadi 10, 100, 1.000, 10.000.
Gunakan depth, beam width, node budget, pruning.
Jangan membuang setup penting terlalu cepat.
Pisahkan immediate, future, survival, setup, lethal, resource value.
12. Hidden hand: belief, POMDP, Monte Carlo
Jangan berikan hidden hand asli ke policy.
Buat dunia: AoE 30%, Ward 20%, tidak ada 50%.
Ini belief.
Masalah mirip POMDP; sample hand dan rollout berkali-kali.
13. Large simulation = paired A/B
Deck, opponent, first/second, seed sama; policy berbeda.
Quick → development → unseen holdout.
Tujuannya mengurangi noise dengan perbandingan adil.
14. Ukur lebih dari win rate
Average, meta-weighted, worst matchup, bottom average, variance, first/second gap, brick, key-card drop, turn, confidence interval.
CVaR melihat hasil buruk.
Bootstrap dan McNemar membantu paired A/B.
15. Deck optimization mengompresi kandidat
Tidak bisa brute-force semua kombinasi 40 kartu.
Mulai dari deck nyata, lalu swap, role replacement, tech.
Double Oracle menambah counter, PSRO memakai deck + policy, No-Regret mengurangi regret, Robust Optimization menjaga floor.
16. Simpan alasan kekalahan
Action trace merekam candidates, scores, choice, objective, reservation, early combo spend, missed lethal, hand burn, board lock.
Ablation mematikan komponen.
Counterfactual mencoba A dan B dari public state yang sama.
17. Set baru = environment snapshot baru
Simpan format, legal sets, hashes.
Diff DB dan rerun hanya deck/matchup terdampak.
Kalau hanya meta weight berubah, reuse result.
18. Arsitektur kecil, CLI-first
Pisahkan upstream, deck, policy, simulation, diagnosis, statistics, config, data, reports, docs, tests.
CLI: status, doctor, db check, validate, simulate, experiment, optimize, diagnose, context.
GitHub adalah external memory.
19. Roadmap zero-to-one
1 card DB
2 satu game minimum benar
3 legal actions/targets
4 seed/replay/hash
5 simple policy + 100 games
6 coverage
7 real decks + matrix
8 human prior
9 search + belief
10 paired A/B + holdout
11 deck optimization
12 diagnosis + expansion diff
Jangan membuat mesin yang salah 10.000 kali per menit.
20. Kesimpulan
DB = memori. Rules Engine = fisika. Policy = otak. Search = melihat ke depan. Statistics = rapor. Action Trace = CCTV. Git = notebook. AI Agents = peneliti.
Manusia bertanya:
“Angka ini benar-benar bisa dipercaya?”
Awalnya hanya ingin Storm ke muka.
Akhirnya punya lab AI card game.
Singkirkan Ward, Evolution,
Storm ke muka.
