A. Initial State
Tujuan
Adapun tujuan pembuatan
game ini adalah untuk memberikan sedikit hiburan terhadap pengguna tanpa
membutuhkan banyak aturan dan hanya berpikir dengan sederhana.
Pengenalan Game
Draughts
Mungkin kita
sedikit merasa asing dengan yang namanya permainan draughts, pada hakikatnya draughts
hanyalah segelintir permainan sederhana dalam kehidupan sehari-hari, hanya saja
mungkin penamaan dari game tersebut berbeda-beda di setiap daerah. Untuk lebih
jelasnya game draughts merupakan game sederhana dimana kita mengisi
bulatan-bulatan ke tempat yang tersedia hingga membentuk tiga buah bulatan
secara berurutan dalam posisi horizontal saja atau vertikal saja. Gambaran dari
game tersebut mirip dengan jaring laba-laba, yaitu setiap bulatan dihubungkan
dengan garis antara bulatan yang satu dengan yang lainnya. Bulatan yang
disediakan dalam permainan ini adalah 24 buah. Dalam permainan ini kita
berusaha bagaimana menghalangi player dari komputer untuk melakukan set,
sehingga kita harus menutup semua jalan keluar yang memukinkan pengesetan
tersebut.
Program Editor
Pembuatan game
“draughts” menggunakan strawberry prolog. Prolog merupakan bahasa pemograman
logika atau disebut juga sebagai bahasa non-procedural. Namanya diambil dari
bahasa Perancis yaitu programmation en logique (pemograman logika). Bahasa ini
diciptakan oleh Alain Colmeraver dan Robert Kowalski sekitar tahun 1972 dalam
upaya menciptakan suatu bahasa pemograman yang memukinkan pernyataan logika
alih-alih rangkaian perintah untuk dijalankan di komputer.
Disini strawberry
prolog sebagai program editor. Pemilihan software ini dilakukan karena cukup
mudah untuk dipahami meskipun dalam arti sebenarnya bahasanya memiliki sedikit
arti abstrak di bagian kodingan. Prolog ini juga sering dipergunakan untuk
membuat beberapa project yang berbasis AI (Artificial Inteligence). Disisi lain
tidak dipungkiri memang bahwa bahasa pemograman ini memiliki bug sehingga
mengganggu proses kerja kita. Strawberry prolog ini bersifat portabel, dimana
kita tidaklah perlu menginstal pada komputer kita, kita cukup mengekstrak dan
software siap untuk digunakan.
Untuk versi
pertama dari strawberry prolog sendiri dirilis pada tahun 1996 dan dipinpin
oleh Strawberry Dimiter Dobrev.
B.
Rules
· Pada saat memulai game, kita memiliki ancaman atau musuh utama
yaitu melawan waktu dan juga mengalahkan player computer tersebut.
· Pada saat memulai game waktu akan berjalan dalam hitungan mundur
yaitu selama 100 detik.
· Di bagian kiri dan kanan terdapat bulatan yang telah disediankan
masing-masing 9 buah.
· Bulatan warna merah merupakan milik user sedangkan bulatan biru
milik komputer (lawan kita).
· Dalam permainan setiap pojok dari sebuah garis kita bisa mengisi
bulatan merah, dan yang menjadi pemain pertama adalah user.
· Isi bulatan pada bulatan
kosong yang disediakan hingga membentuk 3 buah bulatan yang sewarna secara
horizontal saja atau vertikal saja.
· Pada saat komputer ingin set, maka jika kita tidak menghalangi
jalannya kita akan dapat pesan kalau kita tidak sukses dalam permainan. Dan
untuk melanjutkan klik saja OK.
C.
Goal
1.
Kondisi jika user menang
Pemenangnya adalah user jika telah melakukan set bulatan merah 3
buah secara berurutan dalam posisi horizontal saja atau vertikal saja. Untuk
menang usahakan selalu menutup jalan pemain dari komputer terlebih dahulu
walaupun kita ingin set. Jika kita tidak melakukan hal tersebut maka bulatan
dimana kita letakkan yang terakhir maka akan hilang atau di delete, dalam hal
ini bulatan berkurang satu. Hal ini berlaku untuk permainan selanjutnya.
2.
Kondisi jika computer menang
Pemenangnya computer jika kita tidak menghalagi jalannya
pengesetan bulatan warna biru tersebut. Dan jika computer set maka akan muncul
pesan “Anda kalah”. Setelah itu kita klik ok untuk melanjutkannya.
3.
Kondisi jika permainan seri
Permainan akan seri jika tidak ada bulatan yang set diatara kedua
pemain, baik itu komputer maupun user. Selain itu permainan juga akan seri jika
waktu habis. Waktu yang diberikan adalah sekitar 100 detik dimulai dari sejak
kita membuka aplikasi.
D.
Konsep AI
Draughts merupakan suatu permainan yang menggunakan konsep
Artificial Inteligence atau kecerdasan buatan. Adapun kecerdasan buatan yang
dimaksud dalam permainan ini adalah kita memiliki lawan yaitu computer. Disini
kita berinteraksi dengan pemain dari komputer yaitu computer berusaha
mengalahkan kita dan kita juga punya misi yang sama. Permainan akan dimenangkan
jika di salah satu pemainmemiliki strategi yang lebih bagus dalam menutup
jalannya bulatan lawan dan mengesetkan bulatan yang sama di waktu yang sama.
Untuk memainkan game
ini kita harus memiliki kompiler strawberry prolog terlebih dahulu. Ini
dikarenakan saya masih menggunakan strawberry prolog versi yang gratisan
sehingga tidak bisa dibuat menjadi object coden berbentuk executable. Untuk
memainkan game ini terlebih dahulu buka strawberry prolog kemudian klik
File>Open dan pilih nama game tersebut. Setelah itu untuk menjalankan tekan
F5.
Algoritma
Minmax
Untuk menentukan pilihan agar memperkecil
kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan
yang melibatkan dua pemain seperti tic tac toe, checkers, go dan permainan yang
menggunakan strategi atau logika lainnya. Hal ini berarti permainan-permainan
tersebut dapat dijelaskan sebagai suatu rangkaian aturan dan premis. Dengan
itu, kita dapat mengetahui, pada titik tertentu permainan, langkah-langkah yang
mungkin berikutnya. Permainan tersebut berbagi karakteristik yang sama, yakni
“permainan dengan penuh informasi”. Setiap pemain mengetahui semua
langkah-langkah yang mungkin dari pemain lawannya.
PENERAPAN ALGORITMA MINIMAX DALAM DRAUGHTS
Penerapan algoritma Minimax dalam draughts dibuat
berdasarkan prosedur Minmax untuk mendapatkan langkah terbaik dari posisi yang
ada. Setiap posisi memiliki nilai yang dapat dihasilkan dari langkah terbaik,
dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan
akan mencoba untuk meminimalkannya. Ketika prosedur minimax mencapai akar pada
pohon pencarian (posisi saat tersebut), akan menghasilkan langkah terbaik
dengan asumsi lawan akan menggunakan kriteria evaluasi yang sama. Beberapa
versi program yang dibuat kebanyakan telah menerapkan algoritma pemotongan
alpha-beta.Terdapat dua macam metode, yang disebut rote learning. Metode
tersebut memiliki penyimpan untuk setiap posisi yang ditemui selama permainan
dengan tidak menghilangkan nilai yang ditentukan oleh prosedur Minmax. Hasilnya
adalah jika terdapat posisi yang pernah ditemukan sebelumnya, akan dimunculkan
sebagai posisi terminal pada pohon pencarian. Sehingga, pencarian akan semakin
mudah karena nilai posisi diambil dari hasil pencarian yang telah dilakukan
sebelumnya. Satu masalah awal yang ditemukan adalah program tidak mendukung
untuk melangkah langsung menuju kemenangan.
Untuk mengunduh file lengkapnya klik desini
1 komentar:
bang, ane izin buat jadiin game ini project LAB TI ane yaa, bang?? nanti ane sertakan referensinya dari blog abang. terus nanti ane ubah-ubah juga...
makasih bang
Regards,
TI UG 2011
Posting Komentar