Metode Pada Game
1. AI Pada Game
Di
dunia akademis, bidang kecerdasan buatan dipelajari secara serius untuk
meningkatkan kualitas hidup manusia. Para peneliti dan mahasiswa (ilmu komputer
atau teknik informatika) terus menerus mengembangkan teknik-teknik pada bidang
ini untuk menghasilkan mesin yang semakin mengerti, dan memahami kebutuhan
manusia. Dalam game berbasis kecerdasan buatan, ada banyak teknik yang
diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. beberapa
diantaranya, yaitu:
-
Mengejar
dan Menghindar
Mengejar
dan menghindar merupakan teknik dasar yang diterapkan pada banyak game berbasis
kecerdasan buatan dari yang sederhana sampai yang kompleks. apakah itu space
shooters, RPG, atau game strategi. metode paling umum pada teknik mengejar dan
menghindar ini adalah melakukan pemutakhiran (update) koordinat terhadap objek
yang menjadi sasaran. Posisi relatif dan kecepatan dapat dijadikan sebagai
parameter pada algoritma mengejar dan menghindar. Metode Line-of-sight yang
membutuhkan dasar rumus persamaan garis juga serngkali dijadikan basis metode
mengejear dan menghindar.
-
Pola
Pergerakan
Pola
pergerakan merupakan cara yang sederhana untuk memberikan ilusi kecerdasan pada
sebuah game. Game Galaga adalah contoh klasik penerapan pola pergerakan ini,
dimana pesawat musuh dapat bergerak secara melingkat atau mengikuti pola garis
lurus yang ditentukan. Contoh lain penerapan pola pergerakan adalah pada game
first-person shooter yang menampilkan monster yang sedang berpatroli pada jalur
tertentu, pada game simulasi pertempuran pesawat dimana pesawat musuh dapat
melakukan manuver-manuver di udara yang menyulitkan kita mengejar, atau
karakter-karakter non-player (figuran) seperti kambing yang sedang berjalan
membutuhkan teknik pola pergerakan ini. Metode standar untuk menerapkan pola
pergerakan adalah dengan cara menyimpan pola tersebut dalam suatu array. Array
tersebut terdiri dari serangkaian koordinat atau perintah pergerakan dengan
pola tertentu untuk mengontrol koordinat dari objek. Dengan metode ini, bisa
didapatkan pola-pola pergerakan seperti melingkar, garis lurus, zig-zag atau
bahkan kurva tak beraturan.
Jaringan
saraf tiruan (neural network)
Neural
network cukup baik ketika diterapkan pada kasus-kasus yang sifatnya non-linier
atau mengambil keputusan yang tidak dapat dilakukan dengan metode tradisional.
Penerapannya seringkali pada game-game yang memerlukan kemampuan adaptif atau
belajar dari pengalaman. Sebagai contoh, jika suatau ketika terjadi pertempuran
antar player dengan unit komputer, dan unit komputer mengalami kekalahan, maka
pada kesempatan lain yang serupa, komputer akan memilih untuk tidak bertempur.
Semakin banyak pengalaman yang dialami komputer, maka komputer menjadi semakin
cerdas. Prinsip dasar dari jaringan saraf tiruan ini adalah perbaikan bobot
secara terus menerus agar output yang dihasilkan menjadi semakin akurat
(semakin cerdas).
-
Algoritma
Genetis (genetic algorithm)
Algoritma
genetis sedikit banyak dipengaruhi oleh teori evolusi yang dicetuskan Darwin,
yaitu bahwa spesies akan terus menerus beradaptasi dengan lingkungannya dan
ciri khasnya yang terletak pada kromosom, akan diturunkan pada generasi
berikutnya. Generasi turunan ini menerima gabungan kromosom dari kedua
induknya, yang disebut dengan crossover. Pada algoritma genetis, akan
diterapkan langkah ranking fitness untuk melakukan seleksi terhadap langkah
ranking fitness untuk melakukan seleksi terhadap generasi turunan yang terbaik.
Pada game berbasis algorima genetis, turunan terbaik inilah yang dilibatkan ke
dalam game, dimana akan digunakan oleh komputer untuk merespons
perubahan-perubahan tingkah laku user.
sebenarnya
bukan hanya 5 teknik kecerdasan buatan di atas yang dapat digunakan dalam
sebuah game berbasis kecerdasan buatan. Beberapa teknik lain yang umum
digunakan antara lain: finite state machine, fuzzy logic, ruled-based AI,
basic probability, dan keputusan tak pasti (dengan menggunakan
teknik Bayesian) Di masa-masa mendatang, dengan dukungan teknologi hardware
yang semakin baik, teknik kecerdasan buatan pada game berbasis kecerdasan
buatan akan semakin matang dengan ilusi kecerdasan yang semakin menyerupai
manusia. sumber : majalah pc mild 20/2009
2. Decision Making
Pengertian decision making yaitu suatu pemecahan
masalah dan pengambilan keputusan. Decision making game merupakan suatu
pemecahan masalah dalam pembuatan permainan dan menentukan solusi dari suatu
masalah tersebut.
-
SITUASI DECISION MAKING
Decision Making bisa terjadi apabila mengalam 3
situasi diantaranya :
Decision making under certainty. Misal: Linear
Programming
Decision making under risk (uncertainty). Misal:
Maximax, maximin, dll.
Decision making in conflict. Dengan Game Theory
Sebelum pembuatan game diperlukan suatu perancangan
untuk menentukan game apa yang akan dibuat sesuai dengan keperluan masyarakat.
Permainan yang baik adalah permainan yang memiliki kegunaan dan dapat
mempengaruhi pemain menjadi lebih baik dan nyaman dengan game tersebut.
3.
Peraturan Sistem
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.
4. 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:
-
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.
-
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.
-
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.
-
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.
5. Way Point
Waypoint
adalah titik acuan / kumpulan koordinat yang digunakan untuk keperluan navigasi
untuk mengidentifikasi sebuah titik di peta. Koordinat-koordinat itu biasanya
menyertakan longitude, latitude, dan kadang altitude untuk keperluan navigasi
di udara. Waypoint digunakan di berbagai navigasi yang tidak memiliki jalur
yang tampak seperti navigasi di udara dan navigasi di laut, juga navigasi di
darat yang tidak memiliki jalur yang jelas.
Khusus
navigasi di darat yang tidak menggunakan manusia sebagai penentu arah melainkan
robot, waypoint digunakan meski terdapat jalur yang jelas. Hal ini penting agar
robot tetap memiliki rute. Waypoint dibagi menjadi dua jenis, yaitu waypoint
fly by dan waypoint fly over. Waypoint fly by tidak melewati lokasi di atas way
point namun tetap menuju ke arah tujuan, sedangkan waypoint fly over melewati
lokasi di atas way point.
Setelah
satu waypoint terlewati, maka pilot harus menetapkan waypoint berikutnya yang
disebut dengan waypoint aktif.
Sumber
:
-
https://laskyargiovane.wordpress.com/2016/04/25/artificial-intelligence-kecerdasan-buatan-pada-game/
Tidak ada komentar:
Posting Komentar