• Tidak ada hasil yang ditemukan

Simulasi Perilaku Tempur Pada Sekumpulan NPC Berbasis Boid

N/A
N/A
Protected

Academic year: 2021

Membagikan "Simulasi Perilaku Tempur Pada Sekumpulan NPC Berbasis Boid"

Copied!
6
0
0

Teks penuh

(1)

Abstrak—Non Player Characters (NPC) merupakan bagian penting di dalam sebuah permainan komputer. Pemilihan aksi yang independen mampu membuat permainan menjadi lebih menarik. Namun, perilaku independen tanpa disertai dengan kecerdasan justru dapat mengurangi daya tarik permainan. Di dalam permainan tempur mode Real Time Strategy (RTS) misalnya, tidak adanya kecerdasan NPC di dalam memilih aksi independen menjadikan daya tempur NPC kurang optimal dan mudah dikalahkan. Pergerakan dan perilaku tempur NPC adalah salah satu contoh bentuk aksi independen. Sekelompok NPC tempur dengan kecerdasan buatan untuk mengatur pergerakannya dapat memilih aksi lanjutan sebagai respon dari perubahan real time yang terjadi di dalam lingkungan pertempuran.

Pada Tugas Akhir ini disimulasikan perilaku tempur sekumpulan NPC yang berbasis boid. Perilaku boid dipilih karena perilaku individu di dalam kelompok ini memberi gambaran ideal mengenai pergerakan yang dinamis dan responsif terhadap lingkungan. Tiga perilaku dasar boid (alignment, cohesion dan separation) diberikan pada NPC. Hasil dari simulasi adalah NPC dengan perilaku boid mampu merespon lingkungan lokal dan berkontribusi pada pergerakan dinamis keseluruhan kelompok.

Dengan aksi yang responsif terhadap lingkungan, NPC dapat memiliki daya tempur yang lebih baik dibandingkan NPC tanpa kecerdasan buatan. Pada akhir simulasi didapatkan rata-rata NPC dengan kecerdasan algoritma boid yang bertahan hidup adalah 3,35 kali dari NPC tanpa kecerdasan boid (84,99% dibanding 25,41%).

Kata Kunci—boid, NPC, artificial intelligence, game, alignment, separation, cohesion.

I. PENDAHULUAN

AAT ini penggunaan Non-Player Characters (NPC) dengan perilaku mirip manusia di dalam permainan komputer sudah populer. Hampir semua genre permainan komputer menggunakan kecerdasan buatan untuk NPCnya. Salah satu permainan komputer yang populer dengan NPC yang memiliki kecerdasan buatan adalah Defence of the Ancient (DotA), salah satu pengembangan dari aplikasi permainan War Craft.

Untuk mendapatkan perilaku mirip manusia diperlukan aturan-aturan terpadu yang dapat merespon perilaku karakter lain atau kondisi lingkungan sekitarnya. Di dalam skenario pertempuran, perilaku ini menentukan tingkat kesulitan dan daya tarik dari permainan. Untuk memberikan perilaku mirip

manusia pada NPC prajurit tempur di Tugas Akhir ini akan diterapkan algoritma boid.

Dengan algoritma boid diharapkan NPC dapat bergerak secara cerdas agar tidak terjadi benturan antar NPC kawan dan di saat yang sama tetap menjaga formasi kawanan. Selain itu, diharapkan NPC juga dapat memilih target atau sasaran secara cerdas agar dapat memenangkan pertempuran dengan energi minimum.

Riset terkait dengan algoritma boid yang pernah dilakukan di antaranya membahas mengenai steering behavior pada karakter otonom. Saat ini sudah ada riset mengenai kecerdasan buatan atau AI (Atificial Intelligence) pada NPC menggunakan algoritma boid. Riset tersebut ditujukan untuk mendapatkan perilaku kerumunan NPC yang dapat mengkuti leader dan menghindari benturan antar NPC. Pada riset tersebut algoritma boid juga digunakan untuk memampukan NPC agen membentuk formasi tertentu yang menyesuaikan posisi NPC leader.

II. DASARTEORI A. Non-Player Character (NPC)

Non-Player Characters (NPC) atau disebut juga agen adalah suatu entitas dalam game yang tidak dikendalikan secara langsung oleh pemain. NPC dikendalikan secara otomatis oleh komputer. NPC bisa berupa teman, musuh atau netral. NPC diinginkan dapat berperilaku cerdas layaknya manusia. Dia bisa mengindera lingkungan, berpikir, memilih aksi lalu bertindak sebagai respon atas perubahan pada lingkungannya. Untuk dapat memperoleh perilaku cerdas dari NPC digunakan kecerdasan buatan atau Artificial Intelligence (AI). Penggunaan AI pada NPC dilakukan dengan pemberian algoritma khusus sesuai dengan perilaku cerdas yang diharapkan.

Pada adegan (scene) pertempuran dari permainan computer, prajurit pemain dan prajurit musuh merupakan contoh dari NPC. Perilaku seorang prajurit dalam medan pertempuran bervariasi mulai dari mengikuti pimpinan, menghindari halangan, berlari, berjalan, menjauhi musuh, bertarung, membantu teman, dan lainnya.

B. Perilaku Tempur NPC

Pertempuran NPC di dalam game dengan mode Real Time Strategy (RTS) bergantung pada perilaku NPC di dalam

Simulasi Perilaku Tempur Pada

Sekumpulan NPC Berbasis Boid

Febrian Bahari Adi1), Mochammad Hariadi2), I Ketut Eddy Purnama3)

Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) 1,2,3) Jl. Arief Rahman Hakim, Surabaya 60111

E-mail: febrian.bahariadi@gmail.com1), mochar@ee.its.ac.id2), ketutedi@elect-eng.its.ac.id3)

(2)

situasi pertempuran. NPC yang tidak dapat merespon dengan baik perubahan di dalam lingkungan pertempuran memiliki kecenderungan untuk lebih mudah dikalahkan.

1) Perilaku Menyerang

Serangan NPC di dalam pertempuran digunakan untuk mengalahkan atau menghalau lawan. NPC yang melakukan serangan berpotensi untuk mengurangi health point dari musuh. Gerakan, kekuatan dan strategi serangan NPC berpengaruh terhadap efektivitas daya tempur NPC. Gerakan yang dinamis, kekuatan yang besar dan strategi yang cerdas dapat meningkatkan daya tempur NPC.

2) Perilaku Bertahan

Selain menyerang, di dalam pertempuran NPC juga harus dapat bertahan menghadapi serangan NPC lawan. Salah satu bentuk pertahanan adalah dengan menghindari serangan lawan. Bentuk pertahanan yang lain adalah dengan menahan serangan lawan menggunakan serangan balik yang meredam daya rusak serangan lawan. NPC dengan kecerdasan buatan yang mampu bergerak dinamis dan responsif terhadap perubahan lingkungan dapat bertahan lebih baik dibandingkan NPC tanpa kecerdasan buatan. Salah satu contoh gerakan responsif NPC adalah dengan bergerak menjauh dari jangkauan serang NPC lawan yang terindikasi hendak melakukan serangan.

3) Perilaku Mengikuti Pemimpin

Apabila di dalam kelompok NPC tempur terdapat satu unit yang berlaku sebagai pemimpin (leader), maka pergerakan dari NPC lain sebagai pengikut (follower) biasanya mengikuti komando dari pemimpin tersebut. NPC pengikut biasanya mempertahankan posisi tetap pada radius tertentu dari NPC pemimpin. Selain dipengaruhi keberadaan NPC lawan, pilihan gerakan NPC pengikut biasanya juga dipengaruhi oleh keberadaan NPC pemimpin. Apabila NPC pengikut berada di luar jangkauan perintah NPC pemimpin, maka NPC pengikut akan meninggalkan aktivitas yang sedang dilakukan dan bergerak menuju posisi NPC pemimpin.

4) NPC Mati

Pada saat NPC diserang, nilai kesehatan (health point) dari NPC berkurang. Ketika nilai kesehatan NPC mencapai nilai minimum (nol) maka NPC akan mati. Dalam kondisi mati, daya gerak dan daya serang NPC non-aktif. Biasanya NPC yang mati dihapus dari lingkungan permainan.

C. Algoritma Boid

Kesatuan gerakan sekawanan burung (flock of birds), sekawanan binatang darat (herd of land animals) atau sekawanan ikan (school of fishes) adalah bagian yang alami dan indah dari alam ini. Pergerakan yang rumit ini jarang terdapat pada animasi komputer [1]. Secara umum algoritma boid terinspirasi dari pergerakan kawanan tiga jenis binatang tersebut.

Simulasi perilaku kerumunan pertama kali dibuat di komputer oleh Craig Reynolds pada tahun 1986 melalui program yang dia beri nama “Boids” [2]. Model flocking dasar terdiri dari tiga kendali (rules) perilaku sederhana:

1) Separation

Kendali perilaku separation memberikan karakter kemampuan untuk mempertahanakn jarak tertentu dari karakter terdekat.

Gambar 1. Separation Steering Behavior [2]

2) Alignment

Kendali perilaku alignment atau penyelarasan memberi kemampuan kepada karakter untuk menyelaraskan dirinya dengan karakter lain di dekatnya. Maksud dari menyelaraskan pada Tugas Akhir ini adalah menghadap ke arah dan atau kecepatan yang sama.

Gambar 2. Alignment Steering Behavior [2]

3) Cohesion

Kendali perilaku cohesion memberi karakter kemampuan untuk koheren (mendekati dan membentuk kelompok) dengan karakter-karakter lain di dekatnya.

(3)

III. DESAINDANIMPLEMENTASI A. Desain Project Simulasi

Simulasi yang dibuat pada Tugas Akhir ini adalah implementasi dari algoritma boid sebagai AI atau kecerdasan buatan pada NPC. Simulasi dibuat menggunakan perangkat lunak Unity 3Dgame engine. Sebagian asset yang digunakan di dalam project simulasi didapatkan dari Asset Store Unity 3D. Output dari project Tugas Akhir ini adalah simulasi yang menunjukkan perbedaan antara perilaku tempur pasukan NPC yang tidak memiliki kecerdasan buatan dengan perilaku tempur pasukan NPC yang memiliki kecerdasan buatan dengan algoritma boid. Perbedaan yang dimaksud adalah pergerakan yang ditampilkan dan juga efektivitas daya tempur dilihat dari jumlah unit NPC yang bertahan setelah jangka waktu pengujian tertentu..

Gambar 4. Desain project simulasi

B. Pemilihan Karakter NPC

Model 3D karakter NPC dibutuhkan sebagai model agen NPC yang akan disimulasikan. Karena di dalam Tugas Akhir ini akan dibuat simulasi adegan pertempuran antar kelompok NPC dalam jumlah relatif besar, maka dibutuhkan resource yang besar juga. Untuk meminimalisasi kebutuhan resource dan tetap mempertahankan fitur-fitur standar pertempuran, dipilih model 3D sederhana bawaan dari Unity3D. Karakter NPC dimodelkan dengan geometri berbentuk tabung atau silinder dan kapsul. Kedua bentuk tersebut dipilih karena paling sederhana namun tetap representatif untuk melakukan pergerakan karakter NPC di dalam situasi pertempuran. NPC tanpa kecerdasan buatan menggunakan geometri silinder dan diberi warna biru, sedangkan NPC dengan kecerdasan buatan berbasis algoritma boid menggunakan geometri capsule dan diberi warna merah..

C. State dari NPC

Masing-masing unit NPC memiliki state sebagai berikut : following leader (FL), chase enemy (CE), die (DIE), attacking enemy (AE), being attacked (BA), win (WIN).

Gambar 5. State Diagram NPC

D. Implementasi Algoritma Boid

Algoritma boid yang digunakan pada Tugas Akhir ini ditujukan untuk meningkatkan daya tempur NPC. Daya tempur yang dimaksud adalah kemampuan NPC untuk menyerang dan mengalahkan musuh secara efektif dan efisien.

Di dalam pergerakan kelompok boid terdapat beberapa hal yang diperhitungkan. Yang pertama, agent atau individu boid sebagai satuan entitas di dalam kelompok. Kedua, vektor kecepatan yang merupakan kecepatan agent pada saat tertentu. Ketiga, neighborhood yang merupakan lingkungan dalam radius tertentu dari boid yang menjadi jangkauan pengamatan boid terhadap boid lain [13].

Di dalam pemrograman perilaku boid pada penelitian ini terdapat beberapa variabel yang diatur atau dikomputasi pada NPC. Variabel-variabel tersebut adalah vektor posisi, kecepatan, gaya maksimum dan kecepatan maksimum. 1) Vektor Posisi (Vector Position)

Vektor posisi menyatakan koordinat dari unit NPC. Vektor posisi ini bisa berdimensi dua maupun dimensi tiga. Pada Tugas Akhir ini yang digunakan adalah vektor posisi berdimensi tiga. Nilai dari vektor posisi tergantung dari titik acuan atau referensi yang digunakan. Jika menggunakan acuan lokal (local position) terhadap diri sendiri, maka unit NPC selalu berada pada koordinat (0,0,0). Sedangkan untuk acuan global, maka koordinat unit NPC dihitung dari titik referensi global pada game scene Unity 3D.

2) Kecepatan (Velocity)

Kecepatan unit NPC menentukan laju pergerakan. Semakin besar kecepatan, maka pergerakan semakin cepat. Di dalam simulasi Tugas Akhir ini kecepatan yang dimiliki oleh unit NPC nilainya tidak statis. Nilai kecepatan unit NPC dipengaruhi oleh besarnya gaya yang diterima dan berubah-ubah menyesuaikan dengan kondisi lingkungan sekitarnya. Variabel kecepatan ini nilainya berupa vektor.

3) Gaya Maksimum (Maximum Force)

Gaya maksimum digunakan untuk membatasi besarnya gaya yang diterima oleh unit NPC. Pembatasan ini dilakukan

(4)

agar pergerakan unit NPC dapat selaras dengan unit NPC lain disekitarnya. Nilai gaya maksimum berupa besaran skalar. 4) Kecepatan Maksimum (Maximum Velocity)

Sebagaimana nilai kecepatan yang dipengaruhi oleh besarnya gaya yang diterima, maka besarnya kecepatan maksimum dipengaruhi oleh besarnya gaya maksimum yang dapat diterima.

Implementasi algoritma boid atau flocking boid melibatkan tiga perilaku sederhana : alignment, cohesion dan separation. Tiga perilaku tersebut dipengaruhi oleh lingkungan di mana unit NPC berada, dalam hal ini kawanan NPC kawan dan lawan. Lingkungan tersebut disebut juga neighborhood, yaitu suatu area di sekitar unit NPC yang digunakan untuk mencari unit NPC lain dan mengambil nilai variabel-variabelnya. Variabel-variabel tersebut nantinya akan dikomputasi untuk menghasilkan tiga perilaku boid tersebut.

Implementasi algoritma boid atau flocking boid melibatkan tiga perilaku sederhana : alignment, separation dan cohesion. Tiga perilaku tersebut dipengaruhi oleh lingkungan di mana unit NPC berada, dalam hal ini kawanan NPC kawan dan lawan. Lingkungan tersebut disebut juga neighborhood, yaitu suatu area di sekitar unit NPC yang digunakan untuk mencari unit NPC lain dan mengambil nilai variabel-variabelnya. 1) Alignment

Perilaku alignment dipengaruhi oleh kecepatan dari agent NPC boid dengan other boid. Gaya yang digunakan untuk bergerak menyesuaikan pergerakan lingkungan dihitung dengan mengambil rata-rata kecepatan other boid. Rata-rata ini kemudian dinormalisasi dan dikalikan dengan kecepatan maksimum NPC boid. Hasil perkalian tersebut adalah kecepatan dari perilaku alignment yang besar dan arahnya selaras antara satu boid dengan boid yang lain. Perilaku alignment ini dihitung ketika posisi NPC boid berada di antara threshold untuk separation dan threshold untuk cohesion. Pseudocode dari perilaku alignment diberikan oleh code berikut [14].

PROCEDURE alignment(boid bJ) Vector pvJ

FOR EACH BOID b IF b != bJ THEN pvJ = pvJ + b.velocity END IF END pvJ = pvJ / N-1 RETURN (pvJ - bJ.velocity) / 8 END PROCEDURE di mana :

bJ = boid yang melakukan perhitungan alignment

pvJ = kecepatan dari boid-boid lain (bJ tidak termasuk) di dalam lingkungan lokal bJ

b = boid lain yang berada di dalam lingkungan lokal bJ konstanta 8 = faktor penambahan kecepatan untuk menghasilkan pergerakan 1/8 dari kecepatan boid saat ini menuju kecepatan yang selaras dengan lingkungan lokalnya. 2) Separation

Perilaku separation dihitung berdasarkan posisi dari agent NPC boid dengan other boid yang ada di sekitarnya. Pertama dihitung selisih dari posisi agent NPC boid dengan other boid. Kemudian semua selisih tersebut dijumlahkan. Hasil penjumlahan tersebut dibagi dengan jumlah other boid untuk mendapatkan nilai rata-ratanya. Nilai rata-rata yang didapatkan kemudian dinormalisasi dan dikalikan dengan kecepatan maksimal dari boid. Hasil akhir dari perhitungan ini merupakan kecepatan separation yang mengatur agar NPC boid bergerak saling menjauh ketika berada pada posisi yang terlalu dekat satu sama lain. Pseudocode dari perilaku separation diberikan oleh code berikut [14].

PROCEDURE separation(boid bJ) Vector c = 0;

FOR EACH BOID b IF b != bJ THEN

IF |b.position - bJ.position| < 100 THEN c = c - (b.position - bJ.position) END IF END IF END RETURN c END PROCEDURE di mana :

bJ = boid yang melakukan perhitungan separation c = pusat massa dari seluruh boid di dalam lingkungan lokal bJ

b = boid lain yang berada di dalam lingkungan lokal bJ konstanta 100 = radius lingkungan lokal bJ

3) Cohesion

Sama halnya dengan perilaku separation, perilaku cohesion dihitung berdasarkan posisi dari agent NPC boid dengan other boid yang ada di sekitarnya. Yang berbeda adalah arah dari gerak NPC boid. Arah gerak dari perilaku cohesion NPC boid berlawanan dengan arah gerak dari perilaku separation NPC boid. Karena itu langkah pertama dibuat berkebalikan. Pertama dihitung selisih dari posisi other boid dengan agent NPC boid. Kemudian semua selisih tersebut dijumlahkan. Hasil penjumlahan tersebut dibagi dengan jumlah other boid untuk mendapatkan nilai rata-ratanya. Nilai rata-rata yang didapatkan kemudian dinormalisasi dan dikalikan dengan kecepatan maksimal dari boid. Hasil akhir dari perhitungan ini merupakan kecepatan cohesion yang mengatur agar NPC boid bergerak saling mendekat ketika berada pada posisi yang terlalu jauh satu sama lain. Untuk menentukan kapan NPC berlaku separation dan kapan berlaku cohesion digunakan threshold atau ambang batas jarak untuk masing-masing perilaku. Threshold untuk cohesion nilainya lebih besar dari pada threshold separation. Perilaku cohesion dimulai ketika posisi NPC boid lebih dari threshold cohesion. Perilaku separation dimulai ketika posisi NPC boid kurang dari threshold separation. Pseudocode dari perilaku cohesion diberikan oleh code berikut [14].

PROCEDURE cohesion(boid bJ) Vector pcJ

(5)

FOR EACH BOID b IF b != bJ THEN pcJ = pcJ + b.position END IF END pcJ = pcJ / N-1 RETURN (pcJ - bJ.position) / 100 END PROCEDURE di mana :

bJ = boid yang melakukan perhitungan cohesion

pcJ = pusat massa dari boid lain (bJ tidak termasuk) di dalam lingkungan lokal bJ

b = boid lain yang berada di dalam lingkungan lokal bJ konstanta 100 = faktor pergeseran untuk menghasilkan pergerakan 1% menuju pusat massa

IV. PENGUJIANDANANALISA A. Spesifikasi Pengujian

Pengujian dilakukan dengan menjalankan simulasi yang dibuat menggunakan komputer dengan spesifikasi sebagai berikut :

1) Processor : Intel(R) Atom(TM) CPU 570 @ 1.66GHz 1.67GHz

2) Installed Memory (RAM) : 2,00 GB

3) Display Adapter : Intel(R) Graphics Media Accelerator 3150

4) Operating System : Windows 7 Home Premium 32-bit Operating System, Service Pack 1

Komputer yang digunakan di dalam pengujian berpengaruh terhadap performa simulasi. Terutama terkait dengan kemampuan komputer menangani render model 3D dan scripting behavior untuk sejumlah besar unit NPC. Pada penelitian ini komputer yang digunakan cukup untuk dipakai melakukan pengujian simulasi. Meskipun beberapa kali terjadi lagging, namun hanya berpengaruh pada visualisasi gerakan NPC dan tidak berdampak signifikan terhadap perilaku NPC.

Pengujian dilakukan dengan melakukan simulasi tempur kelompok NPC tanpa AI melawan kelompok NPC dengan AI Algoritma boid. Pengujian dilakukan berbasis waktu dan jumlah unit NPC yang bertempur. Pengujian pertama dilakukan dengan menetapkan durasi tertentu dan ragam jumlah NPC setiap kelompok untuk simulasi pertempuran. Pada pengujian ini data yang diambil adalah jumlah NPC yang bertahan dan pemenang pertempuran ditetapkan berdasarkan jumlah NPC bertahan paling banyak dalam satu kelompok. Pengujian berikutnya simulasi dilakukan dengan sejumlah tertentu NPC bertempur dengan variasi waktu pertempuran. Pada pengujian ini data yang diambil adalah jumlah NPC yang bertahan dan pemenang pertempuran ditetapkan berdasarkan jumlah NPC bertahan paling banyak dalam satu kelompok.

Parameter-parameter yang akan diamati di dalam pengujian dari perilaku tempur NPC di dalam simulasi adalah :

1) durasi simulasi

2) jumlah NPC yang masih bertahan ketika durasi simulasi habis

3) health point NPC

B. Pengujian Simulasi Berbasis Waktu

Berikut ini tabel data yang dihasilkan dari simulasi perilaku tempur NPC berbasis boid dengan waktu uji 2 menit dan jumlah agen bervariasi.

Tabel 1. Simulasi Perilaku NPC Berbasis Boid dengan Variasi Jumlah Agen

Jumlah NPC Boid Jumlah NPC non-Boid Sisa NPC Boid Sisa NPC non-Boid Menang (Y / N) 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

Berdasarkan tabel 1 terlihat bahwa jumlah NPC dengan kecerdasan buatan algoritma boid lebih mampu bertahan di hingga akhir simulasi. NPC dengan kecerdasan buatan berbasis algoritma boid selalu memenangkan pertempuran dengan durasi 2 menit. Hal ini menunjukkan bahwa algoritma boid efektif untuk meningkatkan daya tempur baik untuk kelompok dalam jumlah NPC yang kecil maupun jumlah NPC yang besar untuk durasi waktu yang telah ditetapkan.

Rata-rata persentase unit NPC dengan kecerdasan berbasis algoritma boid yang dapat bertahan hidup pada akhir simulasi adalah 87,09%. Rata-rata persentase unit NPC tanpa kecerdasan algoritma boid yang dapat bertahan hidup pada akhir simulasi adalah 35,81%. Perbandingan persentase Gambar. 6. Simulasi perilaku tempur kumpulan NPC dengan algoritma boid

(6)

keduanya adalah 2,43. Jadi, rata-rata jumlah NPC dengan kecerdasan buatan berbasis algoritma boid yang bertahan hidup pada akhir simulasi adalah 2,43 kali dari rata-rata NPC tanpa kecerdasan buatan berbasis algoritma boid yang mampu bertahan hingga akhir simulasi.

C. Hasil Simulasi dengan Variasi Waktu Uji (Waktu Tempur) Berikut ini tabel data yang dihasilkan dari simulasi perilaku tempur NPC berbasis boid dengan jumlah agen 100 dan waktu uji bervariasi.

Tabel 2. Simulasi Perilaku NPC Berbasis Boid dengan Variasi Waktu Uji

Waktu Uji (menit) Jumlah NPC Boid Jumlah NPC non-Boid Sisa NPC Boid Sisa NPC non-Boid Menang (Y / N) 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

Berdasarkan tabel 2 terlihat bahwa jumlah NPC dengan kecerdasan buatan algoritma boid lebih mampu bertahan di hingga akhir simulasi. NPC dengan kecerdasan boid selalu memenangkan pertempuran dengan variasi durasi tempur. Hal ini menunjukkan bahwa algoritma boid efektif untuk meningkatkan daya tempur baik untuk durasi tempur yang singkat maupun untuk durasi tempur yang lama.

Rata-rata persentase unit NPC dengan kecerdasan berbasis algoritma boid yang dapat bertahan hidup pada akhir simulasi adalah 82,88%. Rata-rata persentase unit NPC tanpa kecerdasan algoritma boid yang dapat bertahan hidup pada akhir simulasi adalah 15%. Perbandingan persentase keduanya adalah 5,52. Jadi, rata-rata jumlah NPC dengan kecerdasan buatan berbasis algoritma boid yang bertahan hidup pada akhir simulasi adalah 5,52 kali dari rata-rata NPC tanpa kecerdasan buatan berbasis algoritma boid yang mampu bertahan hingga akhir simulasi.

V. KESIMPULAN

Berdasarkan proses dan hasil pengerjaan Tugas Akhir ini dapat disimpulkan :

1) NPC tempur dengan kecerdasan buatan menggunakan algoritma boid dapat merespon lingkungan tempur lebih baik dibandingkan NPC tanpa kecerdasan buatan

2) 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.

DAFTARPUSTAKA

[1] 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/>

[2] Reynolds, C. W., “Boids : Background and Update”. <URL: http://red3d.com/cwr/boids/>. Update terbaru: September 6, 2001. [3] Rae, Alastair., “Quelea Flock”. <URL:

http://www.flickr.com/photos/merula/342898722/in/set-72157594423311516/ >

[4] Wikipedia.org. “Red-billed Quelea” <URL: http://en.wikipedia.org/wiki/Red-billed_Quelea >

[5] Hutto R., “Foraging Behavior Patterns Suggest a Possible Cost Associated with Participation in Mixed-Species Bird Flocks”. Oikos 51(1): 79–83. 1988.

[6] 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>

[7] Biermen, Ed., “A Tornado of Fish”. <URL: http://www.flickr.com/photos/edbierman/3200958280/>

[8] National Geographic. “Bluefin Tuna Eat Bait Ball”<URL: http://video.nationalgeographic.com/video/animals/fish-animals/spiny-rayed-fish/tuna_eat_bait_ball/>

[9] Pitcher, T.; Magurran, A.; Winfield, I., “Fish in larger shoals find food

faster”. Behav. Ecol. and Sociobiology 10 (2): 149–151. 1982.

[10] 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/>

[11] Bevilacqua, Fernando., “Understanding Steering Behaviors: Seek”. <URL:

http://gamedev.tutsplus.com/tutorials/implementation/understanding-steering-behaviors-seek/ >. 2013

[12] Bevilacqua, Fernando., “Understanding Steering Behaviors: Flee and

Arrival”. <URL:

http://gamedev.tutsplus.com/tutorials/implementation/understanding-steering-behaviors-flee-and-arrival/ >. 2013

[13] 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

[14] Parker, Conrad., “Boids Pseudocode”. <URL: http://www.kfish.org/boids/pseudocode.html >

Gambar

Gambar 1. Separation Steering Behavior [2]
Gambar 4. Desain project simulasi
Tabel  1.  Simulasi  Perilaku  NPC  Berbasis  Boid  dengan  Variasi Jumlah Agen
Tabel  2.  Simulasi  Perilaku  NPC  Berbasis  Boid  dengan  Variasi Waktu Uji

Referensi

Dokumen terkait

Style yang ingin diterapkan pada desain yang baru adalah peranakan yang secara lebih spesifik merupakan style peranakan “Pasuruan Chinese” dimana style tersebut utamanya

1) Melakukan sosialisai ilmu falak (hisab dan Rukyat) kepada masyarakat khususnya mengenai penentuan awal bulan hijriyah, penentuan awal waktu shalat, penentuan

Genetic purity analysis of hybrid broccoli ( Brassica oleracea var. italica ) seeds using RAPD PCR.. Cabbage Breeding, In : Breeding

Untuk itu, perlu dievaluasi bentuk model antrian yang sedang digunakan Bank BRI Kantor Cabang Sumbawa dalam memberikan pelayanan dan mengusulkan alternatif

Misalnya jembatan ,jalan raya ,perumahan ,dermaga ,beton masif ,bendungan irigasi dan fondasi pelat penuh.Menurut SNI 03-0691-1996 semen Portland Pozzolan (PPC)

Title : Measurement of the cross section for associated production of a W boson and two b quarks with the CMS detector at the Large Hadron Collider..

Walaupun kegiatan investasi secara tidak langsung yakni dengan jalan membeli sejumlah saham bank berbentuk badan hukum Perseroan Terbatas, kurang mendapatkan

Jadi, yang menjadi perhatian dalam hal ini adalah bagaimana menentukan jumlah daya yang harus dibangkitkan oleh masing-masing pembangkit dalam suatu sistem tenaga listrik