BIODATA PENULIS
1. DATA PRIBADI
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 [email protected]
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
PEMBANGUNAN GAME
“
THE SURVIVAL
”
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
III
KATA PENGANTAR
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
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.
V DAFTAR ISI
LEMBAR JUDUL
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
VI
3.1 Analisis Sistem ... 23
3.1.1 Analisis Game Sejenis ... 23
3.1.2 Analisis Game The Survival ... 28
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
VII
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 69
4.1 Implementasi Sistem ... 69
4.1.1 Implementasi Perangkat Keras... 69
4.1.2 Implementasi Perangkat Lunak ... 69
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
101
DAFTAR PUSTAKA
[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
1
BAB 1
PENDAHULUAN
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
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 :
3
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
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
5 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
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
7
BAB 2
TINJAUAN PUSTAKA
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
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
9
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
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
11
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
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
13
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
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
15
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
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
17
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
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
19
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].
[image:31.595.125.492.456.698.2]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
[image:32.595.201.363.229.570.2]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
21
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
[image:33.595.154.474.201.481.2]proses, biasanya diawali dengan diterimanya sebuah message [4].
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
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
25
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
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
27
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
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
29
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
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
31
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
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
33
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
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
35
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
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
37
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*
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
39
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
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
41
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
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
43
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
K