• Tidak ada hasil yang ditemukan

3D Fighting Game dengan Menggunakan Unity Game Engine 4.0.

N/A
N/A
Protected

Academic year: 2017

Membagikan "3D Fighting Game dengan Menggunakan Unity Game Engine 4.0."

Copied!
19
0
0

Teks penuh

(1)

ABSTRAK

Fighting game merupakan sebuah genre game yang dikenal oleh banyak pemain (gamer) di seluruh dunia. Hal ini terlihat dari banyaknya game fighting yang dibuat dan terkenal, seperti Tekken, Street Fighter, atau King of Fighter. Dilihat dari segi pemain, terdapat beberapa cara pandang player di dalam game, dan salah satu yag sangat terkenal adalah first-person, dimana player melihat sebagai orang pertama/ karakter yang dimainkan. Laporan ini membahas pembuatan sebuah aplikasi game yang menggabungkan genre fighting dan sudut pandang first-person. Agar permainan lebih menarik, aplikasi yang dibuat mengimplementasikan sistem multiplayer, dimana banyak pemain bermain bersama. Untuk pembuatan aplikasi, digunakan beberapa aplikasi pendukung yang bersifat gratis (freeware) yang digunakan, yaitu Unity Game Engine 4.0, sebagai aplikasi pembuat game dan Photon Unity Networking(PUN)sebagai server yang digunakan untuk mengaplikasikan sistem multiplayer. Laporan ini juga akan membahas rancangan,analisa, pemodelan dan implementasi dari aplikasi yang dibuat. Setelah aplikasi selesai, maka aplikasi akan diuji dengan cara black-box testing. Pengujian kemudian dilanjutkan dengan mengujicobakan aplikasi pada 20 orang dan diakhiri dengan penilaian aplikasi lewat kuisioner. Hasil dari pengujian dan kuisioner tersebutlah yang kemudian ditelaah untuk mengambil kesimpulan dan saran.

(2)

vi

ABSTRACT

Fighting game is a well-known genre among the player throughout the world. It can be seen by the number of the fighting game which is made and became very popular, like Tekken, Street Fighter, or King of Fighter. From the way player sees the game, there are some way how a player sees inside the game, and one of the most popular is first-person, where the player sees as the first-person/the character played in the game. This report discuss the systematic making of a game application that combine fighting genre with first-person way. To make the game become much more interesting, the application implements multiplayer system, where a lot of palyer can play together. In this game

application’s making, there are some freeware thrid-party applications that are used, and those application are Unity Game Engine 4.0 as game maker application, and Photon Unity Networking that is used as the server for implementimg the multiplayer system. This report will discussed the design, analysist, and implementation of the application. After the making of application is finished, the application will be tested using black-box testing method. Then, the testing will be continued by testing the application to 20 persons and ended by scoring of application using quisioner. The result of the testing and the quisioner will then be seen to take the conclusion and suggestion.

(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

1.4 Ruang Lingkup Penelitian ... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 3

BAB II DASAR TEORI ... 5

2.1 Unity Game Engine 4.0 ... 5

2.2 Photon Unity Networking ... 5

(4)

viii

BAB III ANALISA DAN PEMODELAN ... 11

3.1 Use CaseDiagram ... 11

3.2 Activity Diagram ... 13

3.2.1 Activity Diagram Memulai Game ... 13

3.2.2 Activity Diagram Membuat Room ... 14

3.2.3 Activity Diagram Bergabung ke Room ... 15

3.2.4 Activity Diagram Combo System ... 16

3.2.5 Activity Diagram Skill ... 17

3.2.6 Activity Diagram Damage, Kill score, Death Score ... 18

3.2.7 Activity Diagram Memunculkan Pickup ... 19

3.2.8 ActivityDiagram Menggerakan karakter ... 20

3.2.9 ActivityDiagramRespawn ... 21

3.2.10 Activity Diagram Esc Menu ... 22

3.2.11 Activity Diagram Scoreboard ... 23

3.2.12 Activity Diagram Chat ... 24

3.2.13 Activity Diagram Memenangkan permainan ... 25

3.3 Script ... 26

(5)

3.5.4 Respwan ... 42

3.5.5 Scoreboard ... 43

3.5.6 ESC Menu ... 43

3.5.7 Winning Window... 44

BAB IV HASIL IMPLEMENTASI... 45

4.1 Loading dan Koneksi Aplikasi ke Photon Server ... 45

4.2 MainMenu ... 46

4.2.1 Credit dan Control Menu ... 47

4.2.2 Membuat Room... 47

4.2.3 Bergabung ke Room ... 48

4.3 Esc Menu ... 48

4.3.1 Disconnect and Leave Room ... 49

4.3.2 Return to Game ... 49

(6)

x

5.3 Pengujian Pemilihan Karakter ... 59

5.4 Pengujian Membuat Room ... 59

5.5 Pengujian Nama Player ... 60

5.6 Pengujian Tombol Credit ... 60

5.7 Pengujian Tombol Control ... 61

5.8 Pengujian Tombol Back ... 61

5.9 Pengujian Tombol Exit ... 61

5.10 Pengujian Room List ... 62

5.11 Pengujian Memasuki Room ... 62

5.12 Pengujian Scoreboard ... 63

5.13 Pengujian Menampilkan Esc Menu ... 63

5.14 Pengujian Tombol Back to Game ... 64

5.15 Pengujian Tombol Disconnect ... 64

5.16 Pengujian Tombol Quit (Esc Menu) ... 65

5.17 Pengujian Combo Window ... 65

5.18 Pengujian Pergerakan ... 66

5.24 Pengujian Terkena Pukulan ... 70

5.25 Pengujian Terjatuh ... 70

5.26 Pengujian Terbangun ... 71

5.27 Pengujian Kill Score ... 71

5.28 Pengujian Death Score ... 71

5.29 Pengujian Respwan ... 72

(7)

5.31 Pengujian Pickup ... 73

5.32 Pengujian Chat ... 74

5.33 Hasil Kuisioner ... 74

5.33.1 Hasil Kuisioner 1 ... 74

5.33.2 Hasil Kuisioner 2 ... 76

5.34 Delay ... 77

BAB VI SIMPULAN DAN SARAN ... 79

6.1 Kesimpulan ... 79

6.2 Saran ... 79

(8)

xii

DAFTAR GAMBAR

Gambar 2.1 Game loop ... 6

Gambar 2.2 Contoh mecanim... 7

Gambar 3.1 Use case diagram ... 11

Gambar 3.2 Activity diagram memulai game ... 13

Gambar 3.3 Activity diagram membuat room ... 14

Gambar 3.4 Activity diagram bergabung ke room ... 15

Gambar 3.5 Activity diagram combo system ... 16

Gambar 3.6 Activity diagram skill ... 17

Gambar 3.7 Activity diagram damage, kill score, death score ... 18

Gambar 3.8 Activity diagram memunculkan pickup ... 19

Gambar 3.9 Activity diagram gerak ... 20

Gambar 3.10 Activity diagram respawn ... 21

Gambar 3.11 Activity diagram esc menu ... 22

Gambar 3.12 Activity diagram scoreboard ... 23

Gambar 3.13 Activity diagram chat ... 24

Gambar 3.14 Activity diagram memenangkan game ... 25

Gambar 3.15 Diagram script mouse look ... 26

Gambar 3.16 Script network character ... 27

Gambar 3.17 Scrip PlayerMovement ... 28

Gambar 3.18 Script PlayerHealth ... 29

Gambar 3.19 Script ComboController ... 30

Gambar 3.20 Script MovementSFX ... 31

Gambar 3.21 Script HitDetector ... 31

Gambar 3.22 Script OthePlayerInfo ... 32

Gambar 3.23 Script MutiplayerManager ... 33

Gambar 3.24 Script GameChatAndInfo ... 34

(9)

Gambar 3.26 HintDatabase ... 37

Gambar 3.27 PlayerData ... 37

Gambar 3.28 ChatData ... 38

Gambar 3.29 ProjectileController ... 38

Gambar 3.30 PickupControlScript ... 39

Gambar 3.31 Mecanim diagram karakter ... 40

Gambar 3.32 Connecting window ... 40

Gambar 3.33 Disconnecting window ... 41

Gambar 3.34 Main menu ... 41

Gambar 3.35 In-game user interface ... 42

Gambar 3.36 Respwan ... 42

Gambar 3.37 Scoreboard ... 43

Gambar 3.38 Esc menu ... 43

Gambar 3.39 Winning window ... 44

Gambar 4.1 Loading ... 45

Gambar 4.2 Connecting ... 45

Gambar 4.3 Potongan kode Connecting ... 46

Gambar 4.4 Main menu ... 46

Gambar 4.5 Credit dan controlwindow ... 47

Gambar 4.6 Potongan kode membuat room ... 47

Gambar 4.7 Daftar room ... 48

Gambar 4.8 Esc menu ... 48

Gambar 4.9 Potongan kode disconnect ... 49

Gambar 4.10 Potongan kode quit ... 49

Gambar 4.11 Scoreboard ... 50

Gambar 4.12 Potongan kode scoreboard ... 50

Gambar 4.13 Combo window ... 51

(10)

xiv

Gambar 4.15 Potongan kode pukulan ... 52

Gambar 4.16 Potongan kode pengkodean combo ... 53

Gambar 4.17 Bertahan ... 53

Gambar 4.18 Damage ... 54

Gambar 4.19 Respawn ... 54

Gambar 4.20 Karakter sedang membidik untuk menembakan projectile ... 55

Gambar 4.21 Pickup ... 56

Gambar 4.22 Tampilan menang ... 56

(11)

DAFTAR TABEL

Tabel 5.1 Pengujian koneksi ... 58

Tabel 5.2 Pengujian winning score bernilai nol ... 58

Tabel 5.3 Pengujian pemilihan karakter ... 59

Tabel 5.4 Pengujian membuat room dengan nama kosong... 59

Tabel 5.5 Pengujian nama player ... 60

Tabel 5.6 Pengujian tombol credit ... 60

Tabel 5.7 Pengujian tombol control ... 61

Tabel 5.8 Pengujian tombol back ... 61

Tabel 5.9 Pengujian tombol exit ... 62

Tabel 5.10 Pengujian room tidak tersedia ... 62

Tabel 5.11 Pengujian Memasuki room ... 63

Tabel 5.12 Pengujian scoreboard ... 63

Tabel 5.13 Pengujian menampilkna esc menu ... 64

Tabel 5.14 Pengujian tombol back to game ... 64

Tabel 5.15 Pengujian tombol disconnect ... 64

Tabel 5.16 Pengujian tombol quit ... 65

Tabel 5.17 Pengujian melihat combo window ... 65

Tabel 5.18 Pengujian bergerak maju ... 66

Tabel 5.19 Pengujian berlari ... 67

Tabel 5.20 Pengujian pukulan kiri ... 67

Tabel 5.21 Pengujian combo ... 68

Tabel 5.22 Pengujian bertahan ... 69

Tabel 5.23 Pengujian skill ... 69

Tabel 5.24 Pengujian terkena pukulan ... 70

Tabel 5.25 Pengujian terjatuh ... 70

Tabel 5.26 Pengujian terbangun... 71

(12)

xvi

Tabel 5.28 Pengujian death score ... 72

Tabel 5.29 Pengujian respawn ... 72

Tabel 5.30 Pengujian memenangkan permainan ... 72

Tabel 5.31 Pengujian pickup ... 73

(13)

DAFTAR LAMPIRAN

LAMPIRAN A KUISIONER 1 ... A

(14)

1

BAB I PENDAHULUAN

1.1

Latar Belakang

Game dengan genre fighting merupakan sebuah game yang digemari oleh pemain/player. Genre itu sendiri merupakan sebuah aspek yang harus dipertimbangkan dalam membuat sebuah game. Selain genre, aspek lainnya yang perlu dilihat adalah aspek sudut pandang player di dalam game. Sudut pandang yang umum digunakan adalah first-person dan third-person. Pada sudut pandang first-person, player melihat sebagi orang pertama, seperti di dunia nyata. Pada sudut pandang third-person, player melihat seperti sesorang yang memantau orang lain/karakter di dalam game. Untuk game dengan genre fighting, selama ini sudut pandang yang digunakan adalah first-person.

Ide dalam aplikasi ini adalah membuat sebuah game dengan genre fighting, namun menerapkan sudut pandang first-person. Di dalam game, player melihat sebagai orang pertama, namun layaknya game figting , player masih bisa menggunakan berbagai combo yang disediakan. Diperlukan juga sebuah sistem untuk memadukan animasi dan combo yang hendak dikeluarkan. Agar sisi fighting dan first-person ini dapat berpadu, maka sistem multiplayer akan diimplementasikan. Player akan berhadapan dan bertarung dengan player lainnya dengan adanya sistem multiplayer ini.

Unity Game Engine adalah sebuah engine yang dipakai untuk membuat game dari dasar. Game engine ini merupakan game engine yang sangat terkenal di kalangan pembuat game. Pembuatan aplikasi ini sendiri akan menggunakan Unity Game Engine 4.0 , dan bahasa pemrograman yang akan dipakai adalah C#.

(15)

1.2

Rumusan Masalah

Dari latar belakang yang telah dijabarkan pada bagian 1.1, maka dapat ditarik rumusan masalah sebagi berikut:

1. Bagaimana cara mengimplementasikan fighting game ke dalam sebuah game berbasis first-person ?

2. Bagaimana mengiplemenetasikan combo yang responsif yang dapat dipakai oleh karakter dalam game?

3. Bagaimana melakukan sinkronisasi gerakan animasi yang dimasukan oleh player ke semua komputer player yang terhubung?

4. Seberapa besar delay mungkin terjadi pada satu komputer dengan komputer lainnya?

1.3

Tujuan

Dari rumusan masalah yang telah dijabarkan di bagian 1.2, maka dapat ditarik tujuan sebagai berikut:

1. Mengimplementasikan fighting game ke dalam sebuah game berbasis first-person. 2. Mengimplementasikan combo yang responsif yang dapat dipakai oleh karakter

dalam game.

3. Melakukan sinkronisasi gerakan animasi yang dimasukan oleh player ke semua komputer player yang terhubung .

4. Mengukur delay yang terjadi pada satu komputer dengan komputer lainnya.

1.4

Ruang Lingkup Penelitian

Ruang lingkup penelitian dari aplikasi yang dibuat adalah sebagi berikut: 1. Server yang digunakan adalah Photon Unity Networking dengan lisensi gratis

(Freeware).

2. Game engine yang digunakan adalah Unity Game Engine 4.0 dengan lisensi gratis (Freeware).

3. Aplikasi game tidak mengimplementasikan sistem Artificial Intelligence (AI). 4. Batas player yang dapat ditampung di dalam sebuah room (ruang bermain) adalah

10 orang, dapat diubah sesuai kebutuhan dari developer.

5. Batas maksimal player yang dapat bermain secara keseluruhan (tanpa menghitung jumlah room dan dengan menggunakan lisensi gratis) adalah 100 orang .

(16)

3

7. Aplikasi dijalankan di sebuah desktop computer atau laptop dengan sistem operasi windows.

8. Game dimainkan dengan menggunakan mouse dan keyboard.

9. Sound effect dan background song yang dipakai merupakan file dengan lisensi gratis.

10. Bahasa pemrograman yang dipakai adalah C#.

1.5

Metodologi Penelitian

Bagian sub bab ini menguraikan mengenai metodologi penelitian yang digunakan dalam pembuatan aplikasi dan penelitian yang dilakukan. Adapun penjabarannya adalah sebagai berikut:

1. Subjek daripada penelitian dari pembuatan aplikasi ini adalah mahasiswa Fakultas Teknologi Informasi Universitas Kristen Maranatha angkatan 2010. 2. Pengambilan data untuk membuat aplikasi dilakukan dengan mengumpulkan

referensi dari website yang sesuai dengan aplikasi yang akan dibuat.

3. Pengujian aplikasi dilakukan dengan cara meminta 20 mahasiswa Fakultas Teknologi Informasi Universitas Kristen Maranatha angkatan 2010 untuk mencoba memainkan aplikasi game yang telah dibuat dan mengisikan kuisioner.

4. Pengujian dilakukan dengan rentang waktu satu minggu, dimulai dari tanggal 3 November 2014 sampai dengan tanggal 10 November 2014.

1.6

Sistematika Penulisan

Bagian 1.6 membahas tentang sistematika penulisan yang dipakai di dalam laporan ini. Sistematika tersebut adalah sebagi berikut::

BAB 1 : Pendahuluan

Bab ini menjabarkan latar belakang masalah yang menjadi dasar dibuatnya penelitian, rumusan masalah, tujuan, ruang lingkup penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2 : Dasar Teori

Bab ini menjabarkan tentang teori-teori yang dipakai untuk mendukung penelitian ini.

BAB 3 : Analisia dan Pemodelan

(17)

BAB 4 : Hasil Implementasi

Bab ini menajbarkan implementasi program, screen shot aplikasi, serta potongan program berikut penjelasannya.

BAB 5 : Pengujian

Bab ini menjabarkan testing yang dilakukan pada aplikasi dengan menggunakan metode black-box testing. Bab ini juga menjabarkan pengukuran delay yang terjadi dan hasil dari kuisioner.

BAB 6 : Simpulan dan Saran

(18)

79

BAB VI SIMPULAN DAN SARAN

6.1

Kesimpulan

Dari hasil peneliatian yang dilakukam, serta dari hasil pembuatan dan pengujian terhadap aplikasi game yang dibuat, maka dapat ditarik kesimpulan sebagi berikut: 1. Penggabungan genre fighting dengan sudut pandang first-person dapat dilakukan

dengan meletakan kamera pada bagian kepala karakter dan menggunakan script ComboController. Penggabungan ini dapat dilakukan dengan baik, dilihat dari rata-rata nilai pada kuisioner 2 yang bernilai 8.35.

2. Penggunaan pembagian waktu untuk input dan animasi pada script ComboContoller, digabungkan dengan Mecanim yang disediakan unity, membuat combo yang dapat dijalankan berjalan dengan cukup mudah (dengan rata-rata nilai 7.95) dan responsif (dengan nilai rata-rata 9).

3. Penggunaan script NetworkCharacter (yang mengirimkan parameter dari Mecanim), membuat sinkronisasi berjalan dengan mulus pada tiap komputer player (dengan nilai rata-rata 8.55).

4. Sinkroniasi animasi dan aksi karakter dapat berjalan dengan lancar ketika menggunakan jaringan lokal (LAN atau wifi), dengan delay yang terjadi dalam rentang 0.1detik – 0.3 detik. Dengan menggunakan koneksi internet (menggunakna photon server di Asia), sinkronisasi membutuhkan waktu yang lebih lama dibandingkan dengan menggunakna jaringan lokal, dengan menggunakna speedy, delay terlama yang didapat adalah 0.6 detik, sedangkan dengan menggunakan AHA, rentang terlama yang didapat adalah 2.3 detik.

6.2

Saran

Sub bab ini berisi tentang saran yang didapat berdasarkan aplikasi yang dibuat. Adapun saran didapat melalui kuisioner dengan hasil sebagi demikian:

1. Tidak hanya karakter yang dapat dipilih, namun juga arena permainan. Dengan demikian seorang player tidak bosan dengan arena permainan.

2. Buatlah beberapa mode selain battle royale, seperti team fight, captain mode, atau king of the hill.

3. Tambahkan sedikit lawan komputer dengan menggunakan Artificial Inteligence yang muncul atau berpatroli, dan menyerang player.

(19)

DAFTAR PUSTAKA

Brackeys. (n.d.). Brackeys: Become a developer. Retrieved May 1, 2014, from brackeys.com: http://brackeys.com/

Development, G. (n.d.). Game Development. Retrieved June 1, 2014, from Game Development: http://gamedevelopment.tutsplus.com/

Docs, U. (2010, 11 4). Unity-Learn-Documentation. Retrieved June 1, 2014, from Unity Docs: http://docs.unity3d.com/

James, S. (2010). 3D Graphics with XNA Game Studio 4.0. Birmingham, United Kingdom: Packt Publishing Ltd.

Jeese, M., & Schardt, J. A. (2003). UML 2 for Dummies. Wiley/For Dummies.

PUN. (2003, 2). Photon Unity Networking. Retrieved May 1, 2014, from Photon Unity Networking: https://www.exitgames.com/en/PUN

Reed, A. (2011). Learning XNA 4.0 (1st ed.). (C. Nash, Ed.) Sebastopol, United States of America: O'Reilly Media,Inc.

Referensi

Dokumen terkait

pendapatan seperti umur, tingkat pendidikan terakhir, curahan waktu kerja dan pengalaman kerja dari hasil regeresi linear berganda menunjukkan bahwa keempat faktor

Jika tidur, pilih tempat tidur yang baik, misalnya yang memiliki matras (kasur) yang kuat (firm), sehingga posisi tidur tidak melengkung. Yang paling baik adalah tidur miring

Adapun beberapa cara yang dapat dilakukan guru pada tahapan ini, yaitu (1) memberikan eksperimen dan mengupayakan terjadinya proses akomodasi kognitif dengan

Berangkat dari penjelasan di atas, maka tujuan penelitian ini adalah menganalisis pengaruh manajemen aset yang terdiri dariinventarisasi aset, legal audit aset,

Karakteristik trip MCB tipe ini akan menguntungkan bila digunakan pada peralatan listrik dengan arus yang lebih tinggi, seperti lampu, motor dan lain sebagainya.. MCB tipe D,

Terdiri atau terbuat dari potogan-potongan balok-balok besi tuang pengisi yang ditempatkan pada rangka struktur baja dengan berat keseluruhan adalah berat kereta ditambah 15%

Dalam konteks pembelajaran e-learning pelajar yang tidak memiliki motivasi yang tinggi akan cenderung gagal dalam mengenyam pendidikan berbasis e-learning.Dilihat

MPO dari penelitian ini mempunyai nilai sensitivitas diagnostik 88,88%, spesifisitas diagnostik 69,23%, nilai ramal negatif 75% dan nilai ramal positif 85,71% sehingga MPO tidak