• Tidak ada hasil yang ditemukan

SEMINAR TUGAS AKHIR PERIODE JANUARI Kata Kunci: XNA, Game, Flex-Linear-Motion Battle System.

N/A
N/A
Protected

Academic year: 2021

Membagikan "SEMINAR TUGAS AKHIR PERIODE JANUARI Kata Kunci: XNA, Game, Flex-Linear-Motion Battle System."

Copied!
6
0
0

Teks penuh

(1)

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

1 Arimas Artadi – 5104 100 062

DESIGN AND IMPLEMENTATION OF FLEX-RANGE LINEAR MOTION

BATTLE SYSTEM ON MULTIPLAYER FIGHTING GAME

Arimas Artadi, Ir. Suhadi Lili

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi

Sepuluh Nopember

Abstrak - Perkembangan fighting game akhir-akhir ini, tidak banyak mengalami perubahan gaya

permainan. Pada era permainan multiplayer, fighting game belum benar-benar mengadopsi permainan

multiplayer. Permainan dengan banyak pemain cenderung membuat permainan menjadi sederhana.

Flex-Linear-Motion Battle System (F-LMBS) merupakan sebuah sistem pertarungan yang

diterapkan oleh Bandai Tales Studio pada role playing game (RPG). F-LMBS memungkinkan pemain

untuk mengendalikan karakter secara linear terhadap satu lawan, sementara tidak membatasi gerakan

karakter pada lingkungan tiga dimensi.

Dengan menerapkan F-LMBS pada fighting game, memungkin-kan permainan untuk dilakukan

dengan banyak pemain. Karena pada F-LMBS karakter dapat digerakkan secara linear, eksekusi kombo

dan special dapat dilakukan dengan memasukkan kombinasi input.

Kata Kunci: XNA, Game, Flex-Linear-Motion Battle System.

1. Pendahuluan

Fighting game merupakan salah satu jenis game

yang memiliki jumlah penggemar terbesar. Tujuan utama dari game ini adalah mengalahkan lawan yang dikendalikan oleh pemain lain atapun AI.

Seiring dengan perkembangan teknologi, banyak terdapat perubahan pada genre fighting game. Perubahan menonjol yang terjadi pada genre fighting game adalah pada controller mapping sehingga pengendalian karakter menjadi lebih mudah. Dengan controller mapping yang baru pemain dapat melakukan eksekusi jurus-jurus dengan lebih mudah dan lebih tepat.

Disamping perubahan pada controller mapping, fighting game berkembang menjadi lebih nyata dengan mengimplementasikan grafis tiga dimensi serta rugdoll untuk mensimulasikan efek dari setiap serangan ke tubuh karakter. Dengan adanya perkembangan ini perkembangan selanjutnya dari fighting game terfokus pada perkembangan grafik dan perkembangan physics engine untuk menghasilkan sebuah game yang lebih menarik untuk dilihat serta lebih nyata.

Dengan fokus pengembangan seperti pada penjelasan di atas, sistem permainan pada fighting game tidak banyak mengalami perubahan. Permainan

dilakukan pada satu mesin, dan hanya dapat dimainkan oleh satu sampai dua pemain. Untuk mengisi kekurangan ini beberapa produsen fighting game membuat terobosan dengan fighting game yang dapat dimainkan secara multiplayer.

Tetapi secara umum multiplayer fighting game memiliki batasan pada kompleksitas gerakan atau pada sudut pandang kamera.

Makalah ini terdiri dari beberapa bab, yang dijelaskan sebagai berikut:

BAB I. PENDAHULUAN

Bab ini berisi latar belakang masalah, tujuan dan manfaat pembuatan tugas akhir, permasalahan, batasan masalah, metodologi yang digunakan, dan sistematika penyusunan tugas akhir.

BAB II. TINJAUAN PUSTAKA

Bab ini membahas beberapa teori penunjang yang berhubungan dengan pokok pembahasan dan mendasari pembuatan tugas akhir ini.

BAB III. DESAIN DAN IMPLEMENTASI

Bab ini membahas desain dari sistem yang akan dibuat meliputi: desain database, arsitektur, proses, antarmuka perangkat lunak, dan implementasi dari de

(2)

SEM sain siste BAB Bab ini m dengan m dan evalu BAB Bab yang dil aplikasi s 2. Flex F-R pertarung dari satu Fitur sistem p umumny mempert Kebebasa kombinas bagaiman Gambar d G Pada kiri, kara lawan ya MINAR TUGA em yang dilaku B IV. UJI CO membahas uji melihat outpu uasi untuk me B V. PENUTU ini berisi ke lakukan serta selanjutnya.. x-Range Linea LMBS di gan pemain d lawan secara r yang membu pertarungan a adalah ke tahankan k an gerak in si input pada na F-R LMB di bawah Gambar Gera a saat pemain akter bergera ang sedang m AS AKHIR PE

ukan pada tah

OBA DAN EV i coba dari ap ut yang dihasil engetahui kem UP esimpulan da a saran untu ar Motion Ba ibangun aga dapat bertarun real time. uat F-R LMB pada fightin emampuan F-kebebasan g ni tidak me fighting gam BS bekerja d akan linear p n menekan to ak mundur da menjadi foku ERIODE JAN hap desain. VALUASI plikasi yang di lkan oleh apli mampuan aplik

ari hasil uji uk pengemban attle System ar pada seb ng melawan l BS berbeda den ng games -R LMBS u gerak kara ngurangi ele me. Untuk ilus dapat dilihat pada F-LMBS ombol kanan an maju terh usnya. Sedang NUARI 2010

2 ibuat ikasi, kasi. coba ngan buah lebih ngan pada untuk akter. emen strasi pada S dan hadap gkan

tombol atas d khusus jika lainnya. Gamb Ketika t dapat bergera atas. Geraka menjadi focu Ga Pemain karakternya, Jika jumlah memilih lawa 3. Fighting Pada fig dimainkan da diberikan sam yang sedang diberikan. A dieksekusi m sebelumnya s 4. Framew XNA G pengembang memudahkan Microsoft Wi memperluas Ari dan bawah ti tidak dikom bar Gerakan tombol free r ak dengan beb an ini relatif te us serangan. ambar Mengg dapat men seperti yang t lawan lebih an mana yang g Game ghting game apat berubah-ma. Hal ini

dilakukan ole Animasi yang melainkan m selesai terlebih work XNA 2.0 Game Studio terintegrasi n pembuatan indows dan Xb tool-tool Mic imas Artadi – dak menghas mbinasikan de

free run pad

run ditekan m bas, seperti pa erhadap lawan ganti fokus se ngganti focu terlihat pada dari satu, p akan dia sera

, gerakan k -ubah walaupu bergantung p eh karakter pa dilakukan ti menunggu a h dahulu. 0 o merupakan yang diran n game ba box360. XNA crosoft Visual 5104 100 062 silkan gerakan engan tombol da F-LMBS maka karakter ada gambar di n yang sedang erangan us serangan gambar 2.7.3 pemain dapat ang. karakter yang un input yang pada gerakan ada saat input dak langsung animasi yang n lingkungan ncang untuk agi platform A Game Studio Studio untuk 2 n l r i g n . t g g n t g g n k m o k

(3)

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

3 Arimas Artadi – 5104 100 062 mendukung XNA Framework, sebuah library berisi

kelas-kelas kode teratur yang fungsinya dikhususkan untuk tujuan pengembangan game. Sebagai tambahan, XNA Game Studio mengikutsertakan tool-tool untuk menggabungkan grafis dan audio content ke dalam game.

XNA Framework dirancang untuk serupa dengan .NET Framework dalam hal pola-pola rancang dan idiom. Dengan XNA Game Studio, pengembang game mampu menggunakan fungsi-fungsi baik dari XNA Framework maupun .NET Framework pada game mereka. Gunakan XNA Framework untuk hal-hal yang bersifat game seperti me-render grafis dan menangani input, lalu gunakan .NET Framework untuk hal-hal yang lebih bersifat general programming.

5. Deskripsi Perangkat Lunak Secara Umum

Sebagaimana telah diuraikan sebelumnya, pada tugas akhir ini akan dibangun sebuah perangkat lunak fighting game yang memiliki fitur multiplayer. Multiplayer pada perangkat lunak ini menggunakan LAN. Pada fighting game ini pemain memberikan kombinasi input untuk menghasilkan sebuah jurus special.

Perangkat lunak ini memiliki beberapa interface untuk berinteraksi dengan pemain. Sehingga pemain dapat memilih karakter yang akan digunakan serta area tempat pertarungan.

Dalam perangkat lunak ini pemain dapat memilih untuk membuat ruangan permainan atau bergabung ke dalam ruang yang telah diciptakan oleh pemain lain.

6. Perancangan dan Arsitektur Aplikasi

Perangkat lunak ini dibangun menggunakan framework XNA 2.0 dan didukung dengan bahasa shader HLSL. Untuk menangani network pada perangkat lunak ini digunakan modul Games for Windows – Lives. Dengan menggunakan modul tersebut perangkat lunak dapat menampung sebanyak maksimum 32 pemain, tetapi untuk perangkat lunak ini jumlah pemain dibatasi sampai maksimum 4 pemain. Topologi yang digunakan pada sistem networking pada game ini adalah client server, seperti yang terlihat pada Gambar 3.1.1.

Gambar Client Server Topologi

Aplikasi ini memiliki usecase sebagai berikut: 1. Membuat sesi permainan online

2. Bergabung pada sesi permainan 3. Memulai sesi permainan 4. Memainkan permainan 5. Merubah setting permainan

Aplikasi dibagi menjadi beberapa package yang masing-masing package seperti yang tergambarkan dalam Gambar di bawah.

Masing-masing package dalam aplikasi ini berfungsi sebagai berikut:

cmp Component Diagram GameBaseComponents + Component + DrawableComponent + Components + Entities

(from Class Model)

GameData + ActionMode + Art + ArtType + CharacterAction + CharacterActionManager + CharacterSkills + CharacterSpecialArts + CharacterStats + ModelAnimationData + Skill + SkillActionSquence + SkillT ype + ContentPipeline + SkillSystem

(from Class Model)

GameMenu + BaseMenuItem + IconicMenuItem + MenuItem + MenuItemSelection + MenuItemState + MenuManager + IMenuControler + ListT able

(from Class Model)

InputManager + Directions + InputManager + KeyboardInput + MouseInput + IInputHelper + InputHandlers

(from Class Model)

IndependentRhythm + IndependentRythm + Program + GameScreen + GameScreenManager + Network

(from Class Model)

«use» «use» «use» «use» «use» «use» «use» «use»

(4)

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

4 Arimas Artadi – 5104 100 062 - GameBaseComponent package ini berfungsi

untuk mensimulasikan komponen-komponen yang terdapat dalam aplikasi. - GameData, package ini berfungsi untuk

menampung dan merepresentasikan data yang dibutuhkan dalam aplikasi.

- InputManager, package ini berfungsi untuk menerjemahkan input dan memberikan input pada fokus aplikasi.

- GameMenu, package ini berfungsi untuk merepresentasikan dan menggambarkan menu pada layar aplikasi.

- IndependentRythm, package ini merupakan package yang mengatur package-package lain yang ada dalam aplikasi ini.

6.1 desain dan implementasi GameData

Pada sebuah fighting game, gerakan karakter harus dapat dipasang-pasangkan dengan gerakan-gerakan lain yang sesuai. Dengan cara seperti ini, kombinasi serangan yang dapat dilakukan oleh karakter dapat ditingkatkan. Agar sebuah gerakan dapat dipasangkan, terdapat beberapa atribut yang harus ada pada kelas yang menyimpan data animasi. Antara lain:

- Id animasi. - Akhir animasi. - Animasi syarat.

Implementasi dari kelas animasi adalah sebagai berikut.

private float baseArtDamage; private float movementSpeed; private float mpConsume;

private int

numberOfanimationSequence; private int priority; private String requiredArt; private String processingClass; private String collisionId; private ArtType artType;

privateModelAnimationData animationData;

Sedangkan tiga atribut pada penjelasan di atas terdapat dalam kelas animationData.

6.2 Desain dan implementasi GameComponent Untuk mendukung pergerakan kamera yang dapat berganti posisi dengan dinamis, pada kelas kamera terdapat behavior. Atribut ini menentukan

apakah fungsi yang digunakan untuk merubah posisi dari sebuah kamera.

Teknik perhitungan posisi kamera yang dilakukan adalah seperti berikut.

Menentukan apakah fungsi yang digunakan dirubah atau tidak.

Menentukan jarak dan vector antara dua karakter. Menentukan titik tengah dari dua karakter

Menentukan letak kamera terhadap titik tengah vector antara dua karakter

6.3 Desain dan implementasi Network

Pada sebuah game yang memiliki fitur network, sinkronisasi gerakan, posisi dan rotasi yang dilakukan oleh karakter yang sedang dimainkan harus dijaga. Setiap kali dilakukan update, maka data mengenai gerakan, posisi dan rotasi harus dikirimkan dan dilakukan sinkronisasi. Jika cara ini dilakukan, data yang harus dikirim perdetiknya akan menjadi besar, karena dalam satu detik dapat terjadi beberapa kali update data.

Untuk mengurangi jumlah data yang harus dikirim dan disinkronisasi, pengiriman data dilakukan ketika karakter mendapatkan input baru, atau ketika sudah terjadi update sebanyak beberapa kali.

Lakukan update pada input dan karakter

Jika karakter mendapatkan input baru yang berbeda dengan input sebelumnya.

Kirimkan data baru ke server Kembalikan counter ke nol Jika tidak

Tambahkan nilai counter dengan satu Jika counter telah mencapai nilai tertentu

Kirimkan data baru ke server Kembalikan counter ke nol

7. Uji Coba User Interface

Uji coba ini dilakukan untuk melihat apakah fungsi-fungsi dasar dari menu yang ada pada perangkat lunak ini berjalan sebagaimana mestinya atau tidak. Hasil uji coba ditunjukkan dengan gambar-gambar Graphical User Interface.

(5)

SEM

Uji coba

‐ Uj ‐ Uj ‐ Uj Hasi Gambar d 8. Uji C

ujicoba

karakter

sepenuh

keyboar

karakter

MINAR TUGA

a ini meliputi

ji coba menu a ji coba menu p ji coba lobi pe il dari uji cob

dibawah. Coba Permai

Pada bagia

yang dilak

r dalam per

hnya dikenda

rd

. Kendali

r adalah seba

Tombol

Up

merupakan

mengendalik

sesuai tombo

Tombol

R1

run

yang m

tombol

Up

d

Tombol

A

:

dasar.

Tombol

B

:

kritikal,

s

damage

ting

Tombol

X

bertahan.

AS AKHIR PE

i:

awal permaina pemilihan ser ermainan. a ini, seperti inan

an ini akan

kukan dalam

rmainan. G

alikan denga

yang dapat

agai berikut:

p, Down,

tombol

kan karakte

ol yang ditek

1

: Merupak

merubah fung

dan

Down

.

Merupakan

Merupakan t

serangan

y

ggi tetapi ger

: Merupaka

ERIODE JAN an rver yang terlihat

n dibahas h

m menggerak

erakan kara

an mengguna

dilakukan p

Right, Le

arah un

r untuk be

kan.

kan tombol

gsi gerakan p

tombol seran

tombol seran

yang mem

rakan lambat

an tombol un

NUARI 2010

5 pada

hasil

kkan

akter

akan

pada

ft

:

ntuk

erlari

free

pada

ngan

ngan

miliki

.

ntuk

Contoh n yang diberika  Dow mak kem Tom telah  A – mak kem deng Uji coba pemain dapa permainan in Percobaa sebagai berik  A-A kom  A-A mela Hasil d kombinasi se 9. Kesimpu Dari ha implementasi yang dilaku sebagai berik Ari notasi input y an pemain ada wn – A – A, kna, pemain mudian menek mbol A ditek h dilepas. – A + Down, kna, pemain mudian menek gan tombol Do a dilakukan at melakukan ni. an dilakukan kut: A-A, sehingg mbo pertama A-Down+A, akukan kombo dari percobaa perti pada Ga ulan asil pengama i, dan proses ukan, penulis kut: imas Artadi – ang digunaka alah sebagai b notasi input menekan to kan tombol kan ketika to notasi input n menekan kan tombol A own. untuk mema serangan ko dengan mema ga karakter sehingga o kedua. an ini adal ambar dibawah atan selama uji coba per s mengambil 5104 100 062 an dalam inpu berikut: t ini memiliki ombol Down A dua kali ombol Down t ini memiliki tombol A A bersamaan astikan bahwa ombinasi pada asukkan input r melakukan karakter lah serangan h. perancangan rangkat lunak l kesimpulan 2 t i n . n i , n a a t n r n , k n

(6)

SEMINAR TUGAS AKHIR PERIODE JANUARI 2010

6 Arimas Artadi – 5104 100 062 1. Pencocokkan animasi berdasarkan animasi yang

sedang berlangsung dapat membantu dalam menghasilkan kombinasi yang berbeda, bergantung pada animasi yang sedang berlang-sung saat itu.

2. Fungsi perhitungan letak kamera yang dapat dirubah, menyebabkan kamera dapat bergerak dengan dinamis dan dapat mengikuti gerakan karakter meskipun jarak kedua karakter jauh. 3. Dengan melakukan delay pada saat pengiriman

data serta hanya mengirimkan jika terjadi perubahan input, data yang diperlukan ketika melakukan permainan multiplayer menjadi lebih terjamin. Hal ini terlihat dari tidak adanya gerakan yang terputus ketika permainan dilakukan.

4. Sinkronisasi antara komputer yang didapatkan permainan dapat dilakukan secara multiplayer

dengan dua sampai empat pemain.

Dalam pembuatan makalah ini, terdapat beberapa kemungkinan pengembangan aplikasi yang dilakukan, yaitu:

1. Collision detection tidak sepenuhnya tepat, terkadang obyek dinyatakan berbenturan walaupun tidak benar-benar berbenturan. Untuk menutupi kekurangan ini dapat dilakukan dengan menggunakan OBB pada algoritma collision detection. Hal ini tentu berpengaruh pada beban kerja processor.

2. Effect dapat digunakan untuk menyembunyikan benturan yang kurang wajar. Selain itu effect akan menyebabkan game terlihat lebih menarik.

3. Perpindahan kamera yang halus seperti pada sistem perangkat lunak ini akan menyebabkan karakter pemain tidak terlihat untuk beberapa waktu. Untuk mengatasi hal ini perpindahan kamera dapat dipercepat. 4. Perpindahan kamera yang cepat akan

menyebabkan tampilan tidak indah. Untuk memperbaiki penampilan dapat digunakan post processing effect seperti blur.

10. Daftar Pustaka

Ferraris, Jonathan. Quadtrees, <URL : http://www.gamedev .net/reference/programming/fea tures/quadtrees/ >

Gank Of Four. Singleton Design Pattern in C#

and VB .NET, <URL :

http://www.dofactory.com/Patterns/ PatternSingleton.aspx>

Gank Of Four. Observer Design Pattern in C#

and VB .NET, <URL

http://www.dofactory.com/Patterns/ PatternObserver.aspx>

Gank Of Four. Strategy Design Pattern in C#

and VB .NET, <URL

http://www.dofactory.com/Patterns/ PatternStrategy.aspx>

Rabin, Steve. Introduction to Game

Gambar

Gambar Client Server Topologi  Aplikasi ini memiliki usecase sebagai berikut:

Referensi

Dokumen terkait