Minggu, 10 Oktober 2010

Kecerdasan Buatan pada Game Pyromasters (Bomberman)

Pada postingan kali ini, kelompok kami akan membahas game Pyromasters atau game sejenis Bomberman. Perlu diketahui game Bomberman termasuk salah satu game yang terkenal di era 90-an, kala itu game ini biasa dimainkan untuk konsol Nintendo. Seiring perkembangan zaman yang sudah maju, dan mulai bermunculan berbagai macam teknologi game yang sudah memiliki kualitas yang sangat bagus, baik itu dari sisi cerita, gameplay, maupun grafik, game jenis ini pun sudah mulai ditinggalkan oleh kebanyakan orang. 
Akan tetapi tidak semua orang beranjak ke teknologi game-game terbaru, dan menghilangkan daftar game-game lama untuk hilang dari pikiran mereka. Untuk sebagian orang, khususnya para pecinta game pada era lama namun masih hidup sampai sekarang, game-game jenis ini justru sering dicari untuk dimainkan karena bersifat klasik dan memiliki daya tarik tersendiri. Oleh sebab itulah banyak para developer game untuk berlomba-lomba membuat sebuah software emulator konsol game tertentu baik itu untuk konsol game era lama seperti Nintendo generasi pertama, hingga emulator konsol game terbaru untuk saat ini yaitu PS3. Ini semua dilakukan agar para pecinta game dapat menikmati semua jenis game, baik itu dari dimulainya generasi awal terbentuknya sebuah game sampai ke generasi sekarang yang memiliki teknologi lebih canggih.

Dari kesemua daftar game generasi pertama, game Bomberman pasti sudah sering kita dengar. Game ini sanggup menyaingi “ketenaran” yang dimiliki oleh game generasi awal yang sangat terkenal pada masa itu yaitu Mario Bros. Game Bomberman juga memiliki karakteristik kecerdasan buatan yang hebat di masanya, acuan yang dipakai untuk menilai segi kecerdasan buatan di game ini ada pada karakter musuh yang diperankan oleh komputer. Pergerakan yang lincah serta dapat menghindari bom yang dipasang di tempat tertentu dengan sangat luwesnya, membuat kita sebagai pemain game menjadi merasa tertantang untuk mengalahkan karakter komputer tersebut.

Untuk saat ini, walaupun game dengan nama Bomberman sudah jarang kita temui, namun para developer game tidak menghancurkan konsep inti dari permainan tersebut, banyak game yang bermunculan hampir sama dengan konsep game Bomberman tetapi dengan nama yang berbeda contohnya adalah Pyromasters yang dibangun berbasis Flash dan ditujukan untuk pencinta game-game online berukuran mini yang dipasang di sebuah website.

Pyromasters adalah game berbasis Flash yang menerapkan konsep bermain seperti game Bomberman, namun dengan gaya yang berbeda. Karakter yang dipakai pun hampir mirip dengan karakter Bomberman yang digunakan pada game generasi awal. Pola permainan serta aturan bermain pun sama, yang membedakannya hanya pada penggambaran grafik, pilihan mode permainan, dan dimana konsol yang dipakai. Jika dahulu game Bomberman hanya dapat dimainkan pada konsol Nintendo, game Pyromasters yang berbasis Flash dapat dimainkan di komputer yang terhubung ke internet, karena memang kebutuhannya dipakai untuk game online.

Game ini dibuat oleh developer game dari mofunzone.com, anda dapat memainkannya melalui alamat ini :

Setelah ini kami akan menjabarkan mengenai aturan permainan, cara bermain, dan juga semua keterangan elemen-elemen pembangun serta pemanfaatan kecerdasan buatan yang ada di game ini.

Aturan Permainan
Secara sederhana game ini hanya memiliki satu aturan permainan, dia yang paling terakhir dapat bertahan maka dia yang akan menang. Game ini mengkondisikan kita sebagai pemain yang bertarung melawan pemain lainnya. Pemain yang kita lawan dapat kita pilih, entah itu kita melawan komputer, atau kita melawan orang lain dengan tombol yang telah ditentukan, dan game ini juga bisa kita kondisikan agar semua pemain yang bermain dan bertarung adalah komputer.

Jumlah karakter pemain yang bertarung di game ini adalah 2-4 pemain. Untuk mendapatkan kemenangan, masing-masing pemain harus saling menghancurkan dengan menggunakan bom, siapa yang paling terakhir bertahan, maka dia yang akan menang. Uniknya pada saat peperangan terjadi, ada beberapa dinding pembatas yang harus kita hancurkan agar kita bisa bertemu langsung dengan lawan yang berada di sisi lain, jika kita beruntung kita bisa menghancurkan dinding yang ada bonusnya. Bonus tersebut bisa saja menguntungkan, bisa juga merugikan.

Satu lagi hal yang penting pada saat semua pemain berperang di stage, yaitu adanya waktu berperang. Jika waktu berperang habis, maka semua dinding secara bertahap akan saling membentuk di dalam stage, sehingga lokasi peperangan lama-kelamaan akan tertutup oleh dinding, dan mengakibatkan semua pemain dapat terhimpit oleh dinding tersebut. Jika itu terjadi, maka pemain dinyatakan kalah, dan jika tidak ada satupun pemain yang selamat di stage, game akan berakhir dengan kondisi draw atau seri.

Cara Bermain 
Saat mulai menjalankan game ini, kita akan dihadapkan dengan 4 pilihan tombol.
1. Play More Games
Digunakan jika kita ingin memainkan game-game lain buatan mofunzone.com selain game Pyromasters. 
2. Play Game 
Digunakan jika kita ingin langsung memainkan game Pyromasters.
3. Options
Berisi pilihan untuk men-setting grafik, suara, dan musik pada game.
4. Instructions
Berisi instruksi-instruksi dan penjelasan singkat seputar elemen-elemen yang ada pada game Pyromasters, baik itu dari gameplay, kontrol, dan bonus.

Untuk memulai permainan kita dapat memilih tombol PlayGame. Setelah itu akan muncul layar yang memungkinkan kita untuk melakukan pengaturan game yang nantinya akan dimainkan. Pengaturan-pengaturan tersebut diantaranya :
1.       Level
Berguna untuk memilih stage atau lokasi peperangan yang akan dipakai.
2.       Victory
Ialah opsi yang kita dapat atur untuk memilih berapa kali kita harus menang dari lawan sehingga game ini dapat segera berakhir.
3.      Player (ada 4 opsi)
Kita bisa mengatur pemain-pemain yang akan bertarung pada game, entah itu kita semua yang akan bermain, kita melawan komputer, atau biarkan semua komputer yang akan bermain dan kita tinggal melihat hasilnya.
4.       Comp AI
Menunjukkan level kecerdasan buatan yang ada pada lawan ketika kita melawan komputer. Level ini terdiri dari easy (mudah), medium (sedang), dan hard (sulit).
5.       Tombol Back
Berguna untuk kembali ke menu utama game.
6.       Tombol Start
Memulai permainan.

Jika kita sudah melakukan pengaturan, kita dapat langsung bermain dengan menekan tombol Start. Setelah itu game akan dimulai, dan semua pemain akan bertarung sesuai dengan aturan yang telah kami jelaskan sebelumnya.

Penjelasan Elemen Game
Mari kita mulai membahas semua elemen yang ada pada game ketika permainan ini dijalankan.

1.       Stage
Ada 9 pilihan stage peperangan yang dapat dipilih, diantaranya Bricktown, Amazon, Magneto, Coral-Lagoon, Move-It, Pyrotopia, Fourway, Tundra, dan Junkyard. Masing-masing stage memiliki keunikan tersendiri yang membuat “aura” peperangan pada game akan semakin menarik. Berikut ini adalah salah satu screenshoot dari stage Pyrotopia.
2.       Karakter Game 
Karakter pada game ini ada 4, dimana kesemuanya dapat dimainkan oleh kita, maupun dimainkan oleh komputer. Masing-masing dari karakter tersebut memiliki kontrol yang berbeda-beda, berikut ini kami akan jabarkan karakter-karakter yang ada pada game Pyromasters beserta kontrol yang digunakan.
3.       Bom 
Elemen bom yang dipakai untuk masing-masing karakter dalam berperang memiliki ciri khas yang berbeda-beda. Berikut penjabarannya :
 4.       Bonus 
Berikut ini kami akan menjabarkan bonus-bonus yang ada di dinding tertentu pada stage, dan dapat dipakai untuk kebutuhan berperang .

Pemanfatan Kecerdasan Buatan
Seperti yang telah diterangkan sebelumnya, bahwa acuan kami untuk menilai pemanfaatan kecerdasan buatan pada game ini terletak pada pemain yang diperankan oleh komputer. Sesuai dengan level yang terbagi pada pengaturan Comp AI , yaitu easy, medium, dan hard, maka setiap kecerdasan buatan yang ditanamkan pada setiap level tersebut akan berbeda-beda cara penanganannya. Semakin tinggi level dari Comp AI (paling rendah level easy, dan paling tinggi level hard) maka semakin tinggi pula cara pemahaman, dan penalaran komputer untuk melakukan strategi perang pada game.

Hal ini dapat kita nilai dari kepintaran pergerakan dari komputer di setiap levelnya, di level easy komputer akan kurang berhati-hati dalam menerapkan strategi perang, baik itu dari sisi pemahaman meletakkan bom di tempat yang tepat, sampai pergerakan yang sebenarnya tidak perlu sehingga bisa mengakibatkan komputer terbunuh oleh bomnya sendiri.

Lain halnya jika komputer memiliki tingkat kecerdasan buatan lebih tinggi, semakin tinggi levelnya maka komputer akan menerapkan strategi perang yang dirasanya sempurna untuk mengalahkan lawan, dan juga melakukan pergerakan-pergerakan yang dapat menguntungkan dirinya, namun merugikan lawannya.

berikut video dari game Pyromasters:









___________________________________________________________________________________




Ada beberapa metode yang telah di usulkan, dan setiap metode mempunyai karekteristik berbeda-beda dengan keungulan dan kekurangannya masing-masing. Diantaranya adalah sebagai berikut :

a. Blind/Un-Informated Search

Disini digunakan istilah blid atau buta karena memang tidak ada informasi awal yang digunakan dalam proses pencarian. Ada enam metode dalam Blid :

    * BFS (Breadth-First Search), pencarian dilakukan pada semua simpul dalam setiap level secara berurutan dari kiri ke kanan.
    * DFS (Depth-First Search), pencarian dilakukan pada semua simpul dalam setiap level dari yang paling kiri.
    * DLS (Depth-Limeted Search), metode ini berusaha mengatasi kelemahan DFS dengan mematasi kedalam maksimum dari suatu jalur solusi.
    * UCS (Uniform-CostSearch), konsepnya hampir sama dengan BFS, bedanya adalah bahwa BFS menggunakan urutan level dari yang paling rendah sampai yang paling tinggi. Sedangkan UCS dari yang paling kecil sampai yang paling besar.
    * IDS (Interactif-Deepening Search), metode yang menggabungkan antara kelebihan BFS dan DFS, tetapikonsekuensinya adalah time complexcit-nya menjadi lebih tinngi.
    * BDS (Bi-Derectional Search), pencarian dari dua arah maju (dari strat ke goel) dan mundur ( dari goel ke strat ),maka telah ditemukan, yaitu degan cara menggabungkan kedua jalur yang bertemu.



    * Bangkitkan dan uji (Generate-and-Test)
   Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian heuristic. Jika pembangkitan possible solution dikerjakan secara sistematis, maka prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat luas, mungkin memerlukan waktu yang sangat lama.
Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus dibangkitkan secara lengkap sebelum dilakukan test. Algoritma ini berbentuk sistematis, pencarian sederhana yang mendalam dari ruang permasalahan. Generate & test juga dapat dilakukan dengan pembangkitan solusi secara acak, tetapi tidak ada jaminan solusinya akan ditemukan.

    * Pendakian Bukit (Hill Climbing)
Hill Climbing berbeda Generate-and-Test, yaitu pada feedback dari prosedur test untuk membantu pembangkit menentukan yang langsung dipindahkan dalam ruang pencarian. Dalam prosedur Generate & test , respon fungsi pengujian hanya ya atau tidak. Tapi jika pengujian ditambahkan dengan atauran fungsi-fungsi yang menyediakan estimasi dari bagaimana mendekati state yang diberikan ke state tujuan, prosedur pembangkit dapat mengeksplorasi ini sebagaimana ditunjukkan di bawah. HC sering digunakan jika terdapat fungsi heuristic yang baik untuk mengevaluasi state. Sebagai contoh, anda berada di sebuah kota yang tidak dikenal, tanpa peta dan anda ingin menuju ke pusat kota. Cara sederhana adalah gedung yang tinggi. Fungsi heuristics-nya adalah jarak antara lokasi sekarang dengan gedung yang tinggi dan state yang diperlukan adalah jarak yang terpendek.
    * Pencarian Terbaik Lebih Dulu
    * Greedy Best –First Search
   Merupakan metode yang membangkitkan suksesor dengan mempertimbangkan harga (didapat dari fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS maupun BFS
    * Modified Bi-directional A*
    * Dynamic Weighting A*
 * Constraint Satisfaction  
 * Alpha Beta Prunning.
 * Means-End-Anlysis.

c.       Fungsi Heuristik

    * Masalah Pencarian Rute Terpendek
    * Masalah 8-puzzle


Bangkitkan dan uji (Generate-and-Test)


Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian heuristic. Jika pembangkitan possible solution dikerjakan secara sistematis, maka prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat luas, mungkin memerlukan waktu yang sangat lama.
Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus dibangkitkan secara lengkap sebelum dilakukan test. Algoritma ini berbentuk sistematis, pencarian sederhana yang mendalam dari ruang permasalahan. Generate & test juga dapat dilakukan dengan pembangkitan solusi secara acak, tetapi tidak ada jaminan solusinya akan ditemukan.

Metode ini merupakan penggabungan antaradepth-first searchdengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan
awal.

Strategi bangkitkan dan uji (generate and test) merupakan pendekatan yang paling sederhana dari semua pendekatan yang akan dibicarakan.

· Pendekatan ini meliputi langkah–langkah
sebagai berikut :
  1. Buatlah/bangkitkan sebuah solusi yang memungkinkan. Untuk sebuah problema hal ini dapat berarti pembuatan sebuah titik khusus dalam ruang problema.
  2. Lakukan pengujian untuk melihat apakahsolusi yang dibuat benar–benar merupakan sebuah solusi, dengan cara membandingkan titik khusus tersebut dengan goal-nya (solusi).
  3. Jika telah diperoleh sebuah solusi, langkah–langkah tersebut dapat dihentikan. Jika belum, kembalilah ke langkah pertama.

· Jika pembangkitan atau pembuatan solusi– solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada).

· Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama.

· Metode generate and test ini kurang efisien untuk masalah yang besar atau kompleks.

Algoritma :

  1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal).
  2. Uji untuk melihat apakah node tersebut benar-benarmerupakan solusinya dengan cara membandingkannode terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
  3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.

Contoh : “Travelling Salesman Problem (TSP)”

Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :

Penyelesainan dengan Metode generate and test



Alur Pencarian dengan Metode generate and test



Sumber :
http://www.mofunzone.com/
http://www.mofunzone.com/online_games/pyromasters.shtml
http://en.wikipedia.org/wiki/Bomberman_%28series%29
http://blog.uin-malang.ac.id/muvid8/2010/10/08/tugas-2-ai-teknik-pencarian

Sumber Gambar :
http://ui11.gamespot.com/1290/bomberman1b_2.png
http://static.letsbuyit.com/filer/images/uk/products/original/101/17/bomberman-land-touch-2-ds-10117912.jpeg

Tidak ada komentar:

Posting Komentar