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

dokumen-dokumen yang mirip
Pengaturan Perilaku Pasukan Non Player Character menggunakan metode Flocking Behavior berbasis Agent pada permainan Real Time Strategy

PERILAKU OTONOM DAN ADAPTIF NON PLAYER CHARACTER MUSUH PADA GAME 3 DIMENSI MENGGUNAKAN FUZZY STATE MACHINE DAN RULE BASED SYSTEM

Manuver Kelompok NPC Berbasis Boids

Pergantian Senjata NPC pada Game FPS Menggunakan Fuzzy Sugeno

BAB I PENDAHULUAN 1.1. Latar Belakang Pesawat tanpa awak atau pesawat nirawak (Unmanned Aerial Vehicle atau disingkat UAV), adalah sebuah mesin

Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine

SIMULASI PERGERAKAN AGEN BERBASIS BOID DENGAN OPTIMASI NEIGHBORHOOD AVOIDANCE

Perilaku Kamera Untuk Pengambilan Sudut Pandang Otomatis Menggunakan Metode

Penerapan Metode Fuzzy Mamdani Pada Rem Otomatis Mobil Cerdas

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) REPRESENTASI EMOSI MENGGUNAKAN LOGIKA FUZZY PADA PERMAINAN BONNY S TOOTH BOOTH

OPTIMASI PENCAPAIAN TARGET PADA SIMULASI PERENCANAAN JALUR ROBOT BERGERAK DI LINGKUNGAN DINAMIS

BAB I PENDAHULUAN. termasuk diantaranya adalah multiplayer game. multiplayer game. dibandingkan dengan singleplayer game sehingga multiplayer game

IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN GALAH ASIN MENGGUNAKAN LOGIKA FUZZY

BAB 1 PENDAHULUAN Latar Belakang

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

STRATEGI MENYERANG NPC GAME FPS MENGGUNAKAN FUZZY FINITE STATE MACHINE Ady Wicaksono 1), Mochamad Hariadi 2), Supeno Mardi S. N 3)

Strategi Menyerang Jarak Dekat Menggunakan Klasifikasi Bayesian Pada NPC (Non Player Character)

Penerapan Graf dalam Game dengan Kecerdasan Buatan

SIMULASI AUTONOMOUS VEHICLE DI UNIVERSITAS KRISTEN SATYA WACANA SALATIGA

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB I PENDAHULUAN. 1 Universitas Internasional Batam

BAB 2 TINJAUAN PUSTAKA

PREDIKSI KECEPATAN ROTASI KOMPRESOR MESIN PESAWAT BOEING MENGGUNAKAN LOGIKA FUZZY

SIMULASI PERGERAKAN PASUKAN BERBASIS POTENTIAL FIELD SISWATI

OPTIMISASI TOTAL TEMPUH NPC PADA RTS GAME MENGGUNAKAN HARMONY SEARCH ALGORITHM. Herti Miawarni 1* Jl. A. Yani 114, Surabaya 60231, Telp.

JOBSHEET SISTEM CERDAS REASONING 2. Fuzzifikasi

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. Dengan pesatnya perkembangan teknologi dalam bidang IT (Information

DESAIN AUGMENTED REALITY ORIGAMI BERBASIS METODE LOGIKA FUZZY

PERANCANGAN GAME TURN BASED STRATEGY MENGGUNAKAN LOGIKA FUZZY DAN NAIVE BAYES CLASSIFIER

Agen Cerdas Kompetitif Berbasis Finite State Machine Dalam Game Pembelajaran Untuk Anak

BAB I PENDAHULUAN 1.1. Latar Belakang

2014 IMPLEMENTASI FUZZY LOGIC METODE MAMDANI UNTUK PENGEMBANGAN INTELLIGENT NON- PLAYER CHARACTER PADA GAME STRATEGY

Simulasi Perilaku Tempur Pada Sekumpulan NPC Berbasis Boid

AUTONOMOUS LEVELING BERBASIS FSM UNTUK PEMBUATAN GAME EDUKASI

BAB III PERANCANGAN GAME

BAB I PENDAHULUAN 1.1 Latar Belakang

Penerapan Teori Graf dalam Game Bertipe Real Time Strategy (RTS)

ARTIFICIAL INTELLIGENCE

Implementasi Sistem Navigasi Behavior Based Robotic dan Kontroler Fuzzy pada Manuver Robot Cerdas Pemadam Api

BAB II LANDASAN TEORI. Pada bab ini berisi tentang teori mengenai permasalahan yang akan dibahas

OCKY NOOR HILLALI

BAB 2 2. LANDASAN TEORI

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

PERANCANGAN GAME TURN BASED STARATEGY MENGGUNAKAN LOGIKA FUZZY UNTUK MENGATUR PERILAKU MUSUH

BAB III METODE PENELITIAN

BAB I PENDAHULUAN. Gambar Glider (salah satu pendekatan cara terbang burung)

BAB II: TINJAUAN PUSTAKA

SIMULASI PENGENDALIAN KECEPATAN MOBIL OTOMATIS MENGGUNAKAN LOGIKA FUZZY DAN ALGORITMA GENETIKA

Penerapan Fuzzy Logic untuk Pembatasan Jumlah Partikel Pada Aplikasi yang Menggunakan Sistem Partikel

Adaptive Fuzzy Untuk Menala Parameter PID pada Sistem Pengaturan Berjaringan. Nastiti Puspitosari L/O/G/O NETWORKED CONTROL SYSTEM (NCS)

FUZZY MULTI-CRITERIA DECISION MAKING

Penerapan Logika Fuzzy Pada Sistem Parkir Truk

EKO TRI WASISTO Dosen Pembimbing 1 Dosen Pembimbing 2

RANCANG BANGUN APLIKASI PERAMALAN CUACA DENGAN MENGGUNAKAN METODE FUZZY MAMDANI (STUDI KASUS KOTA SURABAYA)

BAB I PENDAHULUAN. Mobile robot otonom adalah topik yang sangat menarik baik dalam penelitian

BAB I PENDAHULUAN. tubuh. Dalam suatu serangan jantung (myocardial infarction), bagian dari otot

SEJARAH UML DAN JENISNYA

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN Tujuan Merancang dan merealisasikan robot pengikut dinding dengan menerapkan algoritma logika fuzzy.

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

Menurut Kaplan, AI mempunyai beberapa kelebihan dibandingkan dengan kecerdasan alami

BAB 1 PENDAHULUAN. Logika fuzzy memberikan solusi praktis dan ekonomis untuk mengendalikan

1/14/2010. Riani L. Jurusan Teknik Informatika

LAMPIRAN A MATRIKS LEMMA

PENCARIAN LOKASI FASILITAS UMUM TERDEKAT DILENGKAPI DENGAN RUTE KENDARAAN UMUM LYN

Presentasi TA DETEKSI PENYAKIT PARU-PARU OBSTRUKTIF KRONIS MENGGUNAKAN METODE FUZZY : STUDI KASUS DI RUMAH SAKIT XYZ. Muhammad Reza Budiman

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

3. METODE PENELITIAN 3.1 Kerangka Pemikiran

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR 20 BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR

SIMULASI SISTEM UNTUK PENGONTROLAN LAMPU DAN AIR CONDITIONER DENGAN MENGGUNAKAN LOGIKA FUZZY

MODUL 8 APLIKASI NEURAL NETWORK DAN FUZZY LOGIC PADA PERKIRAAN CUACA

5.2. Saran Pengembangan

IMPLEMENTASI ADAPTIVE AI UNTUK UNIT BEHAVIOUR DALAM TURN BASED STRATEGY BATTLE SYSTEM PADA MMORPG MALING HUNTER

Pembangunan Game First Person Shooter 3D Alien Hunter Berbasis Desktop Sidang Skripsi Refi Meisadri ( )

BAB 1 PENDAHULUAN 1.1 Latar Belakang

LOGIKA FUZZY PADA PROSES PELET PAKAN IKAN

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

Pemodelan Perilaku Musuh Menggunakan Finite State Machine (FSM) Pada Game Pengenalan Unsur Kimia

JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2013) ( X Print) 1

ANALISIS RULE INFERENSI SUGENO DALAM SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN

BAB III METODE PENELITIAN. sistem yang digunakan untuk menggambarkan aliran data secara keseluruhan

BAB I PENDAHULUAN 1.1 Latar Belakang

Sistem Pendukung Keputusan. Oleh: Ade Sarah H., M.Kom

Sistem Pendukung Keputusan Rekomendasi Pemilihan Laptop Menggunakan Fuzzy Tahani

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB 1 PENDAHULUAN. Berbagai cabang ilmunya telah membantu manusia menyelesaikan pekerjaan dengan

Seminar Tugas Akhir. Perancangan Sistem Pakar Fuzzy Untuk Pengenalan Dini Potensi Terserang Stroke Berbasis Web

5/12/2014. Plant PLANT

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

DESAIN SIMULASI PENGAMBILAN KEPUTUSAN MULTIOBJECTIVE MENGGUNAKAN AGEN CERDAS

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Analisis Rule Inferensi Mamdani dalam Menentukan Beasiswa Peningkatan Prestasi Akademik ( PPA)

Pengaturan Air Cooler untuk Ruangan menggunakan Logika Fuzzy

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

PENGEMBANGAN GAME SIMULASI PENANAMAN PADI SITU BAGENDIT (STUDI KASUS PADA UPTD PERTANIAN KECAMATAN NGANTANG)

Transkripsi:

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 : wijanarko.sukma@gmail.com, suhadi.lili@gmail.com 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 sewaktuwaktu. 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 pasukanpasukan 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 kondisikondisi 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. 1 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 statestate 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 : uzzifikasi : 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 2 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 skenarioskenario 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 3 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 perintahperintah 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 classclass 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 4 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 ( F x ) dan total gaya vertikal ( F z ). gaya horizontal merupakan gaya yang dipengaruhi oleh dengan rumus seperti di bawah ini F x z cos T T D F sin D cos L L sin sin cos Gambar 6.4 Penerapan Prinsip Newtonian Setelah mendapatkan kecepatan unit, NavigationSystem akan melakukan perhitungan W 5 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. 8 Simpulan Dari hasil pengamatan selama perancangan, implementasi dan proses uji coba sistem yang dilakukan, dapat diambil kesimpulan sebagai berikut: uzzy 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 unitunit hanya bergerak berdasarkan perintahperintah 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 Gambar 7.2 Uji Coba Simulasi Perhitungan Fisika 6 Wijanarko Sukma P - 5105100173