Sabtu, 13 Juni 2015

Pengantar Teknologi Game "Minion Intelligent"

Game Tic Tac Toe Minion Intelligent


Intial State

Game Minion Intelligent ini merupakan permainan tic – tac – toe 5x5 yang terdiri dari 25 petak kosong yang tersusun oleh 5 baris dan 5 kolom yang nantinya akan digunakan dalam permainan. Permainan ini menggunakan 2 karakter yaitu karakter Minion Kuning yang digunakan untuk user dan karakter Minion Ungu yang digunakan oleh ai/komputer.
Permainan ini dimainkan oleh 1 user, sedangkan ai/komputer bertindak sebagai lawan. Pada tampilan awal permainan ini, terdapat 3 menu yang diantaranya adalah menu Mulai untuk memulai permainan, menu Tentang Game yang berisi keterangan pembuat game dan program aplikasi yang digunakan untuk membuat game, dan menu Keluar untuk keluar dari window game. User akan melihat menu game dan bisa langsung memulai permainan dengan mengklik menu mulai yang ada di tampilan awal permainan ini. Setelah masuk ke menu mulai permainan ini, terdapat tampilan menu yang bertujuan untuk membantu user. Tampilan menu tersebut berisi New Game, About , Help, dan Exit. Pada game ini juga terdapat waktu untuk batas cepat dan lamanya user dalam menyelesaikan permainan.
Saya memilih game tic tac toe ini karena saya tertarik untuk mengasah logika dan menggunakan karakter Minion pada game ini karena saya sangat suka karakter kartun Minion yang lucu dan menggemaskan.


RULES

Berikut ini adalah aturan dalam permainan Minion Intelligent :
1.    Pada games ini papan terbentuk atas 5 kolom dan 5 baris (5×5).
2. User dilambangkan dengan karakter TIM Minion berwarna kuning dan AI/Komputer dilambangkan dengan TIM Minion berwarna ungu.
3.    User mempunyai hak untuk giliran pertama.
4.    Taruhlah objek anda pada kolom yang ada, setelah itu AI Computer yang mendapat giliran selanjutnya. AI Computer berusaha untuk menghalangi user membentuk garis horizontal, vertikal maupun diagonal dari tiga objek user. Begitupun sebaliknya, user juga akan menghalangi AI Computer membentuk garis horizontal, vertikal maupun diagonal dari tiga objek AI.
5.    Pemenangnya ditentukan berdasarkan pemain pertama yang dapat membuat lima  objek pemain masing-masing berhimpitan membentuk garis vertikal, horisontal atau diagonal.
6.    Apabila tidak ada pemain yang dapat membentuk garis vertikal, diagonal, atau horizontal dari lima objek pemain secara berhimpitan,  maka permainan berakhir seri (draw).

GOALS


Gambar diatas adalah tampilan ketika user menang dari ai pada permainan ini.




Gambar diatas adalah tampilan ketika user kalah dari ai pada permainan ini.



Gambar diatas adalah tampilan ketika user dan ai mengalami draw pada permainan ini.

Pada tampilan pertama, user dinyatakan telah menang, karena kesalahan langkah AI. Pada tampilan kedua, user dinyatakan kalah karena AI berhasil menyelesaikan deter terlebih dahulu. Sedangkan pada tampilan ke tiga, User dan AI sama-sama belum dapat menyelesaikan deret hingga kolom penuh.


KONSEP AI

Game Minion Intelligent ini adalah sebuah game yang berbasis AI (Artificial Intelliginece) atau kecerdasan buatan. Kecerdasan buatan dapat diterapkan atau dimplementasikan kedalam berbagai bentuk aplikasi. Bentuk implementasi yang paling mudah untuk diukur tingkat keberhasilan dan cukup digemari oleh sebagain besar publik yaitu pada games atau permainan. Game ini dibuat berfikir layaknya seorang manusia hingga dapat dikatakan cerdas.
Pada game ini, kita menggunakan algoritma minimax. Algoritma minimax itu sendiri merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoitma ini diterapkan dalam permainan yang melibatkan dua pemain seperti halnya Minion Intelligent ini. Aplikasi algoritma minimax pada games ini adalah komputer dapat menyerang user dimana komputer bisa berpikir kapan komputer menyerang user dan kapan komputer bertahan. Diharapkan akan hasil game yang interaktif dengan menerapkan algoritma minimax ini sebagai pondasi suatu kecerdasan buatan pada permainan.

Maksud dari menyerang user adalah komputer dapat memenangkan permainan ini atau dengan kata lain mencapai goal (tujuan). Kemudian maksud dari bertahan adalah berusaha menggagalkan kesempatan untuk menang yang diraih oleh user. Oleh sebab itu, langkah komputer(lawan) menyerang disebut juga maximizing player dan langkah computer (lawan) bertahan disebut juga minimizing player.
Algoritma minimax merupakan basis dari semua permainan berbasis Artificial Intelligence, dimana algoritma ini akan melakukan pengecekan pada seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut.


ALGORITMA YANG DI PAKAI

Penulisan program untuk game ini menggunakan bahasa pemrograman Strawberry Prolog dengan menggunakan prinsip Artificial Intelligence (kecerdasan buatan). Adanya kecerdasan buatan pada game ini yaitu dari komputer yang bertindak sebagai lawan bagi player yang  dapat memikirkan langkah-langkah yang tepat layaknya manusia yang berpikir. Adanya AI akan mempersulit userr dalam mencapai goal dan membuat permainan menjadi menarik. Untuk pergerakkan komputer inilah maka dibutuhkan sebuah algoritma yang baik.

Pada game ini digunakan Algoritma Minimax. Minimax merupakan algoritma AI yang sering digunakan untuk membuat AI jenis decision. Tugas dari minimax adalah memetakan seluruh kemungkinan permainan dimana masing-masing hasil akhir permainan punya nilai Heuristik. Tujuan dari minimax adalah memilih peluang terkecil agent kalah atau memilih peluang terbesar agar agent bisa menang. Algoritma Minimax akan membentuk sebuah fungsi untuk mengevaluasi tiap kemungkinan solusi dan memberikan nilai untuk langkah yang berpeluang memenangkan permainan. Kemungkinan terbesar untuk memenangkan permainan merupakan hasil dari penentuan langkah, dan langkah tersebut ditentukan oleh hasil evaluasi fungsinya.  

Minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuatlawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.

DAFTAR PUSTAKA

·         http://www.google.co.id/search?um=1&hl=id&q=rifastropic&bav=on.2,or.r_gc.r_pw.r_qf.&bpcl=37189454&biw=1366&bih=679&ie=UTF-8&sa=N&tab=iw&ei=Kn6YULyPEsWqrAfepIG4Ag
13

Glousarium

1.    Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
2.    Algoritma Minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur misalnya. AI permainan catur tentunya sudah sangat terkenal dimana AI tersebut bahkan dapat mengalahkan juara dunia sekalipun. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan.
3.    Artificial Intelligence adalah sesuatu buatan atau suatu tiruan yang cerdas. Cerdas di sini kemungkinan maksudnya adalah kepandaian atau ketajaman dalam berpikir, seperti halnya otak manusia dalam menyelesaikan suatu masalah.
4.    Strawberry Prolog adalah dialek dari Prolog bahasa pemrograman . Sintaksnya sangat dekat dengan ISO-Prolog tapi itu memiliki banyak ekstensi yang bukan bagian dari standar.

5.    Win_func():-                                      = membuat fungsi dengan nama win_func.
6.    Is bitmap_image()                             = mendeklarasikan variabel gambar (.bmp)
7.    window(_,_,win_func(_))                   = membuat jendela window
8.    message(_,_,!)                                  = membuat kotak pesan
9.    draw_bitmap(_,_,_)                           = mendeklarasikan gambar
10. write(_)                                             = mencetak
11. for(_,_,_)                                          = perulangan
12. beep()                                              = mendekrasikan suara                 
13. win_func(paint):-                              = fungsi menggambar diwindow
14. win_func(init) :-                                = fungsi proses diwindow
15. %                                                     = komentar
16. Close_window(_)                             = menutup window
17. mouse_click(X,Y)                             = proses klik pada mouse
18. win_func(press)                               = proses tekan pada mouse dan keyboard
19. font(_)                                              = bentuk huruf
210. text_out(_)                                     = mencetak huruf di window

211. color_text(_)                                  = warna huruf 

Tidak ada komentar:

Posting Komentar