Minggu, 02 April 2017

Metode Pada Game

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 :















Tidak ada komentar:

Posting Komentar