Review Alur Game FIFA 19, Decision Maker dan Path Finding
Kamis, 25 April 2019
Edit
FIFA 19 merupakan game simulasi sepak bola online yang dirilis September 2018 lalu, Diproduksi oleh EA Vancouver yang merupakan bagian dari seri FIFA tahunan dari Electronic Arts. FIFA 19 dapat dimainkan di PC Windows, PS4 dan Xbox. Dalam hal AI pada game ini mungkin bisa dibilang sangat rumit karena banyak sekali kondisi-kondisi yang digunakan, misalkan pada sebuah pertandingan offline dengan 1 player dimana ada 23 orang yang terdiri dari 22 pemain dan 1 wasit, sementara 1 player tersebut hanya bisa mengendalikan 1 pemain saja pada 1 waktu, itu artinya ada 22 program AI yang berbeda pada masing-masing orang pada 1 waktu yang bisa bergerak sesuai dengan alur program pada game tersebut, untuk bisa bergerak, melakukan pertahanan dan penyerangan, merebut bola, menendang bola dan sebaginya yang dilakukan dengan otomatis karena adanya kecerdasan buatan. Selain digunakan pada orang, AI juga digunakan pada kamera, peraturann pertandingan, penonton , audio stadion maupun audio komentator sehingga game tersebut bisa menjadi terlihat sangat realistis.
1. DECISION MAKER
1.1 DECISION MAKING GAME
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.
1.2 SITUASI DECISION MAKING
Decision making bisa terjadi apabila mengalami 3 situasi diantaranya :
1. Decision making under certainty. Missal : linear programming.
2. Decision making under risk (uncertainty). Misal : maximax, maximin, dll
3. Decision making in conflict. Dengan game theory.
1.3 TEORI PERMAINAN & KEPUTUSAN STRATEGIS
Teori permainan dan keputusan strategis terbagi ada 2 kelompok diantaranya :
1. Permainan Kooperatif (Binding contracts is possible). Contoh : penjual dan pembeli menegosiasi harga barang/jasa atau kerja sama 2 perusahaan (missal : Sony dan Erricson).
2. Permainan Noncooperative. Contoh : 2 pedagang HP bersaing dalam harga dan iklan untuk dapat pangsa pasar.
2.1 Pohon Keputusan
Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target.
2.2 State Machine
State machine merupakan penggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu obyek pada sistem sebagai akibat dari stimulans yang diterima.
State Machine Diagram Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object, transisi dari sebuah state ke state lainnya.
2.3 Fuzzy Logic
Fuzzy Logic adalah suatu cabang ilmu Artificial Intellegence, yaitu suatu pengetahuan yang membuat komputer dapat meniru kecerdasan manusia sehingga diharapkan komputer dapat melakukan hal-hal yang apabila dikerjakan manusia memerlukan kecerdasan.
Konsep Fuzzy Logic
· Fuzzy logic umumnya diterapkan pada masalahmasalah yang mengandung unsur ketidakpastian (uncertainty), ketidaktepatan (imprecise), noisy, dan sebagainya.
· Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa manusia yang menekankan pada makna atau arti (significance).
· Fuzzy logic dikembangkan berdasarkan cara berfikir manusia
2.4 Sistem Markov
Dasar analisis aplikasi markov chain terlebih dahulu pada bagian ini akan digambarkan secara ringkas konsep dasar markov chain (MC), mulai dari asumsi, definisi sampai pada beberapa theorema yang diperlukan. Kejadian tertentu dari suatu rangkaian eksperimen tergantung dari beberapa kemungkinan kejadian, maka rangkaian eksperimen tersebut disebut Proses Stokastik. Proses dikatakan terhingga (finite) apabila seluruh kemungkinan kejadian yang dapat terjadi terhingga. Terdapat banyak tipe Proses Stokastik dan dikelompokan berdasarkan sifat- sifat fungsi peluangnya (Mulyono, 2004).
2.5 Rule Based System
sistem berbasis aturan atau sistem berbasis pengetahuan adalah perangkat lunak khusus yang merangkum 'kecerdasan manusia' seperti pengetahuan ada dengan membuat decissions intelijen dengan cepat dan dalam bentuk berulang
PATH FINDING
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 yaitu:
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.
Mengejar dan Menghindar
1.1 DECISION MAKING GAME
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.
1.2 SITUASI DECISION MAKING
Decision making bisa terjadi apabila mengalami 3 situasi diantaranya :
1. Decision making under certainty. Missal : linear programming.
2. Decision making under risk (uncertainty). Misal : maximax, maximin, dll
3. Decision making in conflict. Dengan game theory.
1.3 TEORI PERMAINAN & KEPUTUSAN STRATEGIS
Teori permainan dan keputusan strategis terbagi ada 2 kelompok diantaranya :
1. Permainan Kooperatif (Binding contracts is possible). Contoh : penjual dan pembeli menegosiasi harga barang/jasa atau kerja sama 2 perusahaan (missal : Sony dan Erricson).
2. Permainan Noncooperative. Contoh : 2 pedagang HP bersaing dalam harga dan iklan untuk dapat pangsa pasar.
2.1 Pohon Keputusan
Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target.
2.2 State Machine
State machine merupakan penggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu obyek pada sistem sebagai akibat dari stimulans yang diterima.
State Machine Diagram Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object, transisi dari sebuah state ke state lainnya.
2.3 Fuzzy Logic
Fuzzy Logic adalah suatu cabang ilmu Artificial Intellegence, yaitu suatu pengetahuan yang membuat komputer dapat meniru kecerdasan manusia sehingga diharapkan komputer dapat melakukan hal-hal yang apabila dikerjakan manusia memerlukan kecerdasan.
Konsep Fuzzy Logic
· Fuzzy logic umumnya diterapkan pada masalahmasalah yang mengandung unsur ketidakpastian (uncertainty), ketidaktepatan (imprecise), noisy, dan sebagainya.
· Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa manusia yang menekankan pada makna atau arti (significance).
· Fuzzy logic dikembangkan berdasarkan cara berfikir manusia
2.4 Sistem Markov
Dasar analisis aplikasi markov chain terlebih dahulu pada bagian ini akan digambarkan secara ringkas konsep dasar markov chain (MC), mulai dari asumsi, definisi sampai pada beberapa theorema yang diperlukan. Kejadian tertentu dari suatu rangkaian eksperimen tergantung dari beberapa kemungkinan kejadian, maka rangkaian eksperimen tersebut disebut Proses Stokastik. Proses dikatakan terhingga (finite) apabila seluruh kemungkinan kejadian yang dapat terjadi terhingga. Terdapat banyak tipe Proses Stokastik dan dikelompokan berdasarkan sifat- sifat fungsi peluangnya (Mulyono, 2004).
2.5 Rule Based System
sistem berbasis aturan atau sistem berbasis pengetahuan adalah perangkat lunak khusus yang merangkum 'kecerdasan manusia' seperti pengetahuan ada dengan membuat decissions intelijen dengan cepat dan dalam bentuk berulang
PATH FINDING
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 yaitu:
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.
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.
Related Posts