Rabu, 28 Maret 2018

Artificial Intelligence pada game

AI pada game

kali ini saya akan membahas mengenai AI(Artificial Intelligence) pada game. Namun, sebelum kita lanjutkan apakah ada yang tau pengertian dari AI sendiri? AI atau biasa disebut kecerdasan buatan merupakan kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer) sehingga dapat melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Contohnya jika kita bermain game lawannya yaitu komputer, dan kecerdasan pada komputer biasanya pada game ditentukan oleh level. Lawan kita itulah yang dinamakan AI, telah dirancang sedemikian rupa sehingga memiliki kemampuan yang berbeda-beda.

Penggunaan AI pada game sendiri terdapat 2 macam yang masing-masing memiliki karakteristik yang berbeda-beda diantaranya adalah seperti dibawah ini:

A. Decision Making



Decision Making merupakan serangkaian algoritma yang dirancang sedemikian rupa dengan cara memasukkan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi. Decision Making pada game memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Cara kerja dari Decision Making adalah dengan menentukan satu pilihan diantara banyak list yang telah dibuat pada algoritma yang dirancang. Decision Making sendiri terbagi menjadi 3 bagian yakni :

1. Decision Tree

Decision Tree atau biasa disebut pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang mempresentasikan aturam. Aturannya dapat dengan mudah dipahami dengan bahasa yang alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Selain itu, pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain (J R Quinlan, 1993).

2. State Machine

FSM(Finite State Machines) merupakan sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut:
• State(Keadaan)
• Event(Kejadian)
• Action(Aksi)
Pada suatu saat ketika periode waktu yang cukup signifikan, sistem akan berada pada salah state yang aktif. Kemudian sistem dapat beralih atau bertransisi menuju state yang lain jika mendapatkan suatu masukan atau event tertentu, baik yang berasal dari perangkat luar ataupun komponen dalam sistemnya itu sendiri. Transisi keadaan ini biasanya disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan. Aksi yang dilakukan dapat berupa aksi yang sederhana atau bisa melibatkan rangkaian proses yang relative kompleks.

3. Rule System

Rule Based System merupakan metode pengambilan keputusan yang berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut dipresentasikan oleh set aturan yaitu penyebab, proses dan hasil dari tindakan yang dilakukan.
RBS merupakan sistem yang baik jika menjawab pertanyan mengenai What(Apa), How(Bagaimana), dan Why(Mengapa) dari Rule Base(RB) selama proses inferensia. Jawaban serta penjelasannya dapat disediakan dengan baik.

B. Path Finding

Metode Path Finding seringkali dijumpai pada game yang bergenre strategi, dimana kita sebagai user menunjuk satu karakter untuk digerakkan ke lokasi tertentu dengan cara mengklik lokasi yang akan dituju. Maka, si karakter tersebut akan bergerak ke arah yang telah ditentukan, dan secara “cerdas” dapat menemukan jaur terpendek ataupun menghindari rintangan yang ada. Metode pada Path Finding terbagi menjadi 4 bagian yakni:

1. Waypoints

Merupakan titik acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi. Maksud dari keperluan navigasi disini adalah mengidentifikasi sebuah titik dipeta. Disetiap koordinat biasanya menyertakan longitude, latitude, dan terkadang altitude untuk keperluan navigasi di udara.

2. A* Searching

Algoritma A* merupakan yang sering digunakan pada game yang menggunakan metode pathfinding. Algoritma ini dipilih karena A* sangat mudah untuk diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A* kita dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi dengan cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa langkah yang dibuang dipastikan tidak mencapai solusi yang diinginkan.

Prinsip dari algoritma ini yaitu dengan cara mencari jalur terpendek dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan dengan memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost dari current state ke tujuan dengan fungsi heuristic, selain itu algoritma ini juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state ke current state. Jadi maksudnya jika jalan yang telah ditempuh terlalu panjang dan ada jalan lain yang cost nya lebih kecil tetapi memberikan posisi yang sama jika dilihat dari goal, maka jalan yang lebih pendeklah yang akan dipilih.

3. Dijkstra

Algoritma Dijkstra yang dinamai penemunya yakni seorang ilmuwan komputer, Edsger Dijkstra merupakan sebuah algoritma yang rakus atau biasa dikenal dengan algoritma greedy. Algoritma ini biasa dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernlai positif.

4. Tactical Pathfinding

Tactical Pathfinding merupakan algoritma pencarian jalur yang bisa melakukan pencarian jalur terpendek dengan menghitung bobot ancaman. Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player character. Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A* yang ditambah dengan perhitungan bobot.





Referensi:

https://ngelag.com/apa-itu-artificial-intelligence-atau-ai/

https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/

Tidak ada komentar:

Posting Komentar