• Tidak ada hasil yang ditemukan

Pengaturan Perilaku Pasukan NPC menggunakan Flocking Behavior berbasis Agent pada Permainan RTS

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pengaturan Perilaku Pasukan NPC menggunakan Flocking Behavior berbasis Agent pada Permainan RTS"

Copied!
31
0
0

Teks penuh

(1)

Pengaturan Perilaku Pasukan NPC

menggunakan

Flocking Behavior

berbasis

Agent

pada Permainan RTS

Dosen Pembimbing :

Moch. Hariadi S.T., M.T., Ph.D.,

Christyowidiasmoro S.T., M.Sc.,

(2)

Latar Belakang

• Pengembangan Permainan RTS Lume Wars

• Pasukan merupakan elemen yang hampir selalu ada dalam Permainan RTS – Contoh: Rome Total Wars, Age of Empire, C&C: General.

• Pergerakan Pasukan dalam permainan, sedapat mungkin dibuat mirip dengan pasukan dalam dunia nyata

–Contoh : Pasukan Romawi.

Flocking behavior merupakan salah metode yang digunakan dalam simulasi pergerakan berkelompok dalam permainan.[1]

(3)

Permasalahan

Dalam pembuatan permainan Lume Wars, dibutuhkan

pasukan yang dapat bertindak tanpa dikendalikan secara

langsung oleh pemain (Non Player Character).

Perilaku yang telah diterapkan pada pasukan didalam

permainan, diharapkan sesuai dengan rancangan perilaku

yang telah dibuat.

(4)

Tujuan

• Merancang dan menerapkan perilaku pada sekumpulan

pasukan yang nantinya akan digunakan pada permainan

Lume Wars

(5)

Skenario perilaku diterapkan pada pasukan NPC saja

Pasukan pada masing-masing ras berjumlah 10 unit

Metode pergerakan yang digunakan adalah

Flocking

behavior

yang akan dipengaruhi oleh suatu

agent

yang

merupakan karakter

hero

dalam permainan.

Target platform permainan yang dibuat adalah

android

device

(6)

Desain Sistem

Lume Wars

•Desain Art •Desain Sprite

•Perancangan Gameplay

•Perancangan Perilaku Hero NPC

•Perancangan Perilaku Pasukan NPC •Implementasi Jaringan

(7)

Penentuan

Perilaku

Pasukan

Perancangan

FSM Perilaku

FSM Perilaku

Penerapan

Penyatuan

Bagian

Permainan

(8)

IDLE PURSUIT

FOLLOW

SPAWN Berada di Kerumunan

EVADE Hero Idle ATTACK BACK TO POSITION DIE Hero Dekat Hero Jauh Hero Dead Musuh Dekat / Hero Attack HP Habis Musuh Mati Menunggu Respawn Time Hero Alive FSM Pada Koordinat Awal Hero Menghadang Hero Dead FSM Hero Alive

Desain Sistem

Keterangan :

= State Perilaku = Transisi / Kondisi Perilaku = Fungsi FSM lain

(9)

Hero Dead FSM Musuh Dekat HP Habis Musuh Mati Menunggu Respawn Time Pada Koordinat Awal Pada Koordinat Defense Pada Koordinat Defense Hero Respawn BACK TO POSITION ATTACK DIE SPAWN DEFEND ESCAPE Hero Alive FSM Hero Dead

Desain Sistem

Keterangan :

= State Perilaku = Transisi / Kondisi Perilaku = Fungsi FSM lain

(10)

Implementasi perilaku pada pasukan :

1. Perilaku dasar pada pasukan

2. Perilaku menggunakan FSM skenario yang dibuat

(11)

A. Perilaku

Idle

Parameter :

Arah

Koordinat

Idle Radius :

170 pixel

(12)

B. Perilaku

Walk

Parameter :

Arah

Koordinat

Movement Speed :

90

pixel/

detik

Image speed :

1.5 fps

(13)

C. Perilaku

Attack

Parameter:

Image speed :

3 fps

Attack range

Melee :

1

pixel

Range :

200

pixel

Auto-Attack range

Melee :

50

pixel

Range :

300

pixel

Attack Speed :

0.66 detik

(14)

Penerapan Perilaku berdasarkan FSM :

1. Kondisi

Hero Alive

2. Kondisi

Hero Dead

(15)

1.

Spawn & Respawn

Parameter

:

Koordinat

Spawn &

Respawn

Map

Jungle :

(576, 2592)

Map

Field :

(512, 736)

Respawn Cooldown

:

Implementasi : Perilaku FSM

Kondisi

Hero Alive

(16)

2.

Follow

Parameter :

Follow Point

Distance Behind Hero

:

220

pixel

= Arah gerak

= Jarak hero

dengan Follow Point

= Follow Point

Keterangan

Implementasi : Perilaku FSM

(17)

2.1

Penerapan

Flocking Behavior

Parameter :

Separation Force

Arrival Force (Cohesion + Alignment)

Separation Distance :

80 pixel

Maximum Separation Force :

4

Maximum Arrival Force :

Implementasi : Perilaku FSM

(18)

18

2.1.1

Separation

𝑓𝑠 =

1

𝑛

𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛

𝑚

− 𝑢𝑛𝑖𝑡_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛

𝑛 𝑚=1

𝑓𝑠 = 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑒 𝑓𝑠 ∗ 𝑚𝑎𝑥 _𝑓𝑠

fs = separation force fa = arrival force n = jumlah neighbor m = index neighbor

max_fs = gaya maksimum pada separation force

max_fa = gaya maksimum pada arrival force

2.1.2

Cohesion & Aligment (Arrival)

𝑓𝑎 = 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑒 ℎ𝑒𝑟𝑜_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 − 𝑢𝑛𝑖𝑡_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 ∗ max _𝑓𝑎

Keterangan :

Implementasi : Perilaku FSM

(19)

3. Evade

Parameter

:

Evade Point

Hero Location

Hero Ahead

Evade Radius :

80 pixel

Distance Ahead Hero:

160 pixel

Implementasi : Perilaku FSM

Kondisi

Hero Alive

Keterangan

= Pasukan dalam pengaruh Evade

= Pasukan tidak dalam pengaruh Evade

= Evade Point

= Evade Region

= Hero Ahead Distance, Arah Gerak Hero

(20)

3.1 Evading Force

𝑓𝑒 = 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑒 𝑢𝑛𝑖𝑡_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 − ℎ𝑒𝑟𝑜_𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 ∗ 𝑚𝑎𝑥 _𝑠𝑝𝑒𝑒𝑑

𝑓𝑒 = 𝑓𝑒 − 𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 ∗ 𝑚𝑎𝑥 _𝑓𝑒

Keterangan :

fe = evading force

max_fe = gaya maksimum pada evading force Velocity = kecepatan gerak pasukan

Max_speed = kecepatan gerak maksimum pasukan

Implementasi : Perilaku FSM

(21)

4.

Pursuit

Parameter :

Follow Point

Distance Behind Hero

Implementasi : Perilaku FSM

Kondisi

Hero Alive

Keterangan : = Follow Point

= Arah gerak untuk kembali ke kerumunan

(22)

1.

Defense

Parameter :

Koordinat Markas

Map Cave

(224,2688)

Map Jungle

(224,800)

Defense Point

Map Cave

(674,2688)

Map Jungle

(674,800)

Defense Radius :

170 pixel

Implementasi : Perilaku FSM

Kondisi

Hero Dead

Keterangan :

(23)

Pengujian :

Device

Device

yang digunakan :

Smartphone Device 1 Device 2 Device 3 Product Name Lenovo S880 Sony Xperia M Samsung Galaxy S

III I9300 Operating System Android 4.0.1 Ice Cream Sandwich Android 4.1 Jelly Bean Android 4.1.2 Jelly Bean Processor Cortex-A9 1 GHz Single Core Krait 1 GHz Dual Core Cortex-A9 1.4 GHz Quad Core

GPU PowerVR SGX531 Adreno 305 Mali-400MP

Memory 512 MB 1 GB 1 GB

Display Size 5.0 inches 4.0 inches 4.8 inches

Tablet Device 4 Device 5 Device 6 Product Name Galaxy Tab

GT-P1000 Galaxy Tab 7.0 Plus GT-P6200 Novo 7 Numy AX1 Operating System Android 2.3.6 Gingerbread, Rooted Android 4.2 Ice Cream Sandwich Android 4.2 Jelly Bean, Rooted Processor Cortex-A8 1GHz Single Core 1.2 GHz Dual Core MTK8389 Quad Core 1.2 GHz GPU PowerVR SGX 540 Mali-400MP PowerVR SGX 544MP Memory 512 MB 1 GB DDR3 1 GB

Display Size 7.0 inches 7.0 inches 7.0 inches

Disp. Resolution 600 x 1024 pixels 600 x 1024 pixels 600 x 1024 pixels

(24)

0 20 40 60 80 100 120 140 160 180 10 20 30 40 50 60 70 80 90 100 Fram e per Sec o n d (fp s) Jumlah Pasukan Hasil Average FPS Smartphone - Lenovo

Smartphone - Samsung Galaxy S3 Tablet- Ainol

Tablet - Samsung Galaxy Tab p-6200 Tablet - Samsung Galaxy Tab p1000 Smartphone - Sony Xperia M

Hasil Pengujian :

Device

(25)

0 20 40 60 80 100 120 10 20 30 40 50 60 70 80 90 100 Cp u L oad (%)

Hasil Average CPU Load

Smartphone - Lenovo

Smartphone - Samsung Galaxy S3 Tablet- Ainol

Tablet - Samsung Galaxy Tab p-6200 Tablet - Samsung Galaxy Tab p1000 Smartphone - Sony Xperia M

Hasil Pengujian :

Device

(26)

Hasil Pengujian :

Device

Memory Usage

0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000 10 20 30 40 50 60 70 80 90 100 M e m or y Usa ge (KB) Jumlah Pasukan

Hasil Average Memory Usage

Smartphone - Lenovo

Smartphone - Samsung Galaxy S3 Tablet- Ainol

Tablet - Samsung Galaxy Tab p-6200 Tablet - Samsung Galaxy Tab p1000 Smartphone - Sony Xperia M

(27)

Hasil Pengujian : FSM

No State Kondisi Tertentu Perilaku

Terlaksana Keterangan

1 Spawn - Ya

2 Pursuit 1. Hero dalam kondisi Attack/Idle Ya 2. Hero dalam kondisi Walk Ya

3 Follow 1. Pasukan tidak dalam kondisi menyerang Ya 2. Pasukan dalam kondisi Attack dan jarak dengan hero kurang dari 200 pixel

Tidak Masih dalam kondisi attack

4 Idle 1. Tidak semua pasukan berada pada Idle Radius Tidak Masih dalam kondisi follow 2. Seluruh pasukan ada pada Idle Radius Ya

3. Hero berada ditengah kerumunan pasukan Tidak Melakukan Perilaku Evade

5 Attack 1. Musuh berada disebelah unit pasukan Ya

2. Terdapat Hero diantara Pasukan dan Musuh Tidak Terkena Evade Force

6 Back to Position

1. Terdapat musuh disekitar pasukan Tidak Melakukan Kondisi Attack segera 2. Tidak terdapat musuh lain disekitar pasukan Ya

7 Escape - Ya

8 Evade - Ya

(28)

Hasil Pengujian : Survei

(29)

Kesimpulan

• Nilai FPS berbanding terbalik dengan Jumlah pasukan yang diujikan. Nilai FPS

rata-rata diatas 25 fps pada pengujian dengan jumlah pasukan 40, sehingga pada

pengujian menggunakan lebih dari 40 pasukan dinilai device berjalan dengan kondisi

berat atau lag.

• Dari hasil kuisioner, jawaban Sangat Baik tidak mencapai nilai 30%, sehingga dirasa

perilaku masih perlu dikembangkan.

• Dari hasil pengujian FSM, terdapat 17 kondisi yang mungkin terjadi dari total 10

perilaku yang dibuat. Sebanyak 64.7% kondisi perilaku terlaksana, sehingga perilaku yang telah diimplementasikan dirasa cukup sesuai dengan perilaku awal yang dibuat.

(30)

Referensi

1. Z. Shen and S. Zhou, “Behavior representation and simulation for military operations

on urbanized terrain,” International Journal of Computer Games Technology, vol. 82,

no. 9, 593–607 (2006)

2. C. W. Reynolds, “Flocks, Herds, and Schools : A Distributed Behavioral Model“ ACM

SIGGRAPH Conference, California(1987) 25–34.

3. C. W. Reynolds, “Steering Behavior for Autonomous Characters“ Game Developers

Conference, California (1999) 763-782.

4. Pemmaraju, Vijay ”The Three Simple Rules of Flocking Behaviors: Alignment,

Cohesion, and separation”, <http://gamedevelopment.tutsplus.com/tutorials/

the- three-simple-rules-of-flocking-behaviors-alignment-cohesion-and-separation--gamedev-3444> diakses 12 Januari 2014

(31)

Referensi

Dokumen terkait

lah hasil belajar mata pelajaran las listrik pada pe- serta didik kelas XI TP SMK Wisudha Karya Kudus. Agar penelitian yang dilakukan tidak me- nyimpang dari tujuan, maka

Penentuan karakteristik habitat Orangutan Sumatera berdasarkan hasil kajian penelitian terdahulu dan wawancara secara depth interview oleh beberapa LSM yang konsen dibidang

Jika pada penambahan gelatin dan NaCl tidak timbul endapan putih, tetapi setelah ditambahkan dengan larutan FeCl3 terjadi perubahan warna menjadi hijau biru hingga hitam,

Mengenai saksi keluarga dalam perceraian khul‟i itu diperbolehkan karena perkara perceraian adalah perkara khusus sedangkan khul‟i termasuk salah satu kategori

Karakteristik followers akun Twitter @EHIndonesia yang terdiri dari jenis kelamin, usia, tingkat pendidikan, jenis pekerjaan, tingkat pemasukan, dan tempat tinggal tidak

Pengertian kelas dalam penelitian tindakan kelas tidak hanya terbatas pada kelas yang sedang aktif melangsungkan proses belajar mengajar di dalam suatu ruang tertutup

Tantangan yang dihadapi sekarang adalah bagaimana upaya untuk membangun paradigma baru pendidikan Islam, visi, misi, dan tujuan, yang didukung dengan sistem kurikulum atau

Tujuan dari penelitian ini adalah melakukan identifikasi kejadian gempa bumi pendahuluan (foreshocks) dengan pendekatan korelasi silang sinyal seismik memanfaatkan data