Teknik
Pembangunan Game AI
10.1.
Movement
Movement mengarah pada algoritma yang
mengubah keputusan menjadi sebuah gerakan. Movement adalah salah satu konsep
penanaman AI pada sebuah objek atau karakter untuk dapat melakukan sebuah
gerakan otomatis, dimana AI yang ditanamkan berupa sebuah algoritma movement.
Algoritma movement pada dasarnya memiliki bentuk dasar yang sama, yaitu
mengambil data geometris tentang keberadaannya dan dunia, kemudian menghasilkan
output berupa data geometris dari pergerakan yang akan dilakukan (Ian Millington,
2006).
Pergerakan atau movement sebuah karakter biasanya telah diatur
oleh developer game tersebut, dengan melakukan penanaman AI yang dapat
memperhitungkan rute yang tepat untuk mencapai tujuan. Rutenya harus masuk
akal, pendek dan cepat. Inilah yang disebut pathfinding atau pencarian jalur.
Algoritma yang biasa digunakan dalam metode pathfinding ini adalah Algoritma
A*.
M illingt on dan Funge (2009, p 8)
member ikan suatu model untuk menjelaskan AI dalam game. Dalam model t ersebut
, mereka membagi tugas AI menjadi movement, decision making, dan strategy. Dua
tugas pertama beker ja pada tiap – tiap karakter yang dikendalikan o leh AI, sedangkan tugas
yang terakhir bekerja pada sekelompok karakter yang merup akan satu grup .
Movement atau pergerakan mengubah pilihan yang diambil oleh
AI ke dalam gerakan. Contoh dasarnya dalam beberapa game ketika musuh ingin
menyerang pemain, dia pertama – tama harus mendekati pemain dan ketika sudah
cukup dekat akan menyerang 48 pemain. Seringkali pergerakan yang dilakukan
tidak sesederhana itu. Dalam banyak kasus, karakter musuh dihadapi pada
berbagai halangan seperti tembok atau sungai dan diharuskan melakukan pilihan
yang tepat untuk melewatinya.
Decision making atau
pengambilan keputusan meliputi menentukan apa yang akan dilakukan berikutnya
oleh karakter. Biasanya karakter memiliki beragam kegiatan yang dapat
dilakukan, seperti menyerang, melompat, diam, atau bersembunyi. Sistem pengambilan
keputusan menentukan tindakan apa yang paling tepat untuk dilakukan dalam suatu
waktu. Setelah keputusan didapat, tindakan tersebut kemudian akan dilakukan
menggunakan AI pergerakan, memainkan animasi, atau hanya men gubah suatu data
tanpa umpan balik visual.
Strategy atau strategi
adalah suatu pendekatan yang dilakukan oleh sekelompok karakter. Meskipun banyak
game yang dapat dibuat hanya dengan pergerakan dan pengambilan keputusan, namun
strategi dibutuhkan apabila ingin mengkoordinasi sekelompok karakter. AI
startegi tidak hanya mengontrol satu karakter, namun mempengaruhi tindakan
sekelompok karakter. Masing – masing karakter masih memiliki pergerakan dan pengambilan
keputusan sendiri, namun secara keseluruhan semua keputusan dan tindakan yang
diambil dipengaruhi oleh strategi kelompok.
10.2.
Pathfinding
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.
10.3.
Pengambilan Keputusan
Decision Making adalah serangkaian
algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang
bisa diambil oleh suatu aplikasi, Pada game ini decision makingmemberikan
kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil.
Decision making dilakukan dengan cara menentukan satu pilihan dari list yang
sudah dibuat pada algoritma yang dirancang. Decision Making dibagi menjadi 3,
yaitu :
1. Decision Tree
Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. 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
Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.
1. Decision Tree
Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. 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
Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.
3. Rule System
Rule Based System merupakan metode pengambilan keputusan 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 direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.
10.4.
Taktik dan strategi AI
Strategy
adalah Jenis game yang mengharuskan pemainnya menggunakan taktik dan strategi
untuk jeli dalam melihat setiap peluang, kelemahan musuh dan bijaksana dalam
menggunakan sumber daya yang ada untuk mengatur suatu unit atau pasukan untuk
menyerang markas musuh dalam rangka memenangkan permainan. biasanya di dalam
game Strategy, kita dituntut untuk mencari uang, emas, poin atau semua yang
berfungsi untuk untuk membiayai pasukan kita. Games Strategy dibagi 2 :
Real Time Strategy (RTS)
Pada game jenis ini, kita
dapat mengendalikan pasukan secara langsung, dari mencari sumber daya, hingga
menghancurkan musuh. Semua pertempuran ini dapat kita saksikan secara langsung.
Turn Based Strategy (TBS)
Game Jenis ini adalah
game yang di jalankan secara bergiliran, saat kita mengambil keputusan dan
menggerakan pasukan, saat itu pihak lawan harus menunggu, begitu pula
sebaliknya, layaknya catur.
10.5.
Pembelajaran
Artificial Intelligence (AI) atau Kecerdasan
Buatan Pada Game
Game AI adalah aplikasi
untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan,
ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak
ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam
hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang
bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan
sesama manusia. Contoh media interaksi ialah:
·
Penglihatan (vision)
·
Suara (voice), ucapan (speech)
·
Gerakan anggota badan (
gesture)
Dalam video game,
kecerdasan buatan digunakan untuk menghasilkan perilaku cerdas terutama dalam
karakter non-pemain (NPC), sering simulasi kecerdasan manusia-seperti. Teknik
yang digunakan biasanya memanfaatkan metode yang ada dari bidang kecerdasan
buatan (AI). Namun, permainan istilah AI sering digunakan untuk merujuk kepada
serangkaian luas algoritma yang juga mencakup teknik dari teori kontrol,
robotika, komputer grafis dan ilmu komputer pada umumnya.
Orang-orang mengeluh
bahwa "AI" dalam istilah "permainan AI" melebih-lebihkan
nilainya, karena permainan AI bukan tentang kecerdasan melainkan beberapa
tujuan dari bidang akademik AI. Sedangkan "nyata" AI membahas bidang
pembelajaran mesin, pengambilan keputusan berdasarkan input data
sewenang-wenang, dan bahkan tujuan akhir dari AI kuat yang dapat alasan,
"permainan AI" sering terdiri dari setengah lusin aturan praktis,
atau heuristik yang hanya cukup untuk memberikan pengalaman gameplay yang baik.
Secara historis, akademis proyek game-AI telah relatif terpisah dari produk
komersial karena pendekatan akademis cenderung sederhana dan non-scalable.
Commercial permainan AI telah mengembangkan menetapkan sendiri alat, yang sudah
cukup untuk memberikan kinerja yang baik dalam banyak kasus.
Meningkatnya kesadaran
pengembang game AI akademik dan minat yang tumbuh dalam permainan komputer oleh
masyarakat akademik yang menyebabkan definisi apa yang dianggap sebagai AI
dalam game menjadi kurang istimewa. Namun demikian, perbedaan yang signifikan
antara domain aplikasi yang berbeda dari AI berarti bahwa permainan AI masih
dapat dilihat sebagai subfield berbeda AI. Secara khusus, kemampuan untuk
secara sah memecahkan beberapa masalah AI di game oleh kecurangan menciptakan
perbedaan penting. Misalnya, menyimpulkan posisi obyek tak terlihat dari
pengamatan masa lalu bisa menjadi masalah sulit ketika AI diterapkan untuk
robotika, tetapi dalam permainan komputer NPC hanya dapat mencari posisi di
permainan adegan grafik. kecurangan tersebut dapat menyebabkan perilaku yang
tidak realistis dan tidak selalu diinginkan. Tapi kemungkinan yang berfungsi
untuk membedakan permainan AI dan menyebabkan masalah baru untuk memecahkan,
seperti kapan dan bagaimana menggunakan kecurangan.
Keterbatasan utama untuk
AI yang kuat adalah kedalaman melekat berpikir dan kompleksitas ekstrim dari
proses pengambilan keputusan. Ini berarti bahwa meskipun akan maka secara
teoritis mungkin untuk membuat "pintar" AI, pengambilan masalah akan mengambil
keputusan pemrosesan yang cukup rumit.
SUMBER:
Tidak ada komentar:
Posting Komentar