Pembangunan game The Survival
(2)
(3)
(4)
(5)
Nama Adi Lukmanul Tempat/Tanggal Lahir Garut, 9 Juli 1989 Jenis Kelamin Laki-laki
Warga Negara Indonesia
Agama Islam
Status Belum Menikah
Tinggi/Berat Badan ±175cm/±50kg
Alamat Jl. Suci No 188 RT/RW 02/02 Karangpawitan Garut
Email adilukmanul@yahoo.co.id
2. PENDIDIKAN FORMAL
2007 – 2013
Strata-1 (S1) Jurusan Teknik Informatika
Universitas Komputer Indonesia (UNIKOM) Bandung 2004 – 2007 SMA Negeri 1 Garut (Kelas 2 Bidang Studi IPA) 2001 – 2004 SMP Negeri 1 Garut
1995 - 2001 SD Lebak Jaya 1 Garut 1994 - 1995 TK Al Umaro Garut
(6)
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika
Fakultas Teknik dan Ilmu Komputer
ADI LUKMANUL
10107510
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2013
(7)
III
Assalammu’alaikum Wr.Wb.
Puji syukur alhamdulillah saya panjatkan atas kehadirat Allah SWT sang Pencipta alam semesta, manusia, dan kehidupan beserta seperangkat aturan Nya, karena berkat limpahan rahmat, taufiq, hidayah serta inayah-Nya, sehingga saya dapat menyelesaikan Skripsi yang berjudul “Pembangunan Game The Survival” ini dapat terselesaikan tepat pada waktunya.
Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Saya menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya. Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga saya sampaikan kepada:
1. Allah SWT, yang telah memberikan rahmat dan hidayah-Nya kepada saya sehingga dapat menyelesaikan skripsi ini dengan baik
2. Nabi Muhammad SAW yang telah menyampaikan wahyu Allah
3. Kedua orang tua, Bapak Maman Sulaeman (Ayah sekaligus sosok yang paling saya kagumi), Ibu Dede Juariah (Ibu terbaik dan terhebat di dunia). Yang selalu senantiasa mendoakan saya sepanjang waktu, memberikan pengertian diantara kekhawatirannya, dan memberikan semangat yang tidak ada hentinya serta memberikan dorongan baik moril maupun materil 4. Yth. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc selaku Rektor
Universitas Komputer Indonesia
5. Yth. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia 6. Yth. Bapak Irawan Afrianto, M.T selaku Ketua Jurusan Teknik
(8)
IV
7. Yth. Bapak Taryana Suryana, M.Kom selaku dosen wali kelas IF-11 angkatan 2007
8. Yth. Ibu Susmini I. Lestaringati, M.T selaku pembimbing yang telah dengan sabar memberikan pengarahan dan masukan-masukan yang berharga kepada saya dalam mengerjakan laporan tugas akhir
9. Yth. Bapak Adam Mukharil Bachtiar, S.Kom selaku penguji 1 yang telah memberikan banyak masukan dan ilmu yang berarti
Selain itu tidak lupa juga saya ucapkan terima kasih yang setulus-tulusnya dan penghargaan yang setinggi-tingginya kepada:
1. Kakak tercinta Asih Kaniasih, S.Si beserta suaminya Adi Muta Adi, S.E. dan anaknya Dias Adi Muhammad yang telah banyak memberikan dorongan semangat
2. Adik tercinta (Alm) Arif Rahman Hakim yang memberikan warna baru dalam hidup serta menjadi semangat bagi saya untuk menjadi sosok yang baik dan teladan
3. Yovianty Dewi Sunaryo, S.Si beserta keluarga Bapak Yoyo Sunaryo dan Ibu Dewi Nuraeni Desi yang dengan kesabaran, keikhlasan, serta keridhaannya membangunkan di pagi hari dan memeriksa setiap kalimat dari skripsi ini
4. Teman-temanku Dicky Jaya Umbara, Moch. Romndhan, Adnan
Mursyidin, Rio Artha, Lukman Nurhakim, Egi M.M.F., Irwan Setiawan, Rinaldi Rismansyah, Irfan Kushardiansyah, Zaid Arham, Andrianto, Yodha Iskandarsyah, Mahardika, Rahmi, Sarah, dan semua anak kelas IF-11 angkatan 2007, terima kasih untuk segala kebersamaan selama ini 5. Semua pihak yang telah membantu dalam menyelesaikan skripsi ini yang
tidak bisa disebutkan satu persatu
Akhir kata saya berharap semoga skripsi ini dapat bermanfaat bagi saya khususnya dan para pembaca umumnya.
Wassalamu’alaikum wr. Wb
(9)
V
ABSTRAK ... I
ABSTRACT ... II KATA PENGANTAR ... III DAFTAR ISI ... V DAFTAR GAMBAR ... IX DAFTAR TABEL ... XII DAFTAR SIMBOL ... XIV DAFTAR LAMPIRAN ... XVII
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 2
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 5
BAB 2 TINJAUAN PUSTAKA ... 7
2.1 Game ... 7
2.2 Artificial Intelegence ... 11
2.2.1 Teknik-Teknik Dasar Pencarian... 11
2.2.2 Algoritma Pencarian (Search Algorithm) ... 12
2.2.2.1Pencarian Buta (Blind Search) ... 13
2.2.2.2Pencarian Terbimbing (Heuristic Search) ... 14
2.2.3 Algoritma A* ... 14
2.3 Procedural Content Generation (PCG) ... 17
2.4 UML (Unified Modelling Language) ... 18
2.4.1 Use Case Diagram ... 18
2.4.2 Class Diagram ... 19
2.4.3 Activity Diagram ... 20
(10)
VI
3.1.2.1Storyline ... 28
3.1.2.2Gameplay ... 29
3.1.2.3Konten-Konten Game ... 31
3.1.2.4Storyboard ... 32
3.1.2.5Penerapan Algoritma A* ... 34
3.1.2.6Penerapan Procedural Content Generation ... 39
3.2 Analisis Kebutuhan Non Fungsional ... 40
3.2.1 Analisis Perangkat Keras ... 41
3.2.2 Analisis Kebutuhan Perangkat Lunak ... 42
3.2.3 Analisis Pengguna ... 42
3.3 Analisis Kebutuhan Fungsional ... 43
3.3.1 Use Case Diagram ... 43
3.3.2 Definisi Actor ... 44
3.3.3 Definisi Use Case ... 44
3.3.4 Skenario Use Case dan Activity Diagram ... 45
3.3.4.1Penyajian Skor Tertinggi ... 45
3.3.4.2Penyajian Permainan ... 46
3.3.4.3Penyajian Cara Bermain ... 49
3.3.4.4Pergerakan Karakter ... 50
3.3.4.5Perhitungan Skor ... 51
3.3.4.6Perhitungan Nyawa ... 53
3.3.5 Sequence Diagram ... 54
3.3.6 Class Diagram ... 59
3.4 Perancangan Perangkat Lunak ... 61
3.4.1 Perancangan Arsitektur Menu ... 61
3.4.2 Perancangan Antarmuka ... 62
(11)
VII
4.1.3 Implementasi Instalasi Aplikasi ... 70
4.1.4 Implementasi Antarmuka ... 75
4.2 Pengujian Sistem ... 78
4.2.1 Pengujian Alpha ... 78
4.2.1.1 Skenario Pengujian Aplikasi ... 78
4.2.1.2 Kasus dan Hasil Pengujian (Black Box Testing) ... 79
4.2.1.3 Kasus dan Hasil Pengujian (White Box Testing) ... 81
4.2.1.4 Kesimpulan Pengujian Alpha ... 90
4.2.2 Pengujian Beta ... 90
4.2.3 Kuesioner ... 90
BAB 5 KESIMPULAN DAN SARAN ... 99
5.1 Kesimpulan ... 99
5.2 Saran ... 99
(12)
101
[1]. Adipranata R, Handojo A, Setiawan H. 2007. Aplikasi Pencari Rute Optimum pada Peta Guna meningkatkan Efisiensi Waktu Tempuh Pengguna Jalan dengan Metode A* dan Best First Search. Teknik Informatika, Universitas Kristen Petra.
[2]. Harabor DL, Grastien A. 2010. Online Graph Pruning for Pathfinding on Grid Maps. NICTA and The Australian National University.
[3]. Hendrikx M, Meijer S, van der Velden J, and Iosup A. 2011. Procedural Game Content Generation: A Survey. ACM Trans.
[4]. Kimmel P. 2005. UML Demystified. New York: McGraw-Hill.
[5]. Overmars M. 2003. Tutorial : Three-Dimensional Games, Lecture notes in computer science. Utrecht University.
[6]. Phan MH. 2011. Video Gaming Trends: Violent, Action/Adventure Games are Most Popular. Wichita State University:Software Usability Research Laboratory (SURL).
[7]. Rollings A, Adams E. 2003. Andres Rollings and Ernest Adams on Game Design. New Riders Publishing.
[8]. Sommerville Ian. 2011. Software Engineering, 9th edition. Pearson Education, Inc.
[9]. Sugiyono. 2010. Metode Penelitian Kuantitatif, Kualitatif dan R&D. Bandung: ALFABETA.
[10].Takatsuki Y. 2007. Cost headache for game developers. bbc.co.uk/2/hi /business/7151961.stm.
[11].Ware C. 2003. Designing with 2.5D Attitude. Data Visualization Research Lab Center for Coastal and Ocean Mapping : University of New Hampshire.
(13)
1
1.1 Latar Belakang
Game memiliki arti dasar permainan, dalam hal ini merujuk pada pengertian kelincahan intelektual (intellectual playability). Game juga dapat diartikan sebagai arena keputusan dari aksi pemainnya dan terdapat target tertentu yang ingin dicapai oleh pemainnya [5]. Game berdasarkan dimensinya terbagi menjadi dua, yaitu dua dimensi (2D) dan tiga dimensi (3D). Ditengah perkembangan game 2D dan 3D, muncul game dengan tampilan grafik 3D tetapi memiliki gameplay dalam bentuk 2D yang disebut dengan 2.5D [11]. Untuk memainkan sebuah game dengan grafik 3D yang full, dibutuhkan spesifikasi komputer yang tinggi [7], namun tidak semua pemain dari game memiliki spesifikasi yang tinggi tersebut. Tidak sedikit pengguna yang memiliki spesifikasi rendah, tetapi ingin memainkan game dengan grafik yang bagus.
Berdasarkan survei Software Usability Research Laboratory (SURL) terhadap 341 pemain game dengan 73,90% responden laki-laki dan 26,10% perempuan, sebesar 94,3% responden memilih Starcraft yang memiliki tampilan 2.5D sebagai game favoritnya [6]. Hal ini memperlihatkan bahwa ketertarikan seseorang untuk memainkan sebuah game tidak hanya dari faktor grafik yang ditampilkan saja.
Survey juga menyebutkan bahwa dari beberapa genre game yang ada sekarang, seperti action, role-playing, strategy, adventure, sports, simulation, dan enam genre lainnya, sebanyak 87,3% responden memilih game dengan genre action sebagai game favoritnya [6]. Dari survey juga menyatakan sebanyak 61% pemain memainkan game pada komputer desktop [6]. Hal ini dikarenakan keterbatasan pada device lainnya, seperti grafik, media penyimpanan, dan kontrol permainan. Berdasarkan kategori rating ESRB (Entertainment Software Rating Board), konten-konten yang terdapat pada game yang dibangun sesuai untuk
(14)
umur 13-16 tahun. Oleh karena itu, game yang dibangun termasuk dalam kategori T (Teen).
Berdasarkan hasil observasi, game action sejenis yang ada masih memiliki kekurangan dalam hal pergerakan dan pemunculan musuh yang statis. Hal ini membuat pemain dapat dengan mudah melalui setiap level dengan mengingat setiap pergerakan dan pemunculan musuh. Oleh karena itu, digunakan algoritma A* dan metode Procedural Content Generation (PCG) dalam pergerakan dan pemunculan musuh.
Dari permasalahan tersebut dibangun game dengan genre action/shooter menggunakan grafik 2.5D yang berjudul “The Survival” berbasis desktop, yaitu sebuah game yang memiliki gameplay yang sederhana tanpa membutuhkan ingatan untuk peraturan yang rumit dengan menggunakan algoritma A* dan metode Procedural Content Generation.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan sebelumnya, maka dapat dirangkai rumusan masalah dalam penelitian ini, yaitu bagaimana membangun game The Survival.
1.3 Maksud dan tujuan
Berdasarkan masalah yang diteliti, maka maksud dari penulisan skripsi ini adalah membangun game The Survival.
Sedangkan tujuan yang hendak dicapai dalam penulisan skripsi ini adalah sebagai berikut:
1. Menaikkan minat pemain terhadap game 2.5D dengan menerapkan genre action/shooter
2. Memperbaiki kekurangan pada game action/shooter sejenis.
1.4 Batasan Masalah
Berdasarkan latar belakang penelitian dalam perancangan game ini, maka batasan masalahnya adalah sebagai berikut :
(15)
2. Metode yang digunakan adalah Procedural Content Generation untuk pembentukan kontennya
3. Artificial Intelegence yang digunakan adalah algoritma pencarian A* 4. Konten dalam game termasuk dalam rating T (Teen) berdasarkan kategori
ESRB (Entertainment Software Rating Board) 5. Game yang dihasilkan berbasis desktop
6. Game ini hanya bisa dimainkan oleh 1 orang pemain (offline) dan memiliki 3 (tiga) level
7. Metode analisis berorientasi objek dengan pemodelan menggunakan UML (Unified Modelling Language)
8. Input dalam game menggunakan keyboard dan mouse.
1.5 Metodologi Penelitian
Metodologi yang digunakan dalam penulisan skripsi ini adalah sebagai berikut:
1. Metode pengumpulan data
Metode pengumpulan data yang digunakan dalam penelitian ini sebagai berikut:
a. Studi literatur, yaitu pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper, e-book dan bacaan-bacaan yang memiliki kaitan dengan judul penelitian. Tahapan ini dilakukan dengan mempelajari berbagai macam literatur dengan konsep-konsep yang berkaitan dengan rumusan masalah. Adapun literatur yang dipelajari yaitu Teori Grafik 2.5D, Teknik Rendering, Animation, Artificial Intelegent, algoritma A*, Procedural Content Generation, Pemrograman C#, Unity, Mono Develop, dan komponen-komponen lainnya yang berkaitan dengan judul penelitian
b. Observasi, yaitu penelitian berkenaan dengan perilaku manusia. Tahapan ini dilakukan dengan meneliti mengenai genre, platform, judul, dan lainnya dari game yang paling sering dimainkan oleh pemain.
(16)
2. Metode pembuatan perangkat lunak.
Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall. Dalam penelitian ini perangkat lunak yang digunakan berupa game, dan teknik analisis tersebut meliputi beberapa proses diantaranya:
1. Requirements analysis and definition
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap
2. System and software design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap
3. Implementation and unit testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji
4. Integration and system testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing)
5. Operation and maintenance
Tahapan untuk mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
(17)
Requirements definition
System and software design
Implementation and unit testing
Integration and system testing
Operation and maintenance
Gambar 1.1 Metode Waterfall [8]
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab 1 akan menguraikan tentang latar belakang permasalahan, merumuskan permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab 2 akan membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab 3 akan membahas mengenai analisis sistem yang meliputi analisis game sejenis serta analisis game The Survival, selain itu membahas analisis kebutuhan non-fungsional, analisis kebutuhan fungsional dan perancangan antar muka.
(18)
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab 4 akan menjelaskan implementasi dari hasil analisis dan perancangan sistem yang telah dibuat ke dalam bentuk aplikasi pemograman berupa game, kemudian dilakukan pengujian terhadap game yang telah dibangun.
BAB V KESIMPULAN DAN SARAN
Bab 5 berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir.
(19)
7
2.1. Game
Game merupakan bentuk pastisipatif, interaktif dan hiburan. Menonton televisi, membaca, dan pergi ke teater merupakan segala bentuk hiburan pasif. Sedangkan ketika seseorang bermain game, mereka terhibur dengan berpartisipasi secara aktif. Game ditempatkan pada sebuah dunia buatan yang diatur melalui aturan-aturan (rules). Aturan tersebut menentukan tindakan atau langkah yang pemain dapat dan tidak dapat lakukan dalam sebuah game [7].
Game dapat diklasifikasikan menjadi beberapa jenis, yaitu berdasarkan platform yang digunakan, dimensi, dan genre dari game itu sendiri. Platform merupakan kombinasi spesifik dari komponen elektronik atau perangkat keras komputer dengan perangkat lunak yang memungkinkan game untuk beroperasi [7]. Berdasarkan platform yang digunakan, game dapat dibagi menjadi beberapa jenis, diantaranya:
a. Arcade games, yaitu game yang biasanya memiliki box atau mesin yang memang khusus di desain untuk jenis video games tertentu, bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan menikmati , seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil. Arcade games biasanya berada di daerah/tempat khusus, sebagai contoh di Indonesia dikenal dengan sebutan ding-dong
b. PC games, yaitu game yang dimainkan menggunakan komputer pribadi c. Console games, yaitu game yang dimainkan menggunakan konsol tertentu,
seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii
d. Handheld games, yaitu game yang dimainkan di konsol khusus video game yang dapat dibawa kemana-mana (portable), sebagai contoh Nintendo DS dan Sony PSP
e. Mobile games, yaitu game yang dapat dimainkan khusus untuk mobile phone atau PDA.
(20)
Dimensi adalah angka yang berhubungan dengan sifat metrik atau topologi dari suatu objek. Berdasarkan dimensi dari objek-objeknya, game dapat dibagi menjadi beberapa jenis, diantaranya:
a. Game 2D
Game dua dimensi atau 2D merupakan suatu konsep dimana semua objek berada pada satu bidang datar. Gerakan pada game 2D dibatasi hanya horizontal dan vertikal atau secara koordinat gerakan pemain dibatasi hanya dapat bergerak pada sumbu X danY. Pada game 2D terdapat dua pergerakan kamera. Pertama adalah kamera statis dimana gambar latar (backround) dan tempat game 2D tidak bergerak sama sekali, contoh dalam jenis ini adalah tetris. Kedua adalah Side Scrolling dimana game yang kita mainkan mempunyai kamera yang dapat bergeser ke kanan atau ke kiri dengan kecepatan sesuai dengan gerakan dan kecepatan karakter yang kita mainkan/gerakkan pada game tersebut, contoh game yang termasuk pada jenis ini adalah Super Mario Bross, Sonic dan Megaman. b. Game 2.5D
Setelah game 2D, muncul game dengan tampilan 3D datar (3D Plane). Game seperti ini bukan 2D tapi tidak juga full 3D. Teori grafik seperti ini disebut dengan 2.5D atau pseudo-3D, sedangkan pada istilah game lebih dikenal dengan istilah isometric, diametric atau trimetric projection. Biasanya gameplay dari game 2.5D mirip 2D dimana kita hanya bisa bergerak secara horizontal dan vertikal, namun beberapa objek menggunakan teknik rendering secara 3D. Salah satu hal yang membuat developer game membuat game seperti ini karena pemrosesan 3D secara total memerlukan banyak waktu dan biaya untuk membuatnya
c. Game 3D
Game 3D menggunakan tiga dimensional representasi geometris data (X, Y, Z) yang disimpan dalam komputer untuk keperluan perhitungan dan rendering gambar 2D. Dalam sebuah game 3D, pemain bisa melihat sebuah objek dari sudut 360°. Terdapat tiga dasar dalam pembuatan
(21)
sebuah objek 3D, yaitu 3D modeling, 3D rendering, dan 3D computer graphics software [5].
Genre pada suatu game memperlihatkan pola umum tantangan dari game tersebut. Dengan perkembangan informasi seperti sekarang, genre dari game masih terus berkembang, sebagai contoh simulasi menari (dance simulation) yang diperkenalkan oleh desainer game dari Jepang. Namun secara umum game dapat dibagi menjadi beberapa jenis berdasarkan genre yang diterapkannya, yaitu:
a. Game Strategi (Strategy Games)
Asal-usul dari game strategi berasal dari game papan seperti catur dan Othello. Pada game strategi biasanya pemain dapat mengendalikan tidak hanya satu karakter, melainkan beberapa karakter dalam game tersebut dengan berbagai jenis tipe kemampuan, kendaraan, hingga pembuatan berbagai bangunan, pabrik dan pusat pelatihan tempur, tergantung dari tema ceritanya. Game strategi dibagi menjadi 2 bentuk utama, yaitu classical turn-based strategy dan real-time strategy
b. Role-Playing Games (RPG)
Game RPG sama seperti game strategi, yaitu salah satu genre yang dibuat dari game yang berasal dari kertas dan pena. Dua hal yang hampir sama pada semua game RPG, yaitu konfigurasi dari karakter pemain yang meningkat berdasarkan experience dan jalan cerita (storyline) yang kuat. Oleh karena itu, terdapat dua elemen utama yang menjadi kunci suksesnya sebuah game RPG. Fitur yang pertama adalah cerita (story) dan fitur yang kedua adalah pembangunan karakter(character development)
c. Game Olahraga (Sports Games)
Game olahraga mempunyai tantangan yang tidak biasa bagi seorang desainer game. Tidak seperti game-game yang lain, dimana pemain memiliki sedikit pengetahuan mengenai dunianya, tetapi game olahraga meniru aturan pada olahraga di kehidupan nyata
d. Simulasi Kendaraan (Vehicles Simulation)
Pada simulasi kendaraan, pemain dihadapkan dalam suatu kondisi seolah-olah pemain mengemudikan atau menerbangkan sebuah kendaraan, secara
(22)
nyata atau imajinasi. Pada simulasi kendaraan yang nyata, salah satu tujuan yang harus dicapai adalah kemiripan kendaraan, seperti karakteristik kinerja mesin (kecepatan dan manuver) dengan kendaraan yang sebenarnya. Namun, jika mendesain kendaraan imajinasi, kita bebas untuk membuat driving experience untuk pemain, tanpa harus terbatas oleh gravitasi, G-forces, kapasitas bensin, dan lainnya
e. Game Petualangan (Adventure Games)
Game petualangan bukan merupakan sebuah kompetisi atau simulasi seperti game yang lainnya. Game jenis initidak menawarkan proses untuk dikelola atau mengalahkan musuh melalui strategi dan taktik. Game petualangan merupakan cerita interaktif mengenai karakter yang dikontrol oleh pemain
f. Game Puzzle (Puzzle Games)
Game puzzle merupakan game yang bertujuan untuk memecahkan sebuah puzzle, terkadang tanpa menyatukan dengan jalan cerita atau tujuan yang lebih besar. Game jenis ini biasanya bervariasi pada satu tema saja. Untuk kesuksesan secara komersil, sebuah game puzzle haruslah memiliki tantangan, visual yang atraktif, dan disamping itu, nyaman untuk dimainkan
g. Game Aksi (Action Games)
Games aksi merupakan sumber yang baik bagi elemen desain dari sebuah game. Game ini relatif sederhana karena membuat analisis dari game tersebut lebih mudah, jika dibandingkan dengan genre lain. Aturan dari sebuah game action menjelaskan dasar dari mekanika game. Mereka biasanya lebih simpel dalam aturan, karena kealamian dari gameplaynya. Intinya, game action merupakan game yang membutuhkan keterampilan seperti pengolahan informasi sensorik dan tindakan secara cepat. Hal ini memaksa pemain untuk membuat keputusan dan melakukan tanggapan pada kecepatan yang jauh lebih besar [7].
(23)
2.2 Artificial Intelegence
Artificial Intelligence (AI) atau kecerdasan buatan merupakan cabang dari ilmu komputer yang berhubungan dengan tingkah laku cerdas secara otomatis. Definisi ini menunjukkan bahwa AI adalah bagian dari komputer, sehingga harus didasarkan pada teori suara (sound theoretical) dan prinsip-prinsip aplikasi dari bidangnya. Prinsip-prinsip ini meliputi struktur data yang digunakan dalam representasi pengetahuan, algoritma yang diperlukan untuk mengaplikasikan pengetahuan tersebut, serta bahasa dan teknik pemrograman yang digunakan dalam mengimplementasikannya [1]. Dari beberapa perspektif, AI dapat dikategorikan sebagai berikut :
1. Dari perspektif kecerdasan, AI berfungsi untuk membuat mesin yang cerdas dan dapat melakukan hal-hal yang sebelumnya hanya dapat dilakukan manusia
2. Dari perspektif bisnis, AI adalah sekelompok alat bantu (tools) yang berdayaguna dan metodologi yang menggunakan alat-alat bantu tersebut untuk menyelesaikan masalah masalah bisnis
3. Dari perspektif pemrograman, AI meliputi studi tentang pemrograman simbolik, pemecahan masalah, dan proses pencarian (search).
2.2.1 Teknik-Teknik Dasar Pencarian
Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan AI. Keberhasilan suatu sistem salah satunya ditentukan oleh kesuksesan dalam pencarian dan pencocokan. Teknik dasar pencarian memberikan suatu kunci bagi penyelesaian yang penting dalam bidang AI. Ada beberapa aplikasi yang menggunakan teknik pencarian ini, yaitu :
1. Game papan dan puzzle, contoh: tic-tac-toe, catur, dan menara hanoi 2. Penjadwalan dan masalah routing pada travelling salesman problem
3. Parsing bahasa dan inteprestasinya pada masalah pencarian struktur dan arti
4. Logika pemrograman dalam hal pencarian fakta dan implikasinya 5. Computer vision dan pengenalan pola
(24)
6. Sistem pakar bebasis kaidah (rule based expert system)
Pencarian adalah proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Kondisi suatu pencarian meliputi :
1. Keadaan sekarang atau awal
2. Keadaan tujuan atau solusi yang dijangkau dan perlu diperiksa apakah telah mencapai sasaran
3. Biaya atau nilai yang diperoleh dari solusi.
Solusi merupakan suatu lintasan dari keadaan awal sampai keadaan tujuan. Secara umum, proses pencarian dapat dilakukan seperti berikut :
1. Memeriksa keadaan sekarang atau awal
2. Mengeksekusi aksi yang dibolehkan untuk memindahkan ke keadaan berikutnya
3. Memeriksa jika keadaan baru merupakan solusinya. Jika tidak, keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis terpakai.
2.2.2 Algoritma Pencarian (Search Algorithm)
Permasalahan pencarian dapat diselesaikan dengan beberapa metode, yaitu:
1. Metode sederhana yang hanya berusaha mencari kemungkinan
penyelesaian atau disebut juga pencarian buta
2. Metode yang lebih kompleks, dimana metode ini akan mencari jarak terpendek. Metode ini adalah British Museum Procedure, Branch and Bound, Dynamic Programming, Best First Search,Greedy Search, A* (A Star) Search, dan Hill Climbing Search.
Metode pencarian adalah bagian dari kesimpulan, dimana setiap state menggambarkan hipotesis dalam sebuah rangkaian deduktif. Metode pencarian dikatakan penting untuk menyelesaikan permasalahan, karena setiap keadaan (state) menggambarkan langkah-langkah untuk menyelesaikan permasalahan.
(25)
Selain itu, metode pencarian dikatakan penting untuk perencanaan, karena dalam sebuah game akan menentukan apa yang harus dilakukan, dimana setiap state menggambarkan kemungkinan posisi pada suatu saat.
Gambar 2.1 Bagan Metode Pencarian (Searching)
Berdasarkan Gambar 2.1, metode penelusuran dibagi menjadi dua golongan, yakni pencarian buta (blind search) dan pencarian terbimbing (heuristic search).
2.2.2.1Pencarian Buta (Blind Search)
Blind Search adalah pencarian solusi tanpa adanya informasi yang dapat mengarahkan pencarian untuk mencapai keadaan akhir (goal state) dari keadaan sekarang (current state). Informasi yang ada hanyalah definisi goal state itu sendiri, sehingga algoritma dapat mengenali goal state apabila menemukan informasi yang dicari.
Dengan tidak adanya informasi, maka blind search akan memeriksa/ mengembangkan node-node secara tidak terarah dan kurang efisien untuk kebanyakan kasus karena banyaknya node yang dikembangkan.
Beberapa contoh algoritma yang termasuk blind search, antara lain Breadth First Search, Uniform Cost Search, Depth First Search, Depth Limited Search, Iterative Deepening Search, dan Bidirectional Search.
(26)
2.2.2.2Pencarian Terbimbing (Heuristic Search)
Berbeda dengan blind search, heuristic search mempunyai informasi tentang cost untuk mencapai goal state dari current state. Dengan informasi tersebut, heuristic search dapat melakukan pertimbangan untuk mengembangkan atau memeriksa node-node yang mengarah ke goal state. Misalnya pencarian rute pada suatu peta, bila kita berangkat dari kota A ke kota B yang letaknya di utara kota A dengan heuristic search, pencarian akan lebih difokuskan ke arah utara (dengan informasi cost ke goal), sehingga secara umum, heuristic search lebih efisien daripada blind search.
Heuristic search menghitung (perkiraan) cost ke goal state dengan menggunakan fungsi heuristic. Fungsi heuristic berbeda dengan algoritma, dimana fungsi heuristic merupakan perkiraan untuk membantu algoritma, dan tidak harus valid setiap waktu. Namun, semakin bagus fungsi heuristic yang dipakai, semakin cepat dan akurat solusi yang didapat. Menentukan fungsi heuristic yang tepat untuk kasus dan implementasi yang ada juga sangat berpengaruh terhadap kinerja algoritma pencarian.
Beberapa contoh algoritma pencarian yang menggunakan metode heuristic search adalah Best First Search (BFS), Greedy Search, A* (A Star) Search, dan Hill Climbing Search.
2.2.3 Algoritma A*
Algoritma A* (A star) merupakan perbaikan dari metode Best First Search (BFS) dengan memodifikasi fungsi heuristic dari BFS. Pada kondisi yang tepat, A* akan memberikan solusi yang terbaik dalam waktu yang optimal dengan meminimumkan total biaya lintasan.
Pencarian menggunakan algoritma A* pada dasarnya memmiliki prinsip yang sama dengan algoritma BFS, hanya saja dengan dua faktor tambahan, yaitu:
1. Setiap sisi mempunyai cost yang berbeda-beda, tergantung seberapa besar cost dari satu simpul ke simpul yang lain
(27)
2. Cost dari setiap simpul ke simpul tujuan bisa diperkirakan. Ini membantu pencarian, sehingga lebih kecil kemungkinan untuk mencari ke arah yang salah.
Cost untuk setiap simpul tidak harus berupa jarak. Cost dapat berupa waktu apabila kita ingin mencari jalan dengan waktu tercepat untuk dilalui. Sebagai contoh, bila kita berkendaraan melewati jalan biasa bisa saja merupakan jarak terdekat, tetapi melewati jalan tol biasanya memakan waktu lebih sedikit. Algoritma A* bekerja dengan prinsip yang hampir sama dengan BFS, kecuali dengan dua perbedaan, yaitu :
1. Simpul-simpul pada OPEN list diurutkan oleh cost keseluruhan dari simpul awal ke simpul tujuan, dimulai dari cost terkecil sampai cost terbesar. Pengurutan tersebut dikenal dengan istilah antrian prioritas (priority queue). Cost keseluruhan dihitung berdasarkan cost dari simpul awal ke simpul sekarang (current node) ditambah cost perkiraan menuju simpul tujuan
2. Simpul pada CLOSED list bisa dimasukkan ke dalam OPEN list, bila jalan terpendek (cost lebih kecil) menuju simpul tersebut ditemukan.
Algoritma A* menggunakan dua senarai (list) yaitu OPEN dan CLOSED. OPEN adalah list yang digunakan untuk menyimpan simpul-simpul yang pernah dibangkitkan dan nilai heuristic dari simpul tersebut telah dihitung tetapi belum terpilih sebagai simpul terbaik (best node), dengan kata lain OPEN berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul-simpul terbaik. Sedangkan CLOSED adalah list untuk menyimpan simpul-simpul yang pernah dibangkitkan dan terpilih sebagai simpul terbaik. Artinya, CLOSED berisi simpul-simpul yang tidak mungkin terpilih kembali sebagai simpul-simpul terbaik (peluang untuk terpilih sudah tertutup).
OPEN list diurutkan berdasarkan perkiraan cost keseluruhan, kemudian algoritma memeriksa simpul-simpul yang mempunyai perkiraan cost yang paling kecil terlebih dahulu dan mencari simpul-simpul yang kemungkinan mengarah ke simpul tujuan. Perkiraan cost ditentukan secara manual, lebih baik perkiraan yang dibuat lebih cepat pencariannya.
(28)
Cost antar simpul adalah jarak dan perkiraan cost dari suatu simpul ke simpul tujuan. Agar lebih mudahnya ditunjukkan pada persamaan 2.1.
f
(n) =
g
(n) +
g
(n)...
(2.1) Keterangan :f(n) = fungsi evaluasi( jumlah g(n)dengan h(n) )
g(n) = cost yang dikeluarkan dari keadaan awal sampai keadaan n h(n) = estimasi biaya untuk sampai pada suatu tujuan mulai dari n [1]
Nilai F adalah cost perkiraan suatu path yang teridentifikasi. Nilai F merupakan hasil dari f(n). Nilai G adalah hasil dari fungsi g(n) yang menyatakan banyaknya langkah yang diperlukan untuk menuju ke path sekarang. Setiap simpul (node) harus memiliki nilai h(n), yaitu estimasi harga simpul dihitung dari simpul tujuan yang hasilnya menjadi nilai H (heuristic)[1].
A* merupakan algoritma pencarian yang menggunakan fungsi heuristic untuk pencarian rute. Dalam aplikasi ini, fungsi heuristic yang dipakai mengisi nilai H pada algoritma A*. Terdapat beberapa fungsi heuristic umum yang bisa dipakai untuk algoritma A*. Salah satunya dikenal dengan istilah Manhattan Distance. Fungsi ini digunakan untuk kasus peta yang hanya memiliki pergerakan horizontal dan vertikal.
Perhitungan nilai heuristic untuk node ke-n menggunakan Manhattan Distance adalah sebagai berikut :
h
(n) = (abs(n.x
–
goal
.x) + abs(n.y
–
goal
.y))
…….
( 2.2)Keterangan :
h(n) = nilai heuristic untuk node n goal = node tujuan
Jika pergerakan diagonal pada peta diperbolehkan, maka digunakan fungsi heuristic selain Manhattan Distance. Untuk mendekati kenyataan, cost untuk perpindahan node secara diagonal dan orthogonal dibedakan. Cost diagonal
(29)
adalah 1,4 kali cost perpindahan secara orthogonal. Maka fungsi heuristic yang digunakan adalah sebagai berikut:
h_diagonal(n) = min(abs(n.x –goal.x) + abs(n.y –goal.y)) ……..( 2.3) h_orthogonal(n) = (abs(n.x –goal.x) + abs(n.y –goal.y)) ……..(2.4) h(n) = h_diagonal(n) + (h_orthogonal(n) – (2*h_diagonal(n))) ...( 2.5) Keterangan:
h_diagonal(n) = banyaknya langkah diagonal yang bisa diambil untuk mencapai goal dari node n
h_orthogonal = banyaknya langkah lurus yang bisa diambil untuk mencapai goal dari node n
Nilai heuristic kemudian diperoleh dari h_diagonal(n) ditambah dengan selisih h_orthogonal(n) dengan dua kali h_diagonal(n). Dengan kata lain, jumlah langkah diagonal kali cost diagonal ditambah jumlah langkah lurus yang masih bisa diambil dikali cost pergerakan lurus.
2.3 Procedural Conten Generation (PCG)
Procedural Content Generation (PCG) adalah metode yang digunakan untuk penempatan objek-objek yang diperlukan dalam pembentukan dunia game (platform, batu-batuan, pohon dan sebagainya). Konten game merupakan faktor penting dalam menjaga pemain agar tidak cepat merasa bosan dan tetap terlibat dalam dunia game. Namun permintaan para pelaku game untuk pembuatan konten baru semakin meningkat, sementara produksi konten manual oleh desainer game semakin mahal [10]. Berbeda dengan produksi konten secara manual, PCG dapat mengkombinasikan semua konten sederhana yang diperlukan dalam sebuah dunia game dengan menempatkan konten-kontennya secara otomatis. Jadi apabila ingin menciptakan kebun yang indah, kita hanya membutuhkan satu konten pohon dan satu konten lampu taman.
Saat ini, produksi game komersial berkualitas tinggi memerlukan banyak pekerja, termasuk seniman, desainer, programmer, dan insinyur audio, dan
(30)
banyak dari mereka menghasilkan konten game yang baru. Akibatnya, produksi konten telah tumbuh ke titik dimana ia telah menjadi hambatan kedua anggaran setelah pemasaran [10]. Teknik PCG merupakan alternatif untuk membuat dunia game dalam waktu terbatas tanpa menempatkan beban yang besar pada desainer konten dari game. Gagasan utama dari PCG ini adalah konten game tidak ditempatkan secara manual oleh desiner, tetapi oleh komputer dengan menjalankan prosedur yang jelas. Untuk menghindari kehilangan kontrol atas proses desain yang diinginkan, desainer masih dapat mempengaruhi hasil akhir dengan menyesuaikan parameter yang diperlukan dari prosedur.
PCG memunculkan konten secara otomatis. Oleh karena itu, tantangannya adalah bagaimana menyeimbangkan gameplay yang merupakan aturan dari action game. Untuk itu harus disesuaikan waktu ketika musuh dimunculkan dengan jarak tempuh pemain unutk mencapai koordinatnya agar tidak terjadi penumpukan konten musuhpada satu tempat.
2.4 UML (Unified Modelling Language)
Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan Object Oriented Programming (OOP) [4].
2.4.1 Use Case Diagram
Use case diagram menggambarkan tujuan penting fungsionalitas sistem yang akan ditampilkan pada pengguna. Use case merepresentasikan sebuah interaksi antara actor dengan sistem. Use case diagram dapat membantu dalam penyusunan requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua fitur yang ada pada sistem [4].
(31)
Gambar 2.2 Contoh Use Case Diagram [4]
2.4.2 Class Diagram
Class diagram digunakan untuk memperlihatkan class pada sistem dan hubungan antara class. Class diagram tidak menjelaskan fungsionalitas atau bagaimana instances class berinteraksi. Class menggambarkan keadaan (atribut/ property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (method/fungsi) [4].
(32)
2.4.3 Activity Diagram
Activity diagram digunakan untuk menggambarkan aliran aktivitas baik dalam proses bisnis maupun use case. Diagram ini dapat digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi dieksekusi dan memodelkan hasil dari aksi tersebut [4].
Gambar 2.4 Contoh Activity Diagram [4]
2.4.4 Sequence Diagram
Sequence diagram biasanya digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger dari aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output yang dihasilkan. Masing-masing objek, termasuk actor, memiliki lifeline
(33)
vertical. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/method dari class. Activation bar menunjukan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message [4].
(34)
(35)
23
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Pada analisis sistem akan dibahas mengenai analisis game sejenis dan
analisis game The Survival. Pada analisis game sejenis dilakukan observasi
terhadap beberapa game action/shooter yang populer dan diminati pemain.
3.1.1 Analisis Game Sejenis
Peraturan dari game action/shooter menjelaskan mengenai dasar dari
mekanika game. Pada dasarnya, game action/shooter merupakan permainan yang
membutuhkan keahlian sebagai faktor utama untuk memainkannya, dan tidak
membutuhkan ingatan untuk peraturan yang rumit [7].
Berdasarkan hasil observasi yang dilakukan terhadap dua game
action/shooter, diketahui bahwa terdapat beberapa elemen yang selalu ada pada
game action/shooter tersebut. Game sejenis yang akan dianalisis adalah sebagai
berikut:
1. Contra
Contra yang dikenal dengan Gryzor di Eropa dan Oseania, merupakan
game action populer yang dikembangkan dan diterbitkan oleh Konami
yang pada awalnya dirilis sebagai game arcade koin. Beberapa sekuel
contra kemudian diproduksi mengikuti game aslinya pada beberapa
(36)
Gambar 3.1 Tampilan Game Contra
Terdapat 8 zona dalam game contra dan satu atau dua pemain dapat
bermain bersama. Tujuan akhir dari game ini sederhana, yaitu dengan
membunuh semua alien dan melewati rintangan yang ada. Senjata
utamanya adalah rifle dengan amunisi yang tidak terbatas. Ketika
permainan dimulai, apabila pemain menembak simbol bergambar elang,
maka akan membuat senjata memiliki kekuatan lebih, seperti machine
gun, pelempar api, laser, dan lainnya. Tetapi pemain harus berhati-hati
karena sekali tertembak musuh akan langsung mati dan mengembalikan
senjata seperti semula yaitu rifle. Pada akhir dari setiap level, pemain akan
dihadapkan pada bos alien yang besar dan harus mencari titik kelemahan
untuk mengalahkannya. Meskipun contra telah dirilis pada waktu yang
lama, namun masih banyak pemain yang tertarik untuk memainkannya.
Hal ini dibuktikan dengan rating yang masih tinggi pada tahun 2007
(37)
Gambar 3.2 Rating Game Contra
2. Rambo First Blood : Part II
Rambo first blood : part II merupakan game action/shooter dengan
tampilan dari atas yang dibuat berdasarkan film Rambo first blood : part II
itu sendiri. Game ini pertama dirilis di Amerika Utara oleh Sega. Tampilan
pada game Rambo first blood : part II dapat dilihat pada Gambar 3.3 di
bawah.
Gambar 3.3 Tampilan Game Rambo First Blood : Part II
Game ini sangat menyenangkan tetapi sulit untuk memainkannya. Pemain
hanya mempunyai 3 poin lives untuk mencoba memenangkan permainan
dan hanya dibutuhkan 1 hit dari musuh untuk membunuh pemain. Game
(38)
pemain. Musuh menembak pemain tersebar dalam seluruh layar, lalu
pemain harus menghindari peluru, menembak musuh dan meledakkan
camp untuk membebaskan para tahanan. Setelah membebaskan tahanan,
mereka akan melemparkan pemain sebuah item, biasanya extra bom
panah. Bom panah merupakan item yang penting karena dapat meledakkan
tank, camp, dan penghalang di akhir setiap level. Rating pada game
Rambo first blood : part II dapat dilihat pada Gambar 3.4 di bawah.
Gambar 3.4 Rating Game Rambo First Blood : Part II
Setelah menganalisis game dengan genre yang sejenis, lalu akan
dibandingkan elemen-elemen dasar dari sebuah game action yang terdapat pada
game sejenis tersebut seperti yang terlihat pada tabel 3.1.
Tabel 3.1 Elemen Yang Terdapat Pada Game Sejenis
Elemen Contra Rambo First Blood : Part II
Character Lance dan Bill Rambo
Rules
Memenuhi rules game action dengan kesederhanaan aturan dalam permainan
Memenuhi rules game action dengan kesederhanaan aturan dalam permainan
Levels Terdapat 8 level Terdapat 6 level
Chekpoints Ada Ada
Lives Ada Ada
(39)
Tabel 3.1 Elemen yang Terdapat Pada Game Sejenis (Lanjutan)
Elemen Contra Rambo First Blood : Part II
Time Limit - -
Score - Ada
Power-Ups Ada Ada
Collectibles - -
Smart Bombs - -
Hyperspaces - -
Waves Ada Ada
The Big Boss Ada -
Wildcard Enemy - -
Locked Door and
Key - -
Monster
Generators - -
Dungeon Exit and
Level Warps Ada Ada
Mini-Maps - -
Victory Conditions Ada Ada
Interaction Models Memenuhi Memenuhi
Perspective Side Scrolling Side Scrolling
User Interface Design
Memenuhi KISS (Keep It Simple, Stupid), memiliki UI yang sederhana
Memenuhi KISS (Keep It Simple, Stupid), memiliki UI yang sederhana
Berdasarkan analisis yang telah dilakukan, maka ditarik kesimpulan
bahwa pemain menyukai game dengan genre action shooter karena memiliki
gameplay dan storyline yang bagus. Selain itu sebuah game action/shooter juga
harus memenuhi beberapa elemen dasar dari game action, seperti rules yang
sederhana, terdapat checkpoints pada setiap level, terdapat lives/health yang akan
berkurang ketika terkena serangan musuh, score yang terdapat pada game sebagai
achieve kepada pemain, power-ups untuk menambah daya dari senjata yang
digunakan, waves dari musuh pada permainan, terdapat bos pada akhir setiap
level, sebuah dungeon exit atau level warps untuk pergantian level, victory
(40)
peluru dari musuh, perspective yang memudahkan pemain dalam memainkan
permainan, dan User Interface yang sederhana, namun memenuhi kebutuhan
pemain.
3.1.2 Analisis Game The Survival
Game yang akan dibangun merupakan game dengan genre action/shooter
dan memiliki gameplay yang sama dengan kebanyakan game action/shooter yang
ada. Game ini dibangun dengan menerapkan algoritma A* pada karakter musuh
dan metode Procedural Content Generation (PCG) untuk pembangunan
konten-konten yang dibutuhkan pada dunia game.
3.1.2.1Storyline
The Survival menceritakan tentang sekelompok peneliti yang berada di
laboratorium bawah tanah dan melakukan percobaan terhadap pembuatan robot
perang. Robot tersebut diprogram untuk melakukan serangan terhadap musuh
ketika berlangsung peperangan. Namun, pada proses pembuatannya robot
mengalami kerusakan sistem yang mengakibatkan robot menyerang semua
manusia yang dia temui, dan mengakibatkan semua pekerja di laboratorium
tersebut mati.
Norman sebagai komandan dari korps marinir diberi tugas untuk
menonaktifkan robot tersebut sebelum mereka keluar dari laboratorium. Ketika
Norman beserta pasukannya masuk ke dalam laboratorium, secara otomatis sistem
keamanan aktif dan mengunci semua akses untuk keluar dari laboratorium
(41)
menonaktifkan semua robot yang ada, selain itu alat tersebut akan mengaktifkan
semua akses untuk keluar dari laboratorium.
Sebelum mencapai alat untuk menonaktifkan semua robot, semua pasukan
Norman telah mati dan menyisakan Norman sendiri. Dia berada pada 3 lantai
terakhir dan harus mencapai alat tersebut di lantai terakhir. Norman harus
berjuang sendiri dengan membunuh semua robot yang ditemukan sebelum
mencapai alat tersebut. Selain itu, sebuah robot inti yang besar menjaga alat
tersebut pada lantai terakhir. Ketika Norman membunuh robot inti tersebut dan
mencapai alatnya, maka dia bisa keluar dari laboratorium dalam keadaan hidup.
3.1.2.2Gameplay
Gameplay merupakan pola yang ditetapkan melalui aturan permainan,
hubungan antara pemain dengan game, tantangan, dan cara untuk mengatasi
tantangan tersebut [7]. Gameplay pada game The Survival dapat dilihat pada
Tabel 3.2 di bawah ini.
Tabel 3.2 Gameplay The Survival
No Gameplay
1 Karakter muncul di bagian tengah layar
2 Karakter memiliki kemampuan untuk menembak musuh dan berjalan mengelilingi semua bagian dari peta
3 Pemain mengendalikan karakter dengan menggunakan tombol W, A, S, D sebagai arah pada keyboard dan klik kiri pada mouse untuk menembak
4 Pemain dapat mengumpulkan poin dengan menembak musuh yang
muncul
5 Adanya konten roket yang apabila diambil akan menambah jumlah serangan senjata dari pemain dan konten ini terdapat pada level 2 dan 3
6
Pemain harus berhati-hati dengan kemunculan musuh pada tempat tertentu dengan waktu yang ditentukan dengan melakukan serangan tembakan terhadap pemain
(42)
Tabel 3.2 Gameplay The Survival (Lanjutan)
No Gameplay
7 Adanya bos pada akhir peta dengan melakukan serangan tembakan terhadap pemain dan konten ini terdapat pada level 3
8 Apabila pemain terkena serangan musuh, dapat menambah health dengan mengambil health potion dan konten ini terdapat pada level 2 dan 3 9 Permainan akan berakhir apabila karakter telah menyentuh portal menuju
akhir dari permainan atau health dari karakter telah mencapai 0 (nol)
Berdasarkan hasil obervasi yang telah dilakukan terhadap game
action/shooter sebelumnya, terdapat beberapa elemen dasar yang disukai oleh
pemain. Oleh karena itu, game The Survival menyajikan beberapa elemen dasar
tersebut dalam gameplaynya. Elemen dasar yang terdapat pada game The Survival
dapat dilihat pada Tabel 3.3 di bawah.
Tabel 3.3 Elemen Dalam Game The Survival
Elemen Keterangan Pada Game The Survival
Character Norman
Levels Terdapat 3 level
Lives Mempunyai health point sebesar 50
Power-Ups Memiliki roket untuk menambah daya tembakan
Waves Musuh pada setiap level memiliki serangan yang berbeda The Big Boss Terdapat bos pada akhir dari level 3
Dungeon Exit and Level Warps
Terdapat portal untuk melanjutkan level dan device pada level 3 sebagai akhir dari permainan
Victory Conditions Setelah mencapai device pada level 3 pemain dinyatakan memenangkan permainan
Perspective Top-down view
User Interface Design
Dibuat sesederhana mungkin untuk memenuhi KISS (Keep It Simple, Stupid)
Selain itu, berdasarkan kategori pada ESRB (Entertainment Software
(43)
terdapat beberapa konten yang sesuai untuk kategori tersebut. Kategori tersebut,
didasarkan pada konten-konten sebagai berikut:
1. Kekerasan (violence), konten ini terdapat pada game The Survival karena
adanya tembakan
2. Tema yang sugestif (suggestive themes), konten ini terdapat pada game
The Survival karena pemain harus membunuh semua musuh yang muncul
3. Efek darah (blood effect), konten ini terdapat pada game The Survival
ketika pemain terkena serangan musuh.
3.1.2.3Konten-Konten Game
Konten-konten yang akan digunakan dalam pembangunan aplikasi game
The Survival dapat dilihat pada Tabel 3.4.
Tabel 3.4 Konten-Konten Pada Game The Survival
No Nama Gambar Keterangan
1 Norman
Norman merupakan tokoh utama dan karakter yang dapat dikontrol oleh pemain dengan menggunakan tombol W, A, S, D pada keyboard
untuk berjalan dan klik kiri pada mouse untuk menembak. Norman mempunyai 50 health dan akan berkurang apabila musuh menyerangnya.
2 Musuh
Gambar disamping merupakan karakter jahat yang akan menjadi hambatan pemain dalam menyelesai-kan permainannya dan Norman amenyelesai-kan mati apabila terkena serangan sebanyak 5 kali. Pada saat permainan dimulai, musuh akan muncul (spawn) dan berjalan menuju pemain, setelah dekat musuh akan menyerang pemain. Pada level 2 konten ini akan mengeluarkan tembakan yang mengarah ke pemain.
3 Health
Potion
Konten ini berfungsi untuk menambah health dari pemain sebanyak 30. Apabila pemain memiliki
health >= 30, maka otomatis health akan kembali ke kondisi penuh sebesar 50. Konten ini hanya terdapat pada level 2 dan level 3.
(44)
Tabel 3.4 Konten-Konten Pada Game The Survival (Lanjutan)
No Nama Gambar Keterangan
4
Portal
Konten ini berfungsi sebagai portal menuju level
selanjutnya ketika berada pada level 1 dan 2.
5
Bos
Konten ini berada pada akhir level 3 dan akan melakukan serangan tembakan terhadap pemain. Apabila serangan bos mengenai pemain, maka darah pemain akan dikurangi sebesar 20.
6
Laser
Konten ini berfungsi untuk menambah daya dari senjata yang dipakai pemain. Apabila mengenai musuh, maka darah musuh akan dikurangi sebesar 20.
7
Device
Konten ini berfungsi untuk menonaktifkan semua robot yang ada dan terdapat pada level 3. Sebelum mencapainya pemain harus mengalahkan bos terlebih dahulu. Konten ini juga berfungsi sebagai portal menuju akhir permainan.
3.1.2.4Story Board
Story board adalah sketsa gambar yang disusun berurutan sesuai dengan
naskah. Story board dapat menyampaikan ide cerita kepada orang lain dengan
lebih mudah, sehingga menghasilkan persepsi yang sama mengenai ide cerita
kepada seseorang hanya dengan melihat story board. Berikut merupakan story
board dari game The Survival :
1. Story Board Level 1
(45)
Gambar 3.5 Story Board Level 1
Pemain dapat bergerak ke segala arah dalam peta, yang ditandai dengan
jalan berwarna putih. Musuh dapat melakukan serangan fisik terhadap
pemain. Untuk dapat melanjutkan ke level 2, pemain harus mencapai
portal dan mengenainya.
2. Story Board Level 2
Story board untuk level 2 pada aplikasi ini dapat dilihat pada Gambar 3.6.
Gambar 3.6 Story Board Level 2
Pemain dapat bergerak ke segala arah dalam peta yang ditandai dengan
(46)
terhadap pemain dan terdapat konten health potion untuk menambah
health point pemain. Selain itu, terdapat konten laser untuk menambah
daya serang dari senjata pemain. Untuk dapat melanjutkan ke level 3,
pemain harus mencapai portal dan mengenainya.
3. Story Board Level 3
Story board untuk level 3 pada aplikasi ini dapat dilihat pada Gambar 3.7.
Gambar 3.7 Story Board Level 3
Pemain dapat bergerak ke segala arah dalam peta yang ditandai dengan
jalan berwarna putih. Terdapat konten health potion untuk menambah
health point pemain dan laser untuk menambah daya serang dari senjata
pemain. Selain itu, terdapat konten bos pada akhir peta di level 3. Untuk
dapat menyelesaikan game, pemain harus membunuh bos dan mencapai
alat untuk menonaktifkan robot untuk menuju akhir permainan.
3.1.2.5Penerapan Algoritma A*
Pada game The Survival, algoritma A* diterapkan pada dengan node
(47)
dimensi dengan penentuan bobot sesuai koordinat tiap node. Pada penentuan
bobot setiap node akan diberikan nilai sesuai dengan jarak terdekat ke tujuan.
Node terjauh dari tujuan akan diberikan bobot yang kecil, sedangkan node
terdekat dengan tujuan akan diberikan bobot yang lebih besar berdasarkan
koordinat dari tiap node.
Penggunaan algoritma A* pada game The Survival akan disimulasikan
dengan menggunakan matriks dengan ordo 5x5. Pencarian jalur terpendek dengan
menggunakan algoritma A* dari simpul awal menuju simpul tujuan akan
diperlihatkan pada Tabel 3.5 di bawah ini.
Tabel 3.5 Skenario Langkah Pencarian Algoritma A*
No Simulasi Keterangan
1
Posisi awal musuh ada di (0,0) dan posisi awal pemain ada di (4,4). Lalu posisi awal musuh dijadi- kan BestNode
2
Setelah mendapatkan Best Node (0,0) lalu cek apakah sama dengan posisi tujuan (4,4)
(48)
Tabel 3.5 Skenario Langkah Pencarian Algoritma A* (Lanjutan)
No Simulasi Keterangan
3
Bangkitkan posisi yang berdekatan dengan
BestNode
4
Hitung nilai H,G,F dari posisi yang dibangkitkan. Abaikan apabila ada posisi yang tidak bisa dilalui. Pilih posisi dengan nilai F terendah, lalu jadikan sebagai BestNode.
5
Ulangi langkah 2,3,4 sampai BestNode di- ketahui sebagai posisi tujuan
(49)
Tabel 3.5 Skenario Langkah Pencarian Algoritma A* (Lanjutan)
No Simulasi Keterangan
6
Hasil pencarian jalur terpendek menggunakan algoritma A* pada game The Survival
Untuk lebih jelas mengenai pencarian dengan menggunakan algoritma A*
(50)
Mulai
Masukkan node awal ke list OPEN
Set current_node = best_node
Current_node = goal?
Keluarkan current_node dari OPEN, masukkan CLOSED
tidak
Selesai
ya
Cek node tetangga dari current_node
Node dapat dilalui?
tidak
ya OPEN = kosong, CLOSED = kosong
Reset cost
Ada dalam CLOSED?
tidak
Ada dalam OPEN Set node tetangga dalam OPEN, hitung nilai F tidak
Hitung nilai F ya
i Pilih node dengan nilai F paling
kecil
Tampilkan rute
(51)
3.1.2.6Penerapan Procedural Content Generation (PCG)
Metode Procedural Content Generation digunakan untuk membuat konten
ketika sistem dijalankan, bukan sebelumnya. Pada game yang akan dibangun,
metode ini digunakan untuk menciptakan konten musuh berdasarkan urutan
waktu. Setiap 15 detik konten musuh akan dimunculkan pada tempat tertentu yang
telah ditentukan.
Pertama-tama, sistem akan menerima input objek yang akan dimunculkan
yaitu musuh, total musuh yang dimunculkan dalam peta, beserta lokasi
pemunculannya. Selama pemain tidak mencapai portal, maka konten musuh
metode PCG ini akan mengenerate musuh secara terus menerus dengan
memunculkan musuh satu-persatu dari lokasi pemunculan. Apabila total musuh
yang telah dimunculkan melebihi total musuh muncul yang telah ditentukan
sebelumnya, maka pemunculan dihentikan sementara sampai total musuh yang
dimunculkan berkurang. Apabila pemain telah mencapai portal, maka seluruh
proses pemunculan musuh akan dihentikan, dan dilakukan lagi ketika peta telah
berubah.
Untuk lebih jelasnya mengenai penerapan metode Procedural Content
(52)
mulai
Objek yang dimunculkan=musuh,
lokasi pemunculan
Pemunculan musuh dilakukan
Pemain mencapai portal? Menghentikan proses
pemunculan ya
tidak
Penambahan nilai total musuh yang ada pada peta
Total musuh dalam peta >= total musuh yang ditentukan?
Pemunculan dihentikan sementara
ya
tidak
selesai
Gambar 3.9 Diagram Flowchart Metode PCG
3.2Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non-fungsional merupakan analisis yang dibutuhkan
(53)
elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang
akan dibangun sampai dengan sistem tersebut dapat diimplementasikan. Analisis
kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan sistem,
keluaran yang akan dihasilkan dan proses yang dibutuhkan untuk mengolah
masukan sehingga menghasilkan suatu keluaran yang diinginkan.
Pada analisis kebutuhan sistem non fungsional ini dijelaskan analisis
kebutuhan perangkat keras, analisis kebutuhan perangkat lunak, dan analisis
pengguna.
3.2.1 Analisis Perangkat Keras
Perangkat keras yang digunakan untuk membangun aplikasi game The
Survival adalah sebagai berikut :
1. AMD Athlon X2 Dual Core 240 Proccesor 2.80 Ghz
2. Harddisk 500GB
3. RAM 1049MB
4. VGA NVIDIA GeForce 7300GT 504MB
5. Display LCD Monitor dengan resolusi 1024x768
Sedangkan perangkat keras minimum yang dibutuhkan untuk
menajalankan aplikasi game The Survival adalah sebagai berikut :
1. Processor Dual Core 1.3 Ghz
2. RAM 1024 MB
3. Slot Harddisk 100 MB
4. Kartu grafik dengan DirectX 9 compatible sound card
(54)
3.2.2 Analisis Kebutuhan Perangkat Lunak
Perangkat lunak yang digunakan untuk membangun aplikasi game The
Survival ini adalah sebagai berikut :
1. Sistem operasi Window 7 Ultimate 32-bit
2. Unity 3.5.1
3. Mono Develop 2.8.2
3.2.3 Analisis Pengguna
Game The Survival memiliki rating T (Teen) berdasarkan ESRB
(Entertainment Software Rating Board), maka dilakukan observasi terhadap
pengguna berdasarkan rating tersebut. Analisis pengguna berdasarkan rating pada
game The Survival adalah sebagai berikut:
Tabel 3.6 Analisis Pengguna Game The Survival
Karakteristik Fisik Pengguna
Age 13 – 16 tahun
Gender Laki-laki dan perempuan
Handedness Pengguna tangan kanan atau kiri
Pengetahuan dan Pengalaman Pengguna
Computer Literacy Memiliki pengalaman yang sedang dalam mengoperasikan komputer
System Experience Memiliki pengetahuan yang sedang dalam berinteraksi dengan perangkat input dari komputer Application Experience Pernah memainkan game action/shooter sejenis
sebelumnya
Task Experience Mengetahui cara untuk memainkan game
action/shooter
Other System Use Tidak menjalankan sistem lain selama memainkan game
Education Sekolah menengah pertama
Reading Level Grade 5-12 (moderate)
Typing Skill Average (40WPM)
Native Language or Culture
(55)
Tabel 3.6 Analisis Pengguna Game The Survival (Lanjutan)
Tugas dan Kebutuhan Pengguna
Type of System Use Memainkan game pada waktu senggang Frequency of Use Berkelanjutan
Task or Need Importance Kebutuhan akan memainkan game sedang
Social Interactions Tidak membutuhkan komunikasi secara verbal dengan orang lain dalam memainkan game
Primary Training Tidak mendapat pelatihan untuk memainkan sebuah game
Lifestyle Bermain game merupakan hobi
Karakteristik Psikologi Pengguna
Attitude Netral terhadap game yang dimainkan
Motivation Minat terhadap memainkan sebuah game
Patience Tidak sabar untuk menyelesaikan sebuah game
Expectations Menyelesaikan game sampai akhir level
Stress Level Umumnya tidak ada stress yang diakibatkan game yang dimainkan
Cognitive Style Menggunakan analisis terhadap strategi untuk menyelesaikan game yang dimainkan
3.3 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan
diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan
sistem agar sistem dapat berjalan dengan baik sesuai kebutuhan.
3.3.1 Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakuan (behavior)
sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi
antara satu atau lebih aktor dengan sistem informasi yang akan dibuat [4]. Pada
gambar 3.10 memperlihatkan perancangan proses-proses yang terdapat pada game
(56)
Gambar 3.10 Use Case Diagram Game The Survival
3.3.2 Definisi Actor
Definisi actor berfungsi untuk menjelaskan aktor-aktor yang terdapat pada
use case diagram. Terdapat satu actor dalam diagram use case game The Survival
yaitu pemain sebagai orang yang memainkan game.
3.3.3 Definisi Use Case
Definisi use case berfungsi untuk menjelaskan fungsi use case yang
terdapat pada use case diagram. Definisi use case diterangkan pada Tabel 3.7.
Tabel 3.7 Definisi Use Case
No Use case Deskripsi
1 Penyajian skor tertinggi Fungsi untuk menampilkan skor tertinggi
2 Penyajian permainan Fungsi untuk menampilkan permainan
3 Penyajian cara bermain Fungsi untuk menampilkan cara bermain
4 Pergerakan karakter Fungsi untuk menggerakkan karakter
5 Perhitungan skor Fungsi untuk menghitung skor yang diraih
6 Perhitungan nyawa Fungsi untuk menghitung nyawa dari
(57)
3.3.4 Skenario Use Case dan Activity Diagram
Skenario pada diagram use case berisi mengenai alur kejadian yang di
dalamnya menjelaskan urutan interaksi antara actor dengan use case tersebut.
Sedangkan diagram aktivitas atau activity diagram menggambarkan aliran kerja
(work flow) atau aktivitas dari sebuah sistem atau proses bisnis.
3.3.4.1Penyajian Skor Tertinggi
1. Skenario Use Case Penyajian Skor Tertinggi
Skenario use case penyajian skor menjelaskan interaksi antara actor yaitu
pemain, dengan use case mulai permainan yang dijelaskan pada Tabel 3.8.
Tabel 3.8 Skenario Use Case Penyajian Skor Tertinggi
Identifikasi
No 1
Nama Penyajian skor
Tujuan Untuk dapat melihat skor tertinggi
Actor Pemain
Skenario Utama
Kondisi Awal Menu utama ditampilkan
Aksi Aktor Reaksi Sistem
1. Memilih menu skor sertinggi
2. Menampilkan skor tertinggi
Kondisi Akhir Menampilkan skor tertinggi
2. Activity Diagram Penyajian Skor Tertinggi
Gambar 3.11 memperlihatkan activity diagram penyajian skor tertinggi
(58)
Gambar 3.11 Activity Diagram Penyajian Skor Tertinggi
3.3.4.2Penyajian Permainan
1. Skenario Use Case Penyajian Permainan
Skenario use case ini menjelaskan interaksi antara actor yaitu pemain,
dengan use case penyajian permainan yang akan dijelaskan pada Tabel 3.9
di bawah ini.
Tabel 3.9 Skenario Use Case Penyajian Permainan
Identifikasi
No 2
Nama Penyajian Permainan
Tujuan Untuk dapat memulai permainan
Actor Pemain
Skenario Utama
Kondisi Awal Menu Utama ditampilkan
Aksi Aktor Reaksi Sistem
1. Memilih mulai permainan
2. Menempatkan pemain pada tengah layar 3. Menentukan lokasi pemunculan musuh
4. Memunculkan musuh
5. Melakukan pencarian jalur terpendek 6. Menggerakan musuh sesuai jalur
7. Apabila pemain mati, maka menampilkan menu game over
(59)
Tabel 3.9 Skenario Use Case Penyajian Permainan(Lanjutan)
Aksi Aktor Reaksi Sistem
8. Menenkan
tombol gerak
9. Menggerakkan karakter
10.Menekan klik
kiri
11.Mengeluarkan peluru 12.Menghitung nyawa 13.Menghitung skor 14.Mencapai portal
15.Menghentikan pemunculan musuh 16.Menghentikan pencarian jalur
17.Memasukkan pemain ke level selanjutnya 18.Mencapai device
19.Menghentikan pemunculan musuh 20.Menghentikan pencarian jalur 21.Menampilkan menu win
Kondisi Akhir Menampilkan permainan
2. Activity Diagram Penyajian Permainan
Gambar 3.12 memperlihatkan activity diagram penyajian permainan pada
(60)
(61)
3.3.4.3Penyajian Cara Bermain
1. Skenario Use Case Penyajian Cara Bermain
Skenario use case ini menjelaskan interaksi antara actor yaitu pemain,
dengan use case penyajian cara bermain yang akan dijelaskan pada Tabel
3.10 di bawah ini.
Tabel 3.10 Skenario Use Case Penyajian Cara Bermain
Identifikasi
No 3
Nama Melihat cara bermain
Tujuan Untuk dapat melihat cara bermain dari game The
Survival
Actor Pemain
Skenario Utama
Kondisi Awal Menu Utama ditampilkan
Aksi Aktor Reaksi Sistem
1. Memilih cara bermain
2. Menampilkan cara bermain
Kondisi Akhir Menampilkan cara bermain
2. Activity Diagram Penyajian Cara Bermain
Gambar 3.13 memperlihatkan activity diagram penyajian cara bermain
pada aplikasi game The Survival.
(62)
3.3.4.4Pergerakan Karakter
1. Skenario Use Case Pergerakan Karakter
Skenario use case ini menjelaskan interaksi antara actor yaitu pemain
dengan use case pergerakan karakteryang akan dijelaskan pada Tabel 3.11
di bawah ini.
Tabel 3.11 Skenario Use Case Pergerakan Karakter
Identifikasi
No 4
Nama Pergerakkan karakter
Tujuan Untuk dapat menggerakkan karakter yang dimainkan
Actor Pemain
Skenario Utama
Kondisi Awal Karakter diam
Aksi Aktor Reaksi Sistem
1. Menekan tombol gerak (W, A, S, D)
2. Menggerakkan karakter sesuai dengan pilihan
3. Menggerakkan karakter ke atas 4. Menggerakkan karakter ke kiri 5. Menggerakkan karakter ke bawah 6. Menggerakkan karakter ke kanan
Kondisi Akhir Karakter bergerak
2. Activity Diagram Pergerakan Karakter
Gambar 3.14 memperlihatkan diagram activity pergerakan karakter pada
(63)
Gambar 3.14 Activity Diagram Pergerakan Karakter
3.3.4.5Perhitungan Skor
1. Skenario Use Case Perhitungan Skor
Skenario use case ini menjelaskan interaksi antara actor yaitu pemain,
dengan use case perhitungan skor yang akan dijelaskan pada Tabel 3.12 di
bawah ini.
Tabel 3.12 Skenario Use Case Perhitungan Skor
Identifikasi
No 5
Nama Perhitungan skor
Tujuan Untuk dapat menghitung skor yang diraih pemain
Actor Pemain
Skenario Utama
Kondisi Awal Permainan dimulai
Aksi Aktor Reaksi Sistem
1.Menentukan skor awal
(64)
Tabel 3.12 Skenario Use Case Perhitungan Skor (Lanjutan)
Aksi Aktor Reaksi Sistem
3.Menambahkan skor sebesar 10
4. Membunuh bos
5.Menambah skor sebesar 30 6.Menghitung skor
Kondisi Akhir Hasil perhitungan skor
2. Activity Diagram Perhitungan Skor
Gambar 3.15 memperlihatkan diagram activity perhitungan skor pada
aplikasi game The Survival.
(65)
3.3.4.6Perhitungan Nyawa
1. Skenario Use Case Perhitungan Nyawa
Skenario use case ini akan menjelaskan interaksi antara actor yaitu
pemain, dengan use case perhitungan nyawa yang akan dijelaskan pada
Tabel 3.13 di bawah ini.
Tabel 3.13 Skenario Use Case Perhitungan Nyawa
Identifikasi
No 6
Nama Perhitungan nyawa
Tujuan Untuk dapat menghitung nyawa karakter
Actor Pemain
Skenario Utama
Kondisi Awal Permainan dimulai
Aksi Aktor Reaksi Sistem
1. Menentukan darah karakter
2. Menembak
3. Mengurangi darah musuh/bos
4. Mengambil
power up
5. Menambah daya serang tembakan
6. Mengambil
health potion
7. Menambah darah pemain
Kondisi Akhir Hasil perhitungan nyawa karakter
2. Activity Diagram Perhitungan Nyawa
Gambar 3.16 memperlihatkan activity diagram perhitungan nyawa pada
(66)
Gambar 3.16 Activity Diagram Perhitungan Nyawa
3.3.5 Sequence Diagram
Sequence diagram menggambarkan perilaku objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek [4]. Sequence diagram pada game The Survival adalah sebagai
berikut:
1. Sequence Diagram Penyajian Info Skor
Sequence diagram penyajian info skorpada aplikasi ini dapat dilihat pada
(67)
Gambar 3.17 Sequence Diagram Penyajian Info Skor
2. Sequence Diagram Penyajian Permainan
Sequence diagram penyajian permainan pada aplikasi ini dapat dilihat
(68)
Gambar 3.18 Sequence Diagram Penyajian Permainan
3. Sequence Diagram Penyajian Info Cara Bermain
Sequence diagram penyajian info cara bermain pada aplikasi ini dapat
(69)
Gambar 3.19 Sequence Diagram Penyajian Info Cara Bermain
4. Sequence Diagram Pergerakan Karakter
Sequence diagram pergerakan karakter pada aplikasi ini dapat dilihat pada
Gambar 3.20.
Gambar 3.20 Sequence Diagram Pergerakan Karakter
5. Sequence Diagram Perhitungan Skor
Sequence diagram perhitungan skor pada aplikasi ini dapat dilihat pada
(70)
Gambar 3.21 Sequence Diagram Perhitungan Skor
6. Sequence Diagram Perhitungan Nyawa
Sequence diagram perhitungan nyawa pada aplikasi ini dapat dilihat pada
Gambar 3.22.
(71)
3.3.6 Class Diagram
Class diagram menggambarkan struktur sistem dari segi pendefinisian
kelas-kelas yang dibuat untuk membangun sistem. Perancangan struktur sistem
(72)
(73)
3.4 Perancangan Perangkat Lunak
Perancangan perangkat lunak merupakan kegiatan untuk merancang
aplikasi yang akan dibangun, tahapannya mulai dari perancangan arsitektur menu,
kemudian berlanjut ke perancangan antarmuka dan jaringan semantik.
3.4.1 Perancangan Arsitektur Menu
Perancangan struktur menu merupakan jalur pemakaian sistem yang
mudah dipahami dan mudah digunakan. Untuk lebih jelasnya dapat dilihat pada
Gambar 3.24 di bawah ini.
Gambar 3.24 Arsitektur Menu Game The Survival
1. Menu Mulai: merupakan submenu untuk memulai permainan baru
2. Menu Skor Tertinggi: merupakan submenu yang menampilkan informasi
skortertinggi
3. Menu Cara Bermain : merupakan submenu untuk menampilkan cara
bermain
(74)
3.4.2 Perancangan Antarmuka
Perancangan antarmuka bertujuan untuk memberikan gambaran tentang
aplikasi yang akan dibangun, sehingga akan mempermudah dalam
meng-implementasikan aplikasi serta memudahkan pembuatan aplikasi. Berikut ini
merupakan perancangan antarmuka pada game The Survival:
1. Perancangan Antarmuka Menu Utama
(75)
2. Perancangan Antarmuka Menu Skor Tertinggi
Gambar 3.26 Perancangan Antarmuka Menu Skor Tertinggi
3. Perancangan Antarmuka Menu Cara bermain
(76)
4. Perancangan Antarmuka Level 1
(77)
5. Perancangan Antarmuka Level 2
Gambar 3.29 Perancangan Antarmuka Level 2
6. Perancangan Antarmuka Level 3
(78)
7. Perancangan Antarmuka Pesan Pause
Gambar 3.31 Perancangan Antarmuka Pesan Pause
8. Perancangan Antarmuka Pesan Game Over
(79)
9. Perancangan Antarmuka Pesan Win
Gambar 3.33 Perancangan Antarmuka Pesan Win
3.4.3 Jaringan Semantik
Jaringan semantik adalah gambaran tentang relasi dari masing-masing
halaman yang dapat diakses oleh seorang pengguna. Jaringan semantik ini
digunakan sebagai panduan penggunaan menu-menu dalam sebuah aplikasi.
Terdapat 4 tampilan pada aplikasi ini, yaitu T01 untuk tampilan menu utama
aplikasi, T02 untuk tampilan informasi skor tertinggi, T03 untuk tampilan cara
bermain, T04 untuk tampilan level 1, T05 untuk tampilan level 2, dan T06 untuk
(80)
(81)
69
4.1 Implementasi Sistem
Tahap implementasi merupakan tahap pembangunan perangkat lunak dan
juga tahap kelanjutan dari kegiatan perancangan aplikasi, dimana aplikasi siap
untuk dioperasikan. Aplikasi ini diimplementasikan dengan nama The Survival
Setup pada file .exe (executable file).
4.1.1 Implementasi Perangkat Keras
Perangkat keras yang dapat digunakan untuk menjalankan aplikasi game
ini tidak harus memiliki spesifikasi yang tinggi. Perangkat keras minimum agar
dapat menjalankan game The Survival adalah sebagai berikut:
1. Processor Dual Core 1,3 Ghz
2. RAM 1024 MB
3. Slot Harddisk 100 MB
4. Kartu grafik dengan DirectX 9 compatible sound card
5. LCD monitor dengan resolusi 1366 x 768 pixel
4.1.2 Implementasi Perangkat Lunak
Spesifikasi perangkat lunak yang dibutuhkan untuk menjalankan aplikasi
The Survival adalah sistem operasi Windows XP 32 bit ke atas dengan graphic
(82)
4.1.3 Implementasi Instalasi Aplikasi
Sebelum dapat memainkan game The Survival, aplikasi harus terinstal
pada device computer. Petunjuk dalam instalasi aplikasi game ini adalah sebagai
berikut:
1. Klik dua kali file The Survival Setup.exe yang ada pada harddisk atau
compact disc
Gambar 4.1 The Survival File Setup
2. Setelah muncul dialog The Survival Setup Wizard, kemudian klik Next
(83)
3. Pada dialog License Agreement pilih opsi “I accept the agreement” kemudian klik next
Gambar 4.3 The Survival License Agreement
4. Pada dialog destination pilih folder tempat aplikasi akan disimpan dengan
klik browse, kemudian pilih tombol next
(84)
5. Pada dialog program’s shortcuts pilih shortcuts aplikasi akan disimpan dengan klik browse, apabila tidak ingin menambahkan shotcuts pilih opsi
“Don’t create a Start Menu folder”, kemudian klik next
Gambar 4.5 The Survival Destination Shortcuts
6. Pada dialog additional tasks, pilih opsi “Create a desktop icon” untuk membuat ikon pada desktop kemudian klik next
(1)
Kebutuhan Fungsional (Use Case)
(2)
Kebutuhan Fungsional
(Activity Diagram)
(3)
Kebutuhan Fungsional
(Sequence Diagram)
(4)
Kebutuhan Fungsional (Class Diagram)
(5)
Implementasi dan Pengujian
• Pengujian Alpha : White Box dan Black Box
(6)
Kesimpulan
• Metode PCG dan A* berhasil diterapkan
• Pengguna merasa terhibur dan grafik 2.5D sudah cukup bagus
• Interface nyaman digunakan
• Mudah memainkan dengan keyboard dan mouse