pengantar
Game online dari catur dan backgammon hingga penembak orang pertama banyak dilakukan oleh orang-orang yang menggunakan permainan yang dibantu komputer atau robot komputer – bahkan ketika tidak ada uang yang dipertaruhkan. Dengan program yang sesuai, setiap pemain dapat bermain di tingkat kejuaraan dunia yang merusak permainan bagi pemain yang jujur. Apa yang membuat poker online berbeda, mengingat ada sejumlah besar uang yang dipertaruhkan?
Pada artikel ini saya akan menjelaskan bagaimana saya mengembangkan bot poker dan apa yang saya pelajari dari pengalaman ini. Kesimpulan saya adalah bahwa meskipun memungkinkan untuk membuat bot bermain poker, ancaman dari bot poker ke pemain poker online sangat kecil hingga tidak ada.
Teori “Game” QQ Online
Untuk mata kuliah minat dan kuliah saya sebelumnya telah menulis program bermain komputer atau bot untuk game termasuk catur, Connect 4, Othello, backgammon, bridge dan berbagai lainnya. Untuk game seperti Connect 4, Othello, chess, dan backgammon yang semua pemainnya memiliki informasi yang sama tentang status game, teori tentang cara membuat bot ahli sudah terkenal. Teknik pencarian mendalam, melihat banyak langkah ke depan, digunakan untuk permainan seperti Othello dan catur. Baru-baru ini (10 tahun yang lalu) ditemukan bahwa jaringan saraf dapat diajarkan untuk bermain backgammon lebih baik daripada hampir semua pemain manusia. Game seperti poker dan bridge berisi informasi tersembunyi di mana para pemain dapat melihat tangannya sendiri tetapi tidak dapat melihat tangan pemain lain. Teori yang diterbitkan di balik penulisan bot komputer ahli untuk permainan informasi yang tidak lengkap ini adalah beberapa dekade di belakang permainan informasi lengkap dan ada teknik keraguan akan dikembangkan sehingga komputer dapat bermain di tingkat ahli atau kejuaraan dunia. Saat ini, teknik terbaik untuk permainan informasi yang tidak lengkap ini tampaknya melibatkan beberapa bentuk simulasi dan pemodelan lawan.
Anatomi Bot Poker Online
Ada 3 bagian dasar untuk bot poker:
1) Pengumpulan Data – mengamati keadaan dan sejarah game
2) Pemrosesan Data – menggunakan informasi dari data yang dikumpulkan untuk menentukan apakah akan melipat, menelepon atau menaikkan.
3) Output – Menekan tombol yang sesuai pada klien ruang poker.
Bot Poker saya
Program saya ditulis pada awal tahun 2004 dengan Microsoft .Net C ++ dan dikembangkan untuk dimainkan di satu ruang online saja. Untuk yang berpikiran teknis, program ini sangat bergantung pada MFC dan Win32 API.
1) Pengumpulan Data
Bot saya mengumpulkan informasi tentang status dan riwayat permainan dari tabel poker online dengan mengambil tangkapan layar berulang dan menganalisis gambar. Pertama-tama, saya hanya mengamati permainan, mengambil tangkapan layar secara otomatis sehingga saya dapat mengumpulkan data tentang posisi kartu, chip, dan tombol. Dengan menentukan warna beberapa piksel tertentu, saya dapat mengumpulkan semua informasi ini tentang status permainan.
Akhirnya saya dapat mengumpulkan data dari beberapa tabel poker (4 sekaligus) dengan berulang kali membawa setiap jendela ke latar depan dan mengambil tangkapan layar. Dari tangkapan layar ini saya dapat menentukan kartu saya, kartu papan, posisi tombol, yang tersisa di tangan, ukuran pot dan ukuran taruhan pemain.