IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

6
SEMINAR TUGAS AKHIR PERIODE JANUARI 2010 1 Wijanarko Sukma P - 5105100173 IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING UNTUK UNIT BEHAVIOR PADA REAL-TIME STRATEGY GAME DENGAN MENGGUNAKAN FUZZY LOGIC Wijanarko Sukma Pamungkas, Ir. Suhadi Lili Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Email : [email protected] , [email protected] Abstrak - Untuk membuat pergerakan unit yang dinamis dalam suatu game ber-genre Real-time Strategy, dibutuhkan suatu AI dengan menggunakan Motion Path. Dalam tugas akhir ini, akan dibangun sebuah modul Motion Path serta AI pada suatu game ber-genre Real-time Strategy bernama SOYUS Wargame. Dalam modul AI menggunakan suatu algoritma Fuzzy Logic dalam pemrosesan hasil pengamatan oleh AI supaya membuat parameter AI menjadi lebih acak dan dapat berubah sewaktu- waktu. Dan selain itu juga menggunakan struktur Finite State Machine dalam pengambilan keputusannya. Dalam modul Motion Path menggunakan perhitungan matematis dan juga fisika untuk menentukan pergerakan dari unit. Dengan menggunakan steering behavior dalam perhitungan pergerakan yang matematis serta menggunakan prinsip fisika yang ada dalam perhitungan fisikanya. Dengan menggabungkan modul Motion Path dan AI, dapat membuat unit mengambil keputusan dalam melakukan pergerakan yang diinginkan sesuai dengan perhitungan dalam motion path. Sehingga unit dapat melakukan pergerakan yang dinamis. Kata kunci: Game physics, Artificial Intelligence, Finite State Macine, Fuzzy Logic, Motion Path, Steering Behavior 1 Pendahuluan Beberapa game menyugguhkan sebuah virtual reality, yang mana player dapat berinteraksi dengan objek-objek dalam dunia virtual dan menjalankan tantangan tanpa harus menghadapi resiko fisik. Interaksi merupakan elemen yang sangat penting di dalam sebuah game, untuk mendukung interaksi yang ada pada game dibutuhkan suatu Kecerdasan Buatan (Artificial Intelligence) di dalam game yang memungkinkan interaksi player dengan musuh (enemy) ataupun enemy dengan enemy. Inilah yang menyebabkan game komputer berbeda dari game konvensional yang ada. Game dapat dibedakan berdasarkan berbagai macam golongan, salah satunya adalah Real-Time Strategy Game. Real-Time Strategy Game atau dapat disingkat RTS adalah sebuah game yang mengharuskan pemain untuk mengatur pasukan- pasukan atau unit-unit, mengatur resource dan mengalahkan setiap lawan yang ada pada suatu virtual battlefield yang sering disebut map. Di dalam game Real-Time Strategy, salah satu aspek yang menjadi daya tarik suatu game RTS adalah kecerdasan buatan (Artificial Intelligence) dari unit, semakin pintar dan cerdas lawan yang dihadapi semakin menarik game tersebut. Real-Time Strategy Game pada saat ini telah banyak menggunakan AI yang adaptif terhadap lingkungan sekitar ataupun kondisi dari lawan yang dihadapi dengan menggunakan Autonomous Agent. Dengan adanya AI yang adaptif dan cerdas, unit dapat melakukan pencarian rute dan jalan menuju suatu lokasi serta mengatur efisiensi dan efektifitas dari keputusan yang akan dilakukan, dimana unit dapat mengambil keputusan yang sesuai dengan kondisi- kondisi yang ada, sehingga didapatkan hasil yang optimal untuk mengalahkan player ataupun unit-unit lawan lainnya. Dalam penyusunan strategi unit dengan mengimplementasikan AI yang mempengaruhi pergerakkan unit pada Real-Time Strategy War Game. AI unit dapat melakukan pencarian rute dan jalan berdasarkan keputusan yang diambil dari nilai objective function, serta mampu beradaptasi sesuai dengan keadaan dan kondisi geografis, informasi kekuatan lawan dan juga informasi kekuatan unit itu sendiri dalam penyusunan strateginya dengan menggunakan Autonomous Agent. 2 Game Artificial Intelligence Artificial Intelligence (AI) atau kecerdasan buatan merupakan suatu program komputer yang bertindak dan berpikir seperti manusia dan juga bertindak dan berpikir secara rasional pada saat yang bersamaan. Sedangkan Game Artificial Intelligence (Game AI) merupakan suatu kecerdasan buatan yang digunakan dalam game untuk membuat unit-unit yang ada pada game dapat mengambil keputusan yang cerdas ketika pada game tersedia banyak pilihan untuk situasi tersebut, dan menghasilkan perilaku yang relevan, efektif dan berguna. Sehingga membuat game tersebut menjadi lebih seimbang dan sesuai dengan gameplay yang dirancang. Game AI menggunakan teknik-teknik kecerdasan buatan namun dengan penerapan yang lebih sederhana dikarenakan keterbatasan komputasi dan kemampuan penyimpanan data pada game.

Transcript of IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

Page 1: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

1 Wijanarko Sukma P - 5105100173

IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING UNTUK UNIT BEHAVIOR PADA REAL-TIME STRATEGY GAME DENGAN

MENGGUNAKAN FUZZY LOGIC Wijanarko Sukma Pamungkas, Ir. Suhadi Lili

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Email : [email protected], [email protected]

Abstrak - Untuk membuat pergerakan unit yang dinamis dalam suatu game ber-genre Real-time Strategy, dibutuhkan suatu AI dengan menggunakan Motion Path. Dalam tugas akhir ini, akan dibangun sebuah modul Motion Path serta AI pada suatu game ber-genre Real-time Strategy bernama SOYUS Wargame.

Dalam modul AI menggunakan suatu algoritma Fuzzy Logic dalam pemrosesan hasil pengamatan oleh AI supaya membuat parameter AI menjadi lebih acak dan dapat berubah sewaktu-waktu. Dan selain itu juga menggunakan struktur Finite State Machine dalam pengambilan keputusannya.

Dalam modul Motion Path menggunakan perhitungan matematis dan juga fisika untuk menentukan pergerakan dari unit. Dengan menggunakan steering behavior dalam perhitungan pergerakan yang matematis serta menggunakan prinsip fisika yang ada dalam perhitungan fisikanya.

Dengan menggabungkan modul Motion Path dan AI, dapat membuat unit mengambil keputusan dalam melakukan pergerakan yang diinginkan sesuai dengan perhitungan dalam motion path. Sehingga unit dapat melakukan pergerakan yang dinamis.

Kata kunci: Game physics, Artificial Intelligence, Finite State Macine, Fuzzy Logic, Motion Path, Steering Behavior

1 Pendahuluan

Beberapa game menyugguhkan sebuah virtual reality, yang mana player dapat berinteraksi dengan objek-objek dalam dunia virtual dan menjalankan tantangan tanpa harus menghadapi resiko fisik. Interaksi merupakan elemen yang sangat penting di dalam sebuah game, untuk mendukung interaksi yang ada pada game dibutuhkan suatu Kecerdasan Buatan (Artificial Intelligence) di dalam game yang memungkinkan interaksi player dengan musuh (enemy) ataupun enemy dengan enemy. Inilah yang menyebabkan game komputer berbeda dari game konvensional yang ada.

Game dapat dibedakan berdasarkan berbagai macam golongan, salah satunya adalah Real-Time Strategy Game. Real-Time Strategy Game atau dapat disingkat RTS adalah sebuah game yang mengharuskan pemain untuk mengatur pasukan-

pasukan atau unit-unit, mengatur resource dan mengalahkan setiap lawan yang ada pada suatu virtual battlefield yang sering disebut map. Di dalam game Real-Time Strategy, salah satu aspek yang menjadi daya tarik suatu game RTS adalah kecerdasan buatan (Artificial Intelligence) dari unit, semakin pintar dan cerdas lawan yang dihadapi semakin menarik game tersebut.

Real-Time Strategy Game pada saat ini telah banyak menggunakan AI yang adaptif terhadap lingkungan sekitar ataupun kondisi dari lawan yang dihadapi dengan menggunakan Autonomous Agent. Dengan adanya AI yang adaptif dan cerdas, unit dapat melakukan pencarian rute dan jalan menuju suatu lokasi serta mengatur efisiensi dan efektifitas dari keputusan yang akan dilakukan, dimana unit dapat mengambil keputusan yang sesuai dengan kondisi-kondisi yang ada, sehingga didapatkan hasil yang optimal untuk mengalahkan player ataupun unit-unit lawan lainnya.

Dalam penyusunan strategi unit dengan mengimplementasikan AI yang mempengaruhi pergerakkan unit pada Real-Time Strategy War Game. AI unit dapat melakukan pencarian rute dan jalan berdasarkan keputusan yang diambil dari nilai objective function, serta mampu beradaptasi sesuai dengan keadaan dan kondisi geografis, informasi kekuatan lawan dan juga informasi kekuatan unit itu sendiri dalam penyusunan strateginya dengan menggunakan Autonomous Agent.

2 Game Artificial Intelligence

Artificial Intelligence (AI) atau kecerdasan buatan merupakan suatu program komputer yang bertindak dan berpikir seperti manusia dan juga bertindak dan berpikir secara rasional pada saat yang bersamaan.

Sedangkan Game Artificial Intelligence (Game AI) merupakan suatu kecerdasan buatan yang digunakan dalam game untuk membuat unit-unit yang ada pada game dapat mengambil keputusan yang cerdas ketika pada game tersedia banyak pilihan untuk situasi tersebut, dan menghasilkan perilaku yang relevan, efektif dan berguna. Sehingga membuat game tersebut menjadi lebih seimbang dan sesuai dengan gameplay yang dirancang. Game AI menggunakan teknik-teknik kecerdasan buatan namun dengan penerapan yang lebih sederhana dikarenakan keterbatasan komputasi dan kemampuan penyimpanan data pada game.

Page 2: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

2 Wijanarko Sukma P - 5105100173

2.1 Finite State Machine Finite State Machine (FSM) adalah salah satu

model AI yang paling mendasar dan paling sederhana. FSM adalah sebuah struktur data yang terdiri dari tiga hal yaitu : semua state-state yang ada dan digunakan dalam state machine, beberapa masukan berupa kondisi-kondisi sekitar, dan sebuah fungsi transisi yang digunakan untuk menghubungkan state-state satu sama lain sehingga dapat membuat suatu perilaku yang spesifik untuk sebuah agen. Dengan memberikan logika transisi di setiap state, sehingga state machine akan menyimpan setiap state-state yang ada dan menentukan apakah transisi berjalan sesuai urutan.

2.2 Fuzzy Logic Fuzzy Logic adalah suatu bentuk logika berasal

dari teori himpunan fuzzy yang digunakan untuk bersifat penalaran daripada bersifat eksak. Berbeda dengan “crisp logic”, yang mana himpunan biner mempunyai logika biner antara 0 atau 1, sedangkan logika fuzzy dapat mempunyai nilai keanggotaan tidak hanya 0 atau 1 tetapi berdasarkan tingkat keanggotaan (Degree of Membership) yang dapat berkisar antara 0 sampai 1 dan dengan menggunakan operasi logika.

Dengan adanya Fuzzy set variabel linguistik yang menggambarkan ciri dari crisp input yang ada. Dan derajat keanggotaannya akan bernilai antara 0 sampai 1 bergantung dari fungsi keanggotaan dari himpunan fuzzy. Sehingga di dalam Variabel Fuzzy dapat terdiri dari beberapa variabel linguistik. Di dalam logika fuzzy terdapat empat proses penting, yaitu : Fuzzifikasi : definisi dari himpunan fuzzy dan

penentuan derajat keanggotaan dari crisp input pada sebuah himpunan fuzzy.

Inferensi : evaluasi kaidah/aturan/rule fuzzy untuk menghasilkan output dari tiap rule.

Komposisi : agregasi atau kombinasi dari keluaran semua rule.

Defuzzifikasi : perhitungan hasil kombinasi dari output setiap rule yang menghasilkan suatu crisp output.

3 Steering Behavior

Steering Behavior, merupakan suatu kumpulan perilaku dari suatu unit untuk menghasilkan suatu steering force yang akan mempengaruhi gerakan dan arah unit tersebut. Dalam suatu Steering Behavior dibutuhkan suatu vehicle model dan juga titik koordinat yang akan dituju serta arah atau heading saat itu. Dengan itu bisa didapatkan arah yang baru untuk vehicle tersebut.

Suatu agen yang bergerak otomatis terdiri dari tiga bagian penting, antara lain :

Gambar 3.1 Skema Perilaku Motion Path

3.1 Seek dan Flee Seek merupakan sebuah aksi dari vehicle untuk

bergerak menuju posisi tertentu yang telah ditetapkan. Sedangkan Flee merupakan sebuah aksi dari vehicle untuk bergerak menjauhi posisi yang telah ditetapkan. Dua perilaku ini merupakan perilaku paling dasar dari sebuah steering behavior.

3.2 Pursuit dan Evade Pursuit merupakan pengembangan dari seek,

namun posisi yang dituju merupakan titik koordinat hasil prediksi dimana vehicle dan target akan bertemu di waktu yang akan datang.

Sedangkan Evade merupakan pengembangan dari flee, namun vehicle bergerak menjauhi titik koordinat hasil prediksi seperti pada pursuit.

3.3 Avoidance Avoidance merupakan salah satu perilaku dari

vehicle yang membuat agar tiap vehicle yang ada dan bergerak tidak teratur supaya bisa saling menghindar dan tidak saling bertabrakan. Bayangkan jika seseorang berjalan di suatu jalan yang penuh dengan orang lain yang juga berjalan di daerah tersebut. Penghindaran tabrakan juga mencakup memprediksi posisi dan waktu potensial tabrakan akan terjadi dan merubah arah gerak dan kecepatan berjalan supaya dapat menghindari tabrakan.

4 Motion Path

4.1 Gaya dalam Penerbangan Terdapat empat gaya yang mempengaruhi

pesawat dalam melakukan penerbangan, yaitu Thrust, Lift, Drag, dan Weight.

Gambar 4.1 Gaya yang Berpengaruh pada suatu

Penerbangan

Page 3: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

3 Wijanarko Sukma P - 5105100173

5 Sistem SOYUS Wargame

Sistem SOYUS Wargame merupakan aplikasi untuk pelatihan dan simulasi perang pada Sekolah Staf dan Komando Angkatan Udara (SESKOAU) yang masif, melibatkan banyak user dan tim, dan sesuai dengan Standard Operation Procedure (SOP) wargaming system militer. Dengan sistem ini, seorang perwira siswa (pasis) dapat membuat Rencana Operasi (RO) dan mengujinya dengan tim pasis yang lain melalui sebuah simulasi perang.

Sistem ini didesain mendekati aturan perang seperti pada kondisi sesungguhnya dengan menggunakan data-data posisi dan kontur bumi yang sesungguhnya. Setiap tim terdiri atas personel seperti layaknya pada latihan perang di alam terbuka.

Setiap unit memiliki spesifikasi dan karakteristik yang berbeda satu sama lain serta dapat membawa senjata-senjata yang berbeda. Sehingga pengguna diharuskan membuat rencana yang taktis dan efektif dalam setiap Rencana Operasinya. SOYUS memiliki kemampuan sebagai berikut :

1. Membantu proses perencanaan skenario Olah Yudha.

2. Membantu proses perencanaan, penggelaran, dan pelaksaan operasi udara.

3. Memungkinkan kolaborasi antar Pelaku dan Pelaku-Wasdal dengan simulasi radiogram.

4. Visualisasi dinamika dalam bentuk animasi pergerakan unsur-unsur yang digunakan dalam operasi udara.

5. Kemampuan evaluasi dan penilaian setiap langkah perencanaan, penggelaran, dan pelaksanaan operasi

5.1 Arsitektur SOYUS Wargame SOYUS Wargame merupakan suatu aplikasi

game client-server yang berbasiskan Real-Time Strategy dan dengan menggunakan Server Database untuk menggambil data-data master dan juga data lain yang dibutuhkan SOYUS Server.

SOYUS Client berkomunikasi dengan SOYUS Server dengan melalui metode remoting melalui TCP. Sedangkan SOYUS Server berkomunikasi dengan SOYUS Client dengan cara multicasting. Sehingga koneksi bisa menjadi connectionless. Pada SOYUS Server tersimpan semua data-data yang dibutuhkan pada simulasi di SOYUS Client serta skenario-skenario tempat yang disediakan dan semua updates game dan perhitungan logika dilakukan di server.

Gambar 5.1 Arsitektur Sistem SOYUS Wargame

6 Desain dan Implementasi

Perancangan perangkat lunak modul Motion Path dan AI pada sistem SOYUS dibagi menjadi beberapa bagian, yaitu meliputi perancangan sistem AI dan perancangan sistem Motion Path.

Sistem AI merupakan sistem kecerdasan buatan untuk perilaku unit yang ada pada sistem SOYUS Wargame. Dalam sistem AI terdiri dari parameter AI dari hasil algoritma Fuzzy Logic dan mesin AI tersebut dengan menggunakan Finite State Machine (FSM).

Sistem Motion Path merupakan sistem pergerakan unit pada sistem SOYUS Wargame dengan menggunakan perhitungan dan prinsip matematis dan fisika yang sesuai pada unit.

Gambar 6.1 Ruang Lingkup AI pada SOYUS Wargame

Page 4: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

4 Wijanarko Sukma P - 5105100173

Ruang lingkup dari AI pada SOYUS Wargame adalah menentukan pergerakan unit atau motion path. Simulasi yang akan akan digunakan pada modul Motion Path dan AI adalah simulasi misi dan unit. Simulasi misi dan unit merupakan simulasi yang mengeksekusi misi serta perintah-perintah dan menggerakkan unit-unit dalam melakukan misi berdasarkan perintah-perintah yang telah ditetapkan. Sehingga unit-unit hanya bergerak mengikuti perintah-perintah yang telah ditetapkan sebelumnya.

Gambar 6.2 Block Diagram Cara Kerja Modul Motion

Path dan AI pada SOYUS

Sehingga alur proses yang terdapat pada sistem SOYUS dengan menerapkan modul Motion Path dan AI seperti pada block diagram pada gambar 3-7.

Modul AI yang merupakan modul untuk kecerdasan buatan pada unit-unit terdiri dari tiga bagian, antara lain : FLUtE yang bertugas memproses hasil pengamatan dari AI, Behavior yang bertugas menentukan perilaku dari unit-unit dalam mengambil keputusan, dan Finite State Machine (FSM) yang bertugas menentukan state-state yang harus dilakukan AI.

Pada modul AI juga membutuhkan input antara lain : priority atau tingkat prioritas dari perintah-perintah yang ada, loadout yang merupakan persenjataan yang dibawa pada saat menjalankan misi, serta unit-unit yang disimulasikan pada SOYUS, semua didapat dari proses pada modul Simulasi, dan juga input berupa posisi dimana unit itu berada dan juga bahan bakar (fuel) yang masih tersedia pada unit. Selain itu pada modul AI juga menghasilkan output sebagai berikut : destination yang merupakan titik koordinat tujuan pada suatu unit, kecepatan yang ingin dicapai (prefered speed) serta ketinggian yang ingin dicapai (prefered altitude).

Sedangkan modul Motion Path adalah modul untuk pergerakan unit-unit dengan menerapkan

prinsip fisika dan juga matematika yang sesuai. Modul ini terdiri dari dua bagian, antara lain : perhitungan fisika (physics calculator) yang digunakan untuk menghitung gaya-gaya fisika yang ada pada saat melakukan pergerakan, serta perhitungan pergerakan dari unit (steering calculator) yang melakukan perhitungan vektor matematika yang akan menghasilkan arah, kecepatan dan gerakan dari unit.

Pada proses modul Motion Path mengugnakan output yang dihasilkan dari modul AI (destination, prefered speed, dan prefered altitude) yang digunakan sebagai inputan dan selain itu juga membutuhkan input lain yaitu wing span atau panjang dari sayap pesawat, berat atau weight dari pesawat, kecepatan maksimum pesawat serta perbandingan aspect ratio dari sayap pesawat dan semuanya merupakan data-data dari pesawat yang didapat dari proses manajemen data dari SOYUS. Pada modul Motion Path menghasilkan output berupa posisi terbaru dari unit pada koordinat pada bumi sesuai dengan perhitungan pergerakan dan juga bahan bakar yang tersisa setelah bergerak menuju posisi tersebut. Output dari modul Motion Path akan menjadi feedback yang akan digunakan kembali untuk modul AI pada langkah berikutnya.

Sehingga simulasi misi dan unit akan mengalami perubahan dan penyesuaian pada class-class yang terlibat dan terjadi penambahan class dari modul Motion Path dan juga AI.

6.1 Desain dan Implementasi AI Sistem Kecerdassan Buatan atau Artificial

Intelligence yang ditambahkan pada SOYUS bertujuan agar unit dapat bertindak lebih dinamis dan fleksibel dalam menanggapi perubahan yang ada di lingkungannya. Dengan menggunakan Fuzzy Logic untuk membuat parameter AI yang tidak eksak sehingga dapat menghasilkan keputusan yang berubah-ubah dan juga menggunakan Finite State Machine atau FSM dalam penggambilan keputusannya.

Agen dari AI pada SOYUS adalah unit itu sendiri, sehingga agen mengamati keadaan lingkungan di sekitar unit dan juga keadaan dari unit tersebut. Parameter AI yang mempengaruhi pengambilan keputusan dibagi menjadi dua bagian, yaitu pengamatan agen terhadap keadaan unit tersebut yang digambarkan dengan morale dan pengamatan agen terhadap keadaan lingkungannya yang digambarkan dengan priority.

Hasil pengamatan agen akan diproses dengan menggunakan Fuzzy Logic sehingga menghasilkan parameter AI yang dinamis. Dan parameter AI tersebut akan mempengaruhi dalam penentuan state yang digunakan pada FSM. State-state yang ada terbagi menjadi dua golongan, yaitu Command State dan Flexible State. Command State adalah state-state yang berisi perintah yang harus dilakukan unit dalam misinya, sedangkan flexible state adalah state-state

Page 5: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

5 Wijanarko Sukma P - 5105100173

yang bersifat fleksibel dan merupakan state yang dapat dilakukan oleh unit bergantung pada keputusan dari agen tersebut.

6.2 Desain dan Implementasi Steering Behavior Steering behavior digunakan dalam pencarian

titik yang dituju oleh unit dan arah dari unit tersebut. Terdapat lima jenis steering behavior yan digunakan dalam modul Motion Path yaitu seek, flee, pursuit, dan evade.

Gambar 6.3 Pergerakan Steering Behavior

Perhitungan Seek Pencarian titik dengan perhitungan seek yang

merupakan algoritma pergerakan biasa. Dengan titik tujuan yang telah diketahui dapat dicari arah dari unit tersebut. Tentukan titik tujuan Cari vektor arah yang dituju Tambahkan dengan vektor arah dari unit Normalkan vektor total tersebut

Perhitungan Flee Pencarian titik dengan perhitungan flee

merupakan kebalikan dari algoritma seek. Sehingga mendapatkan arah unit yang menjauhi titik tujuan. Tentukan titik tujuan Cari vektor arah berkebalikan dari titik yang dituju Tambahkan dengan vektor arah dari unit Normalkan vektor total tersebut

Perhitungan Pursuit Pencarian titik dengan perhitungan pursuit

menggunakan algoritma yang lebih kompleks dengan perhitungan matematika vektor. Sehingga untuk mencari titik yang dituju menggunakan beberapa variabel dari unit lain yang diamati. Ambil vektor velocity dari unit yang diamati Hitung jarak dengan unit yang diamati Hitung kecepatan relatif dengan unit yang diamati Bagi jarak tersebut dengan kecepatan relatif untuk mendapatkan waktu (delta time) pertemuan Hitung titik pertemuan dengan menghitung pergerakan unit dalam waktu pertemuan yang didapat sebelumnya Tentukan titik pertemuan sebagai titik tujuan Lakukan algoritma seek

Perhitungan Evade Pencarian titik dengan perhitungan evade

merupakan gabungan dari algoritma pursuit dan flee. Sehingga akan menjauhi titik tujuan yang dicari pada algoritma pursuit. Ambil vektor velocity dari unit yang diamati Hitung jarak dengan unit yang diamati Hitung kecepatan relatif dengan unit yang

diamati Bagi jarak tersebut dengan kecepatan relatif untuk mendapatkan waktu (delta time) pertemuan Hitung titik pertemuan dengan menghitung pergerakan unit dalam waktu pertemuan yang didapat sebelumnya Tentukan titik pertemuan sebagai titik tujuan Lakukan algoritma flee

6.3 Desain dan Implementasi Motion Path Modul Motion Path pada SOYUS digunakan

untuk perhitungan pergerakan serta perhitungan fisika dalam pergerakan unit tersebut. Dalam Motion Path terdapat beberapa variabel yang dibutuhkan dalam perhitungannya antara lain titik yang dituju, kecepatan serta ketinggian yang ingin dicapai, ketinggian saat ini, kecepatan saat ini, serta spesifikasi dari unit tersebut.

Dalam modul Motion Path, steering behavior ditangani oleh class NavigationSystem yang disesuaikan berdasarkan jenis unitnya dan diturunkan pada class-class yang sesuai jenis unitnya seperti class AirNavigation. Class AirNavigation menghitung pergerakan dan perhitungan fisika yang lebih spesifik untuk unit jenis pesawat terbang.

Setelah mendapatkan kondisi pergerakan dilakukan perhitungan total gaya untuk mendapatkan akselerasi vertikal dan horizontal dari unit dan kemudian akselerasi digunakan dalam perhitungan kecepatan. Proses perhitungan total force dan kecepatan di dalam class NavigationSystem ditangani pada method CalculateSpeed.

Dari gaya-gaya yang ada pada penerbangan, dengan menerapkan prinsip newtonian dapat diambil total gaya yang ada. Terdapat dua total gaya pada penerbangan, yaitu total gaya horizontal (∑Fx) dan total gaya vertikal (∑Fz). gaya horizontal merupakan gaya yang dipengaruhi oleh dengan rumus seperti di bawah ini

WLDTz

LDTx

FFFFF

FFFF

cossinsin

sincoscos

Gambar 6.4 Penerapan Prinsip Newtonian

Setelah mendapatkan kecepatan unit,

NavigationSystem akan melakukan perhitungan

Page 6: IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING …

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

6 Wijanarko Sukma P - 5105100173

pergerakan untuk mencari arah yang harus dituju unit. Setelah mendapatkan arah akan dilakukan pengecekan terhadap sensor unit-unit musuh yang ada. Jika terdeteksi maka akan melakukan penghindaran dari sensor dengan memanggil method SensorsAvoidance. Kemudian dilakukan navigasi untuk menghitung vektor lateral velocity dan menggerakkan unit menuju titik tujuan.

7 Uji Coba

Pertama-tama akan dibahas tentang uji coba Motion Path dan AI pada SOYUS. Kemudian dibahas tentang uji coba simulasi perhitungan fisika yang digunakan pada SOYUS.

7.1 Uji Coba Modul Motion Path dan AI Pada bagian ini akan dibahas mengenai hasil uji

coba yang dilakukan terhadap penggunaan modul Motion Path dan AI pada SOYUS Wargame. Di dalamnya terdapat uji coba simulasi misi, pengambilan keputusan AI terhadap behavior dari unit, dan pergerakan motion path dari unit tersebut.

Gambar 7.1 Uji Coba Motion Path dan AI

7.2 Uji Coba Simulasi Perhitungan Fisika Pada simulasi perhitungan fisika, hanya

dilakukan perhitungan dalam pergerakan unit dalam prinsip fisika dan aerodinamika. Simulasi ini menggunakan spesifikasi unit yang sama seperti pada SOYUS Wargame.

Pada simulasi ini dibuat empat spesifikasi unit yang berbeda, sehingga dapat dilihat perbedaan perhitungan fisika yang ada. Pada simulasi ini ditunjukkan juga perhitungan fisika yang terjadi pada SOYUS Wargame.

Gambar 7.2 Uji Coba Simulasi Perhitungan Fisika

8 Simpulan

Dari hasil pengamatan selama perancangan, implementasi dan proses uji coba sistem yang dilakukan, dapat diambil kesimpulan sebagai berikut: Fuzzy Logic dapat digunakan untuk

mendapatkan parameter AI yang lebih dinamis dan dapat berubah sewaktu-waktu. Dan dapat digabungkan dengan algoritma pengambilan keputusan AI seperti Finite State Machine, dll.

Steering behavior merupakan pergerakan yang dapat digunakan untuk autonomous unit dalam game apapun.

Dengan penambahan modul Motion Path dan AI, proses simulasi misi pada SOYUS Wargame dapat berjalan lebih dinamis. Karena pada sistem SOYUS Wargame sebelumnya tidak terdapat AI pada unit-unitnya. Sehingga unit-unit hanya bergerak berdasarkan perintah-perintah yang telah ditetapkan.

Pergerakan unit lebih realistis karena menerapkan prinsip fisika selain perhitungan matematis, dan dalam hal ini prinsip aerodinamika.

9 Daftar Pustaka

[SR06] Steve, R., AI Game Programming

Wisdom 3, 2006, Charles River Media Inc.,

Massachusetts, USA

[BM05] Buckland, M., Programming Game AI

by Example, 2005, Wordware Publishing, USA

[MBD02] M. Bourg, D., Physics for Game

Developers, 2002, O’Reilly Media Inc., USA

[MBD04] M. Bourg, D., Seeman, G., AI for Game

Developers, 2004, O’Reilly Media Inc., USA

[SB04] Schwab, B., AI Game Engine

Programming, 2004, Charles River Media Inc.,

Massachusetts, USA

[FSR04] F. Stengel, R., Flight Dynamics, 2004,

Princeton University Press, USA

[WRC99] W. Reynolds, Craig, “Steering Behaviors For Autonomous Characters”, 1999, Sony Computer Entertainment America, California, USA