Febrian Bahari Adi 2207 100 175
Total Page:16
File Type:pdf, Size:1020Kb
Febrian Bahari Adi 2207 100 175 Dosen Pembimbing 1 : Moch. Hariadi, S.T., M.Sc., Ph.D. Dosen Pembimbing 2 : Dr. I Ketut Eddy P., S.T., M.T. Pendahuluan • Pada game mode Real-Time Strategy (RTS), perilaku player maupun Non-Player Character (NPC) dipengaruhi oleh perubahan lingkungan secara real- time. NPC yang tidak responsif terhadap lingkungan memiliki daya tempur yang lemah. • Kecerdasan buatan berbasis algoritma perilaku boid diberikan untuk memampukan NPC merespon lingkungan secara cerdas. Dengan respon yang cerdas terhadap lingkungan, NPC lebih dapat bertahan di dalam situasi pertempuran. Latar Belakang • NPC tempur pada game RTS biasanya beraksi dalam kelompok besar • NPC yang tidak responsif terhadap lingkungan tempur memiliki daya tempur yang lemah dan dapat melemahkan daya tempur NPC kawan • Perilaku boid merupakan perilaku yang didasarkan pada rangsangan lingkungan lokal [i],[ii] • Perilaku boid diterapkan di dalam kelompok besar [i],[ii] • Perilaku setiap individu boid memberikan keuntungan bagi keseluruhan boid di dalam kelompok Perumusan Masalah • NPC tanpa kecerdasan buatan dapat saling berbenturan dan menghalangi aksi dari kawan saat berkerumun • NPC tanpa kecerdasan buatan menggunakan aturan jarak terdekat dalam menentukan target untuk dilawan • Penerapan perilaku boid pada NPC tempur melibatkan pemilihan NPC lawan sebagai obstacle atau target Tujuan • Mendapatkan NPC tempur dengan kecerdasan buatan menggunakan algoritma boid • Mendapatkan perbandingan efektivitas daya tempur NPC dengan kecerdasan buatan menggunakan algoritma boid dengan NPC tanpa kecerdasan buatan • Menentukan pengaruh algoritma boid pada efektivitas tempur kelompok NPC dengan variasi jumlah anggota kelompok dan variasi waktu tempur Batasan Masalah • Mode game yang disimulasikan adalah RTS (Real Time Strategy) • Simulasi menggunakan Unity 3D game engine • Pertempuran hanya melibatkan dua kelompok NPC • Model 3D seragam untuk masing-masing kubu NPC • Tanpa obstacle selain NPC kawan atau lawan non- target • Perilaku boid yang diberikan hanya untuk pergerakan yang memiliki dua komponen vektor, pergerakan di sumbu X dan sumbu Z Relevansi • Pengembangan permainan komputer dengan kawanan NPC cerdas • Penerapan algoritma perilaku boid untuk kecerdasan buatan Simulasi • si·mu·la·si n 1 metode pelatihan yg meragakan sesuatu dl bentuk tiruan yg mirip dng keadaan yg sesungguhnya; 2 penggambaran suatu sistem atau proses dng peragaan berupa model statistik atau pemeranan; • http://bahasa.kemdiknas.go.id/kbbi/index.php NPC • Non-Player Characters (NPC) entitas dalam game yang tidak dikendalikan secara langsung oleh pemain Ragam Inspirasi Perilaku Boid Flocking of birds Herd of land animals School of fish Flocking of Birds • tujuan terbang dalam kawanan : – mencari makan – migrasi • berdasarkan persepsi lokal dari lingkungan yang dinamis • permodelan gerakan 3D • untung & rugi : – [+] aman dari predator – [+] efisiensi dalam mencari lokasi makanan – [+] reproduksi satu spesies – [-] berebut dalam mendapatkan makanan Herd of Land Animals • tujuan bergerak dalam kawanan : – mencari makan – migrasi • berdasarkan persepsi lokal dari lingkungan yang dinamis • permodelan gerakan 2D • untung & rugi : – [+] aman dari predator – [+] efisiensi dalam mencari lokasi makanan – [-] berebut dalam mendapatkan makanan School of Fish • tujuan berenang dalam kawanan : – berburu – migrasi • berdasarkan persepsi lokal dari lingkungan yang dinamis • permodelan gerakan 3D • untung & rugi : – [+] pengawasan terhadap lingkungan – [+] mengurangi peluang untuk dimangsa oleh makhluk / ikan Desain Simulasi Generate NPC • Satu model sebagai leader • Follower digenerate dengan fungsi instantiate – Posisi relatif terhadap leader Instantiate (prefab, Vector3.position, Vector3.rotation); Boid Behavior • Deteksi local neighbor • Steering Behavior sederhana : – Separation – Alignment – Cohesion Separation • Kendali untuk menghindari kerumunan lokal sesama boid Collision Avoidance velBoidSepa += pos_red - transform.position; velBoidSepa /= neighborCount; velBoidSepa *= -1; velBoidSepa.Normalize(); velBoidSepa *= velMax; Alignment • Kendali untuk menghadap ke arah yang sama dengan rata-rata lokal arah hadap sesama boid Velocity Matching velBoidAlign += vel_red; velBoidAlign /= neighborCount; velBoidAlign.Normalize(); velBoidAlign *= velMax; Cohesion • Kendali untuk bergerak menuju posisi rata- rata lokal dari sesama boid Flock centering velBoidCohe += pos_red; velBoidCohe /= neighborCount; velBoidCohe -= transform.position; velBoidCohe.Normalize(); velBoidCohe *= velMax; Data Pengujian Simulasi Perilaku NPC Berbasis Boid dengan Variasi Jumlah Agen Jumlah Jumlah NPC Sisa Sisa NPC Menang NPC Boid non-Boid NPC non-Boid (Y / N) Boid 70 70 60 30 Y 70 70 65 25 Y 70 70 64 27 Y 100 100 80 30 Y 100 100 83 35 Y 100 100 90 36 Y 120 120 110 40 Y 120 120 105 35 Y 120 120 98 50 Y Simulasi Perilaku NPC Berbasis Boid dengan Variasi Waktu Tempur Waktu Jumlah Jumlah Sisa NPC Sisa NPC Menang Uji NPC Boid NPC non- Boid non-Boid (Y / N) (menit) Boid 1 100 100 90 32 Y 1 100 100 95 35 Y 1 100 100 98 30 Y 3 100 100 80 15 Y 3 100 100 78 13 Y 3 100 100 82 10 Y 5 100 100 78 0 Y 5 100 100 75 0 Y 5 100 100 70 0 Y Kesimpulan • NPC tempur dengan kecerdasan buatan menggunakan algoritma boid dapat merespon lingkungan tempur lebih baik dibandingkan NPC tanpa kecerdasan buatan • Rata-rata jumlah NPC dengan kecerdasan buatan berbasis algoritma boid yang bertahan hidup pada akhir simulasi sebanyak 3,35 kali dari rata-rata NPC tanpa kecerdasan buatan berbasis algoritma boid. Daftar Referensi • Reynolds, C. W., “Flocks, Herds, and Schools: A Distributed Behavioral Model”, Computer Graphics, 21(4) (SIGGRAPH '87 Conference Proceedings) halaman 25-34, 1987 <URL: http://www.cs.toronto.edu/~dt/siggraph97-course/cwr87/> • Reynolds, C. W., “Boids : Background and Update”. <URL: http://red3d.com/cwr/boids/>. Update terbaru: September 6, 2001. • Rae, Alastair., “Quelea Flock”. <URL: http://www.flickr.com/photos/merula/342898722/in/set-72157594423311516/ > • Wikipedia.org. “Red-billed Quelea” <URL: http://en.wikipedia.org/wiki/Red- billed_Quelea > • Hutto R., “Foraging Behavior Patterns Suggest a Possible Cost Associated with Participation in Mixed-Species Bird Flocks”. Oikos 51(1): 79–83. 1988. • Raman, T. R. Shankar. “Wildebeest herding and following a few leading zebra in the Masai Mara, Kenya”. Koleksi pribadi. <URL: http://en.wikipedia.org/wiki/File:Wbeest_Mara.jpg> • Biermen, Ed., “A Tornado of Fish”. <URL: http://www.flickr.com/photos/edbierman/3200958280/> • National Geographic. “Bluefin Tuna Eat Bait Ball”<URL: http://video.nationalgeographic.com/video/animals/fish-animals/spiny-rayed- fish/tuna_eat_bait_ball/> • Pitcher, T.; Magurran, A.; Winfield, I., “Fish in larger shoals find food faster”. Behav. Ecol. and Sociobiology 10 (2): 149–151. 1982. • Reynolds, C. W., “Steering Behaviors For Autonomous Characters”, Game Developers Conference 1999, San Jose, California. Miller Freeman Game Group, San Francisco, California, halaman 763-782, 1999. <URL: http://www.red3d.com/cwr/steer/gdc99/> • Bevilacqua, Fernando., “Understanding Steering Behaviors: Seek”. <URL: http://gamedev.tutsplus.com/tutorials/implementation/understanding-steering- behaviors-seek/ >. 2013 • Bevilacqua, Fernando., “Understanding Steering Behaviors: Flee and Arrival”. <URL: http://gamedev.tutsplus.com/tutorials/implementation/understanding-steering- behaviors-flee-and-arrival/ >. 2013 • Pemmaraju, Vijay., “The Three Simple Rules of Flocking Behaviors: Alignment, Cohesion, and Separation”. <URL: http://gamedev.tutsplus.com/tutorials/implementation/the-three-simple-rules-of- flocking-behaviors-alignment-cohesion-and-separation/ >. Januari, 2013 • Parker, Conrad., “Boids Pseudocode”. <URL: http://www.kfish.org/boids/pseudocode.html > .