top of page

Analisis Tujuan dan Algoritma Dari Sebuah Game

 

CHECKERS

 

Tujuan.

 

Permainan  checkers  (dalam  bahasa  Inggris  Amerika) atau disebut draughts (dalam bahasa Inggris British)   merupakan permainan yang menggunakan strategi abstrak dimainkan oleh dua pemain dengan menggunakan langkah diagonal token dan menangkap dengan melompati token musuh.

Permainan ini telah dimainkan di Eropa sejak abad ke-16,   dikembangkan   dari   permainan   alquerque. 

Bentuk yang  paling  populer  dari  pemainan  ini  adalah international    draughts,   yang   dimainkan   pada   papan 10x10.  Bentuk  yang  juga  populer  adalah  English draughts,   yang  disebut  American   checkers,   dimainkan pada papan 8x8.

 

ALGORITMA MINIMAX

 

Algoritma  Minimax  merupakan  algoritma  yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoitma ini diterpkan  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    tersbut   dapa   dijelaskan   sebagai suatu rangkaian aturan dan premis.

Algoritma   ini  mulai  dikembangkan   dari  teori  game zero-sum. Teori ini mendeskripsikan situasi dimana jika terdapat pemain yang mengalami pendapatan, pemain lain akan mengalami  kehilangan  dengan nilai yang sama dari pendapatan  tersebut,  dan  sebaliknya.  Jumlah  pendapatan dari  pemain  yang  dikurangi  dengan  jumlah  kehilangan akan berjumlah nol. Teori minimax menyatakan :

Untuk  setiap  dua  orang  pemain  dalam  zero-sum  game,

terdapat nilai V dari strategi yang dimiliki pemain seperti :

1.      Stratregi    yang    ditentukan    pemain    kedua    akan menghasilkan     konsekuensi     kemungkinan     untuk pemain pertama, V

2.      Strategi   yang   dutentukan    pemain   pertama   akan menghasilkan     konsekuensi     kemungkinan     untuk pemain pertama, -V

Secara  setara,  strategi  pemain  pertama  akan memastikan suatu nilai V tanpa memperdulikan strategi pemain kedua, dan bersamaan dengan itu pemain kedua akan memastikan dirinya kehilangan nilai sebesar –V.

Algoritma     Minimax     merupakan     algoritma     dasar pencarian   DFS  (Depth-First   Search)  untuk  melakukan

traversal dalam pohon. DFS akan mengekspansi simpul paling dalam terlebih daulu. Setelah simpul akar dibangkitkan,  algoritma  ini akan  membangkitkan  simpul pada tingkat kedua, yang akan dilanjutkan pada tingkat ketiga, dst. Dalam melakukan treversal, misalkan dimulai dari suatu  simpul  i, maka  simpul  selanjutnya  yang  akan dikunjungi adalah simpul tetangga j, yang bertetangga dengan   simpul   k,   selanjutnya   pencarian   dimulai   lagi secara   rekursif   dari   simpul   j.  Ketika   telah   mencapai simpul   m,   dimana   semua   simpul   yang   bertetangga dengannya  telah dikunjungi,  pencarian  akan dirunutbalik ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai  simpul j yang belum dikunjungi.  Selanjutnya pencarian  dimulai  kembali  dari  j.  Ketika  tidak  ada  lagi simpul  yang  belum  dikunjungi  yang  dapat  dicapai  dari simpul yang telah dikunjungi maka pencarian selesai.

Dalam repersentasi pohon dalam algoritma Minimax, terdapat  dua  jenis  node,  yaitu  node  min  dan  node  max. Max  node  akan  memilih  langkah  dengan  nilai  tertinggi dan   min   node   akan   memilih   langkah   dengan   nilai terendah.  Berikut  merupakan  gambar  pohon  untuk algoritma Minimax.

Dalam  algoritma   ini,  langkah  yang  dapat  dilakukan pemain  ditentukan  oleh  langkah  pemain  lawan sebelumnya. Sebagai contoh pada tabel berikut di berikan tabel nilai yang memberitahukan hasil dari pilihan.

 

Dam-daman

Tujuan

 

Permainan   dam-daman   merupakan  permainan   tradisional yang berasal dari Indonesia. Dikutip dari http://www.urangkampoeng.com [7] berikut ini adalah peraturan dan petunjuk dalam permainan dam-daman:

1.     Menggunakan  papan  permainan,  berikut  gambar  dari papan permainan dam-daman:

 

 

 

 

 

 

Gambar 1 Papan Permainan Dam-daman [7]

2.     Dalam  sebuah  papan  permainan  dam-daman,  terdapat titik-titik  yang  digunakan pijakan  pada  masing-masing bidak. Diantara tiap-tiap titik terdapat garis horisontal, vertikal dan diagonal yang dijadikan jalur langkah bagi bidak.

3.     Menggunakan bidak permainan. Pemain 1 dan 2 memiliki bidak yang berbeda dengan jumlah 16 bidak untuk masing-masing pemain.

4.     Cara  permaianannya  adalah  dengan  cara  mengerakan bidaknya secara bergantian seperti bermain Catur, ketika pemain A sudah mengerakan bidak maka giliran B, dan seterusnya.

5.     Bidak hanya bisa dijalankan dengan satu langkah dengan bergerak maju atau ke samping mengikuti jalur (garis) papan permainan. Bidak tidak bisa bergerak mundur.

6.     Bagi bidak yang bisa sampai pada kotak segitiga lawan pada baris terakhir, maka bidak itu menjadi bidak raja yang bebas berjalan (maju ataupun mundur), asalkan masih pada satu garis lurus.

7.     Cara mengambil atau memakan bidak lawan dengan cara melompati bidak lawan dengan hanya jarak satu titik, dan berpeluang melompati kemungkinan yang ada dalam satu lompatan.

 

 

 

 

 

 

 

 

 

 

 

 

 

Gambar 2 Cara permainan Dam-daman

8.     Terdapat  sebuah  aturan  dimana  sebuah  bidak  wajib memakan bidak lawannyaa jika ada peluang, seperti Gambar   diatas, jadi bidak merah harus menggerakkan bidak yang ditengah untuk memakan bidak biru   tidak bisa menggerakkan bidak lainnya.

9.    Pemain yang kalah adalah pemain yang bidaknya sudah habis.

 

Algoritma Backtracking

Teknik runut balik (backtracking) merupakan salah satu teknik dalam penyelesaian masalah secara umum (General

 

Problem Solving). Adapun dasar dari teknik ini adalah suatu teknik pencarian (Teknik   Searching). Teknik pencarian ini digunakan dalam rangka mendapatkan himpunan penyelesaian yang mungkin. Dari himpunan penyelesaian yang mungkin ini akan diperoleh solusi optimal atau memuaskan [8].

Runut balik (backtracking) adalah algoritma yang berbasis pada   Depth   First   Search   (DFS)   untuk   mencari   solusi persoalan   secara   lebih   mangkus.       Runut   balik,   yang merupakan perbaikan dari algoritma   brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Dengan metode runut balik, kita tidak perlu memeriksa semua kemungkinan solusi yang ada.  Hanya  pencarian  yang  mengarah ke  solusi  saja  yang selalu dipertimbangkan. Akibatnya, waktu pencarian dapat dihemat.   Saat ini algoritma runut   balik banyak diterapkan untuk program permainan seperti permainan   tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, crossword puzzle, sudoku dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence) [9].

        Dalam penerapan algoritma Backtracking ada beberapa properti yang perlu dipertimbangkan, yaitu properti solusi persoalan, properti komponen vektor solusi dan properti kriteria pembatas.    

 

Dokkaebi  Shooter

Tujuan

Game  Dokkaebi  Shooter”.  Dalam penelitian  ini,  peneliti  mencoba  membuat  game  dengan  dasar  hiburan  namun  juga  bertujuan sebagai sarana melatih ketangkasan dengan penerapan penerapan algoritma boids pada pergerakan musuhnya dan algoritma collision detection untuk deteksi tabrakan atau serangan musuh . Game ini merupakan tembakan secara vertikal dengan berfokus pada pengumpulan skor dan melawan musuh utama yaitu dokkaebi. Dokkaebi adalah hantu korea berwujud monster.

 

Algoritma :

 

Collision Detection

Algoritma collision detection adalah proses pengecekan apakah beberapa buah objek spasial saling bertumpuk atau tidak. Jika ternyata ada paling sedikit dua buah objek yang bertumpuk, maka kedua objek tersebut dikatakan saling bertumpukkan.  Pada ruang spasial dua dimensi.Objek  yang bertumpuk berarti objek spasialnya beririsan (Nugraha, 2013).

Penerapan  algoritma  collision  detection  pada  game  dokkaebi  shooter,  yang menggambarkan alur dari algoritma collision detection, kemudian pengimplementasiannya  ke dalam source code. Source  Code Implementasi  Algoritma  Collision  Detection  Antara Dokkaebi   dan   Panah   Player   dan   implementasinya    dalam   antarmuka . Implementasi Algoritma Collision Detection dalam Antarmuka Aplikasi

 

Boids

Algoritma boids adalah sebuah algoritma yang merepresentasikan gerak dari sebuah kawanan.Perilaku yang dihasilkan sangat mirip dengan kumpulan ikan atau kawanan burung (Saleh dkk., 2013). Tiap boids memiliki set dari atribut berikut: posisi     , kecepatan     , up-vector     , dan tiga steering forces (separation, cohesion, dan alignment).

 

 

GAME LABIRIN

 

Tujuan

 

Labirin 2D

Permainan  game  Labirin  adalah  suatu  jenis permainan  yang  terlihat sederhana  namun mempunyai banyak teka-teki logika untuk menyelesaikannya. Dimana tampilannya dua dimensi (panjang dan lebar), hanya dapat dilihat dari satu sudut perspektif. Aplikasi permainan labirin 2D ini bersifat single-user. Tingkatan atau level  bermain pada  game  labirin  2D  ini  terletak pada penelusuran rute perjalanan yang harus dilalui oleh seorang pemain dalam menemukan jalur mana yang  tepat.  Object  digerakkan  dengan menggunakan tombol pada keyboard dengan menekan tombol panah atas untuk menggerakan maju    ke depan, tombol panah bawah untuk menggerakan mundur ke belakang, tombol panah kiri  untuk  menggerakan  belok    ke  kiri,  tombol panah kanan untuk menggerakan belok ke kanan. Hal ini dilakukan sampai object menemukan jalan keluar dan akan naik ke level berikutnya.

 

 

 

 

 

 

 

 

 

 

 

 

 

Gambar 1 : Game Labirin 2D

 

 

Algoritma Backtracking

Runut-balik  (backtracking) adalah  algoritma

yang berbasis pada Depth First Search (DFS) untuk mencari solusi persoalan secara lebih cepat. Runut-

balik,  yang  merupakan  perbaikan  dari  algoritma

brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Dengan langkah ini tidak perlu memeriksa semua kemungkinan solusi yang ada. Akibatnya waktu pencarian dapat dihemat. Runut- balik lebih alami  dinyatakan dengan  algoritma rekursif. Kadang disebutkan pula bahwa runut-balik merupakan bentuk tipical dari algoritma rekursif. Runut-balik pertama kali diperkenalkan oleh D. H. Lehmer pada tahun 1950. R.J Walker, Golomb, dan Baumert menyajikan uraian umum tentang runut- balik dan penerapannya pada berbagai persoalan. Saat ini, algoritma runut-balik banyak diterapkan untuk  program  games  (permainan)  menemukan jalan keluar dalam sebuah game labirin, dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence).

 

2.3 Pencarian Solusi Algoritma Backtracking

Pencarian      solusi      dengan      menggunakan

algoritma backtracking maka menggunakan pohon ruang  status.  Langkah-langkah  pencarian  solusi

adalah sebagai berikut :

 

1.  Solusi dicari dengan membentuk lintasan dari akar ke daun. Simpul yang sudah dilahirkan dinamakan simpul hidup dan simpul hidup yang diperluas dinamakan simpul-E (Expand- node).

2. Jika lintasan yang diperoleh dari perluasan simpul-E tidak mengarah ke solusi, maka simpul itu akan menjadi simpul mati dimana simpul itu tidak akan diperluas lagi.

3.  Jika posisi terakhir ada di simpul mati, maka pencarian   dilakukan   dengan   membangkitkan

simpul anak  yang  lainnya dan  jika  tidak  ada simpul  anak  maka  dilakukan backtracking ke simpul orang tua.

4.  Pencarian  dihentikan  jika  telah  menemukan solusi atau tidak ada simpul hidup yang dapat di diperluas.

 

Battle FireTujuan

Tujuan


permainan battle fire merupakan permainan yang dilakukan oleh dua orang. untuk menuju tahap selanjutya maka pemain harus menang pada tahap pertama. Pada tahap pertama pemain saling menjatuhkan. Permainan ini menggunakan sejata sebagai alatnya.  Pemain akan kalah jika terkena tembakan oleh lawan.

 

Algoritma
Algoritma pada permainan ini terletak pada ketika musuh mampu membaca pergerakan player dengan menembakkan tembakan dengan tujuan untuk mengalahkan player. Disisi lain player harus menghindari tembakan dan menambah score setinggi mungkin. Taktik permainan diperlukan player agar bisa menghindari tembakan dan menembak musuh dengan tepat untuk mendapatkan hasil skor yang maksimal.

 

 

 

 

 

 

 

 

 

 

 

 

bottom of page