SURAT KETERANGAN
PENYERAHAN HAK EKSKLUSIF
Bahwa yang bertanda tangan dibawah ini, penulis bersedia :
Bahwa hasil penelitian dapat dionlinekan sesuai dengan peraturan yang berlaku, untuk kepentingan riset dan pendidikan .
Bandung, 28 Juli 2013
Penulis, Mengetahui
Pembimbing
Fajar Andiansyah Imelda, ST., MT.
NIM : 10508176
Judul Tugas Akhir / Skripsi : APLIKASI CASUAL GAME DEFENSE OF THE LAW BERGENRE TOWER DEFENSE.
Menyatakan bahwa segala yang tertuang dalam Skripsi ini, adalah betul-betul ide dan hasil pemikiran asli dari saya. Bukan hasil Plagiat atau hasil meniru Ide, Hasil Pemikiran atau Buah Karya orang lain.
Jika dikemudian hari terbukti bahwa pernyataan saya ini tidak benar, maka saya bersedia menerima segala sanksi hukum yang diberikan baik dari pihak akademik maupun pihak lain yang berwenang tanpa melibatkan siapapun.
Demikian pernyataan ini saya buat dalam keadaan sadar tanpa paksaan dari pihak manapun.
Bandung, 1 Juli 2013 Yang Menyatakan,
LEMBAR PENGESAHAN
APLIKASI CASUAL GAME DEFENSE OF THE LAW BERGENRE
TOWER DEFENSE
FAJAR ANDRIANSYAH NIM.1.05.08.176
Telah disetujui dan disahkan di Bandung sebagai Skripsi pada tanggal :
---
Menyetujui, Pembimbing
Imelda ,ST.,MT, NIP.4127.70.26.012
Dekan Fakultas Ketua Program Studi
Teknik dan Ilmu Komputer Sistem Informasi
Prof.Dr.H. Denny Kurniadie, Ir., M.Sc Syahrul Mauluddin, S.Kom., M.Kom
Nama : Fajar Andriansyah
Tempat/Tanggal Lahir : Kuningan, 19 Desember 1988
Jenis Kelamin : Laki-Laki
Agama : Islam
Kebangsaan : Indonesia
Alamat : Jl. Siliwangi gg bpk ehom no 45/455A
Email : fajarandriansyah1988@gmail.com
DATA PENDIDIKAN
Tahun 1995-2001 : Sekolah Dasar Negeri 2 kuningan
Tahun 2001-2004 : Sekolah Menengah Pertama Negri 2 kuningan
Tahun 2004-2007 : Sekolah Menengah Atas Negeri 1 kadugede kuningan
APLIKASI CASUAL GAME DEFENSE OF THE LAW
BERGENRE TOWER DEFENSE
SKRIPSI
Diajukan sebagai salah satu syarat kelulusan pada Program Studi Sistem Informasi Jenjang S1 (Strata 1) Fakultas Teknik dan Ilmu Komputer
FAJAR ANDRIANSYAH
1.05.08.176
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
vi
1.4 Maksud dan Tujuan Penelitian ... 4
1.4.1 Tujuan Penelitian ... 4
1.5 Batasan Masalah ... 4
1.6 Kegunaan Penelitian ... 5
1.6.1 Kegunaan Praktis ... 5
1.6.2 Kegunaan Akademis... 5
1.7 Jadwal Penelitian ... 6
vii
2.6 Kecerdasan Buatan (Artificial Intelligence) ... 17
2.6.1 Definisi AI ... 17
BAB III OBJEK DAN METODE PENELITIAN 3.1 Objek penelitian ... 24
viii
ix
4.1 Analisis Pembangunan Aplikasi Game Defense of the Law ... 39
4.1.1 Pengenalan ... 39
4.1.5.1 Penerapan Metode Collision Detection ... 51
4.1.5.2 Analisis Sell Tower dan Upgrade Tower ... 52
4.1.5.3 Penerapan Waypoint Search ... 53
4.1.6. Perancangan Aplikasi ... 54
4.1.6.1 Diagram Use Case... 54
x
5.1.2 Implementasi Perangkat Lunak (Pengembang) ... 79
5.1.3 Implementasi Perangkat Keras (Pengguna) ... 79
5.1.4 Implementasi Perangkat Lunak (Pengguna) ... 80
5.1.5 Implementasi Antar Muka... 80
5.1.6 Implementasi Instalasi program ... 90
5.1.7 Petunjuk Permainan ... 95
5.2 Pengujian ... 97
5.2.1 Rencana Pengujian ... 97
5.2.2 Kasus dan hasil pengujian ... 98
5.2.3 Kesimpulan Dan Hasil pengujian ... 109
BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan ... 110
6.2 Saran ... 110
DAFTAR PUSTAKA
DAFTAR PUSTAKA
[1]. Brackeen, David, Bret Barker, and Laurence Vanhelsuwe (2003), Developing Games In Java, New Riders Publishing, United States of America.
[2]. Mat Buckland (2004), Programming Game AI by Example, Wordware, European.
[3]. Jones Time, M (2003), AI Application Programming, Charles River Media, Massachussets.
[4]. Suyanto (2007), Artificial Intelligence, Informatika, Bandung.
[5]. Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization, Andre LaMothe (2003), Sams publishing.
[6]. Pressman, Roger S. (2002), Rekayasa Perangkat Lunak Pendekatan Praktisi (buku satu), Andi Offset, Yogyakarta.
[7]. http://en.wikipedia.org/wiki/Video_game_genres // 12-2-2013 [8]. http://cgcookie.com/unity/ 6-2-2013
[9]. http://id.wikipedia.org/wiki/Aplikasi / 10-2-2013 [10]. http://unity3d.com/unity/1-3-2013.
[11]. http://unity3d.com//support/documentation/Manual/Scripting.htm/1-2-2013
1
1.1 Latar Belakang
Videogame merupakan salah satu media hiburan yang banyak dipilih oleh orang melepas kepenatan ataupun mengisi waktu luang. Jumlah pemain Videogame di dunia maupun di Indonesia sendiri mengalami peningkatan dari tahun ketahun. Hal ini dibuktikan dengan
meningkatnya penjualan mesin Videogame dan semakin maraknya bermunculan berbagai jenis videogame. Adapun Manfaat yang di berikan dalam membangun sebuah game adalah untuk memberikan hiburan kepada user secara interaktif dan melatih user berpikir strategi dalam membuat keputusan menyelesaikan masalah khususnya dalam sebuah
game yang bergenre Real Time Strategy (RTS).
2
Secara garis besar, salah satu yang termasuk ke dalam casual game adalah tower defense game. Tower defense game merupakan sub-genre dari permainan komputer Real Time Strategy. Tujuan utama dari tower defense ini adalah untuk mempertahankan goal point atau suatu titik tertentu. Pemain diberikan salah satu fitur khusus seperti membangun menara mereka dan memodifikasi menara mereka untuk mempertahankan serangan musuh. Plants Versus Zombie merupakan salah satu nama casual game yang meraih kesuksesan, Plants Versus Zombie membuktikan bahwa casual game di platform PC (Personal Computer) juga diminati oleh para kalangan gamer. Game Plants vs Zombie bercerita tentang mempertahankan gerombolan zombie yang akan memakan otak penduduk, user bermain dengan menanam berbagai jenis tanaman dengan
kemampuan yang berbeda untuk mempertahankan zombie yang akan memakan otak penduduk sebagai goal titik point tersebut . Para zombie bergerombolan berdatangan dengan jenis atribut dan kemampuan yang berbeda. Adapun contoh lain casual game yang berjudul Giant Tower defense yang yang di desain oleh orang Indonesia Arif Purwanto dengan developer Belugerin yang di buat dalam jenis Flash ini bercerita tentang mempertahankan istana yang akan di serang oleh monster – monster
raksasa.
Berdasarkan hal tersebut penulis berkeinginan untuk membangun suatu “Aplikasi Casual Game Defense of the law bergenre Tower
Indonesia seperti lembaga-lembaga ketahanan dan aparat penegak hukum di Indonesia mewakili tower yang akan menjadi pertahanan dari segala
gangguan yang bisa merusak negara ini. Karena jarangnya game Tower defense yang ber-temakan tentang penegak hukum di Indonesia penulis mengharapkan aplikasi yang dibuat dapat ikut meramaikan dunia industi game yang telah ada dan dapat menghibur para pemain casual game, dan medorong minat mahasiswa untuk mengembangkan game Indonesia.
1.2 Identifikasi Masalah
Berdasarkan latar belakang masalah yang telah dibahas
sebelumnya, penulis mencoba untuk mengidentifikasikan masalah yang
ada maka akan ditampilkan dalam aplikasi ini adalah :
1. Meskipun meningkatnya pengguna dan penggemar game tapi aplikasi
game tower defense yang banyak ditemukan tidak ada yang
ber-temakan Penegakan hukum di Indonesia.
2. Tidak Semua Kalangan,baik anak-anak, dewasa, maupun orang tua
bisa memainkan game yang berjenis Hardcore Game.
1.3 Rumusan Masalah
Dari identifikasi masalah yang telah disebutkan diatas, maka perumusan
masalahnya adalah sebagai berikut :
1. Bagaimana membuat game Tower Defense sehingga ada unsur – unsur
yang bertema tentang penegakan hukum di Indonesia, dan bisa
memenuhi klasifikasi pengguna game yang dapat menghibur
4
2. Bagaimana kalangan anak-anak atau dewasa supaya bisa memainkan
game Tower Defense yang dibangun oleh penulis.
1.4 Maksud Penelitian dan Tujuan Penelitian
Maksud dari penelitian ini adalah untuk membangun aplikasi
Casual Game ber-sub-genre Tower Defense.
1.4.1 Tujuan Penelitian
Adapun tujuan membuat skripsi ini adalah sebagai berikut:
a. Menjadikan aplikasi Game Defense of The Law lebih menarik untuk dimainkan dengan membuat game 3 dimensi ber-subgenre Tower Defense menggunakan game engine unity 3D dan dibuatkannya pendekatan artificial intelegence pada musuh.
b. Untuk memudahkan para pemain semua kalangan baik anak-anak atau
dewasa, dimainkan dengan tidak terlalu rumit dan tidak banyak
persyaratan.
1.5 Batasan Masalah
Penelitian ini memiliki batasan/ruang lingkup penelitian yang mencangkup:
1. Peneliti hanya melakukan penelitian pada game berjenis casual game khusus nya pada sub-genre Tower Defense
2. Aplikasi game berteknologi 3 Dimensi.
3. Perangkat lunak yang digunakan untuk membangun aplikasi ini menggunakan game engine Unity 3D.
5. Script yang di gunakan dalam pembuatan game menggunakan bahasa pemrograman javascript dan C# yang berbasis desktop.
6. Game yang di bangun memiliki 2 level.
7. Pemodelan dan perancangan sistem dalam pembuatan skripsi ini menggunakan pemodelan berbasis objek dengan tools UML. (use case
diagram, activity diagram, sequence diagram, dan class diagram).
8. Game dimainkan dengan mode offline (single mode).
9. Game ini hanya mempunyai 1 mode permainan dan tingkat kesulitan yaitu campaign, dan normal.
1.6 Kegunaan Penelitian
Kegunaan penelitian pembuatan aplikasi ini menjelaskan mengenai
manfaat atau kontribusi yang diperoleh dari hasil penelitian dan siapa pihak yang
akan mendapatkan manfaat dan penelitian tersebut. Dalam penelitian ini,
kegunaan penelitiannya dapat berupa kegunaan praktis dan kegunaan akademis.
1.6.1 Kegunaan Praktis
Kegunaan secara prkatis nya adalah :
Memberikan hiburan kepada pemain, dengan aplikasi game ini ,maka akan
menambah beragam jenis casual game khususnya pada sub-genre Tower Defense.
1.6.2 Kegunaan Akademis
Secara akademis game ini dapat meningkatkan kemampuan
seseorang dalam pengambil keputusan dalam melakukan multi tugas,
6
1.7 Jadwal Penelitian
Tabel 1.1. Jadwal Penelitian
No Aktivitas
1. Pengumpulan Data
Observasi
Wawancara
2. Pengembangan Sistem
Identifikasi Kebutuhan
User
Membangun Prototype
Evaluasi Prototype
3. Perancangan Sistem
Design
Coding
4. Pengujian Sistem Blackbox Testing
5. Evaluasi Sistem
7
BAB II
LANDASAN TEORI
2.1 Pengertian Aplikasi
Aplikasi adalah suatu subkelas perangkat lunak komputer yang
memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung
menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah
pengolah kata, lembar kerja, dan pemutar media.
2.2 Pengertian Multimedia
Multimedia tersusun dari 2 unsur kata yaitu Multi dan Medium . Multi
berarti banyak atau bermacam – macam sedangkan medium sesuatu yang dipakai untuk menyampaikan atau membawa sesuatu (alat untuk mendistribusikan dan
mempresentasikan informasi) . Jadi Multimedia adalah penggunaan beberapa media yang berbeda untuk menggabungkan dan menyampaikan informasi dalam bentuk text, audio, grafik, animasi, dan video. Adapun definisi multimedia
menurut para ahli :
1) Kombinasi dari komputer dan video.
8
3) Kombinasi dari paling sedikit dua media input atau output. Media ini dapat
berupa audio (suara, musik), animasi, video, teks, grafik dan gambar.
4) Alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio dan video.
5) Multimedia dalam konteks komputer adalah: pemanfaatan komputer untuk membuat dan menggabungkan teks, grafik, audio, video, dengan menggunakan tool yang memungkinkan pemakai berinteraksi, berkreasi, dan
berkomunikasi.
Multimedia memiliki beberapa kemampuan seperti :
1. Mengubah tempat kerja
2. Mengubah cara belanja
3. Mengubah cara bisnis
4. Mengubah cara memperoleh informasi
5. Mengubah cara belajar
6. Internet Multimedia juga mulai bersaing dengan televisi dan radio
2.2.1 Storyboard
Pentingnya sebuah storyboard dalam sebuah proyek berbasis multimedia.
“Para ahli didalam bidangnya, biasanya menuangkan pengetahuan mereka,
dimaksudkan untuk persentasi. Storyboard seperti itu seringkali menjadi suatu dasar bagi rencana pembuat dan director dalam pengimplemtasian dari cerita
dengan masing –masing media. “
Pembuatan stotyboard dalam salah satu langkah – langkah Interface design workflow, sebagai representasi penggambaran bagaimana sebuah interface merespon pada interaksi pengguna dan sebagai penggambaran bagaimana sebuah interface merespon pada interaksi pengguna dan sebagai penggambaran dan identifikasi dari tiap tiap konten objek yang ada walaupun mereka beum dibuat ataupun dikembangkan. Storyboard juga berfungsi sebagai penunjuk fungsionalitas dari sebuah aplikasi.
Secara umum, storyboard adalah sekumpulan gambar yang terorganisisr secara berurutan dan dibuat untuk tujuan mem-previsualisasikan sebuah gambar
gerak, animasi, ataupun urutan media interaktif, termasuk sebuah interaktif dari sebuah web.
2.3 Pengertian Game
Menurut Avedon dan Smith games adalah sebuah latihan system control sukarela, dimana ada sebuah kontes antara kekuatan, dibatasi oleh aturan – aturan
dalam rangka memproduksi hasil yang tidak seimbang.
Yang pertama, sebuah latihan system control sukareala: itu adalah games
10
Yang kedua, sebuah kontes antara kekuatan:bagian ini kelihatan menjadi bagian dari kebanyakan games. Dua atau lebih orang berusaha dengan keras untuk
mendominasi sebuah game. Tapi tidak semua game mengalami ini, contohnya single-player game tidak perlu bersaing dengan kekuatan pemain lain, dan dari kalimat di atas, dapat disimpulkan dua hal, bahwa games mempunyai goals,dan games empunyai konflik.
Yang ketiga,dibatasi oleh aturan-aturan: sebuah poin yang sangat penting.
Games mempunyai aturan-aturan, mainan tidak mempunyai aturan-aturan. Aturan sebenarnya adalah salah satu aspek yang mendefinisikan games.
Yang keempat, hasil yang tidak seimbang: tidak seimbang atau
disequilibrial bukan berarti tidak sama, melainkan mengimpikasikan bahwa dalam satu waktu ada keadaan yang tidak seimbang, games dimulai dalam keadaan yang sama, lalu ada yang menang da nada yang kalah. Jadi jika kamu bermain games, kamu pasti menang atau sebaliknya kamu kalah.
Jadi poin penting dari sebuah games adalah games dimasuki secara sengaja oleh pemain, games mempunyai goals, games mempunyai konflik, games mempunyai aturan-aturan, dan games bisa berarti menang atau kalah.
2.3.1 Pengertian Casual game
kekerasan, dan kompleksitas permainan dengan bertujuan untuk menarik pemain
seluas mungkin dari berbagai kalangan.
Perbedaan antara casual gamer dengan hardcore gamer menurut Schell adalah casual gamer hanya bermain game sebagai hiburan sesekali, namun hardcore gamer bermain game sebagai hobi utama mereka.
2.3.2 Hardcore Game
Hardcore gamer memperluas game ke dalam gaya hidup mereka dan dapat
mewakili stereotip "Pecandu game". Mereka lebih sering memilih untuk menghabiskan waktu yang signifikan pada permainan, dan lebih cenderung untuk
mencoba "menguasai" permainan tersebut dengan menyelesaikan sebanyak mungkin Objective. Dalam Hardcore sering mengadakan kontes – kontes turnamen. Sehingga penggemar hardcore game cenderung menghasbiskan waktu nya untuk menguasai game tersebut. Konten yang terdapat di dalam harcore game juga tidak semudah casual game, hardcore game lebih rumit untuk dimainkan
2.3.3 Game Genre
Menurut Rogers sebuah game genre digunakan untuk mendeskripsikan gaya dari suatu permainan. Game genre dibagi menjadi beberapa genre dan subgenre yakni:
a. Action
12
b. Shooter
Shooter merupakan game yang berfokus pada penembakan peluru pada musuh. Genre ini termasuk dalam beberapa subgenre yang dibagi berdasarkan
dari kamera penglihat.
1) First Person Shooter (FPS)
Merupakan game yang sudut pandangnya sama seperti yang terlihat
dari sudut pandang pemain. Tampilan kamera lebih terbatas tapi lebih personal dari third person shooter.
2) Shoot em`up
Merupakan permainan dengan gaya arcade yang dimana pemain menembak musuh dalam jumlah yang besar dan menghindari bahaya.
3) Third Person Shooter (TPS)
Merupakan permainan menembak yang dimana kameranya diletakan
dibelakang karakter. c. Adventure
Adventure merupakan permainan yang berfokus pada penyelesaian teka-teki,
mengumpulkan barang dan mengatur persedian. Adventure game pada awalnya hanya berbasis teks.
d. Contruction/Management
Contruction/Management merupakan permainan yang dimana pemain membangun dan memperluas lokasi dengn sumber yang terbatas. Contohnya
e. Life Simulation
Life Simulation merupakan permainan yang seperti Management tetapi lebih ke arah membangun dan memelihara hubungan denga kehidupan buatan.
Contohnya The Sim dan Princess Maker f. Music/Rhytm
Music/Rhytm merupakan permainan yang mencocokan irama atau mencetak
nilai yang tertinggi. Contohnya Simon dan Rock Band. g. Party
Party merupakan game yang didesain untuk permainan banyak orang dan didasarkan dengan persaingan. Sering kali game ini disajikan format game kecil. Contohnya Mario Party dan Buzz.
h. Puzzle
Puzzle merupakan permainan teka-teki yang didasarkan logika dan
penyelesaian pola. Contohnya The Incredible machine atatu Tetris. i. Sport
Sport merupakan permainan yang didasari dari kompetisi atletik, apakah itu
tradisional atau extreme. j. Strategy
14
1) Real Time Strategy (RTS)
sama seperti turn based games, tapi game ini serba cepat dan berfokus
pada “ empat X`s” yakni ekspansi, eksporasi, ekploitasi dan
Contohnya Defense Grid, The Awakening dan Lock`s Quest.
2.3.4 Gameplay Tower Defense
Tower Defense merupakan sebuah sub-genre dari permainan komputer real-time strategy[17]. Dalam permainan tower defense setiap pemain menggunakan media mouse untuk melakukan interaksi terhadap permainan tersebut.
Gameplay dari permainan dengan jenis tower defense adalah mencegah setiap musuh yang muncul untuk menuju goal point, dimana apabila musuh mencapai goal point tersebut maka darah atau nyawa dari pemain akan berkurang dan apabila habis maka pemain dinyatakan kalah. Setiap pemain dapat menempatkan
Adapun uang yang digunakan untuk membeli tower didapatkan dari hasil membunuh setiap musuh yang ada. Permaianan dinyatakan sukses apabila pemain
dapat mempertahankan darah atau nyawa nya sampai waktu yang ditentukan habis atau berdasarkan jumlah musuh yang dibunuh.
2.3.5 Karakteristik Tower Defense
Karakteristik yang terdapat di dalam aplikasi permainan yang berjenis
tower defense adalah sebagai berikut :
A. Terdiri dari dua point, yaitu point awal tempat keluarnya musuh dan point akhir yang merupakan tujuan akhir musuh
B. Adanya shop yang digunakan untuk membeli tower, sehingga tower yang bisa digunakan bervariasi
C. Metode interaksi antara pemain dan aplikasi permainan dengan menggunakan
mouse
D. Terdapat nyawa dan jumlah koinpemain
E. Terdapat jalur yang telah ditentukan sehingga musuh berjalan melewati jalur tersebut
2.4 Dimensi Video Game
Game pasti memiliki dimensi dalam tampilannya adapun jenis dimensi sebagai berikut :
16
Game dua dimensi dapat diketahui berdasarkan ruangnya yang hanya memiliki dua sisi ( X dan Y). Sedangkan untuk gambarnya sendiri dapat
menggunakan Vector maupun Bitmap. Untuk membuat animasi bergerak (berjalan,melompat,berlari,dll) kita harus membuat gambar satu persatu yang
disebut dengan(frame). Kerealisasian gerakan ditentukan dari gambar yang dibuat, jumlah gambar(frame) yang digunakan, serta hitungan gambar per detik (frame per second ( semakin tinggi hitungan gambar per detik maka semakin mulus
gerakan yang akan dihasilkan)). Bagi pemula sebaiknya mencoba untuk membuat game bertipe 2D terlebih dahulu.
2.4.2 3D (Three Dimension)
3D ini merupakan model/ object 3 dimensi yang nantinya akan anda jadikan sebagai karakter utama, bangunan, object-object seperti senjata,musuh,
permukaan tanah ,pohon, bukit,dll. Object 3d seperti ini bisa anda buat dengan
menggunakan program seperti “AutoDesk 3DS.Max” ,”Maya”,”Hash”, “
Blender” .
2d graphic:gambar 2d juga berperan dalam membuat game bertipe 3D fungsi gambar 2d antara lain:
a) sebagai texture untuk object
b) sebagai latar belakang ( langit , pemandangan,dll)
Sedangkan untuk membuat animasi dalam 3D dapat digunakan bones(tulang) yang layaknya manusia dapat digerakkan. Selain itu animasi tetap
juga dapat menggunakan bitmap (gambar 2d) untuk animasi pada texture air, api,dll.
2.5 Elemen Game
Setiap permainan digital memiliki elemen-elemen dasar, berupa: 1. Grafis
yakni tampilan game tersebut di layar atau display alat elektronik, bisa berupa kumpulan pixel (satuan unit gambar terkecil) atau salah satu bagian gambar tersebut menunjukkan gerakan yang adalah hasil manipulasi si pemain.
2. Interface
alat pengentara dimana pemain memanipulasikan game yang mengantarai dan memproses manipulasi pemain menjadi input dalam game, dapat berupa keyboard, mouse, joystick ataupun tampilan-tampilan tertentu dalam game 3. Aktivitas pemain
yakni jantung hati dari pengalaman bermain game, tanpa aktivitas pemain maka tidak akan ada suatu permainan; aktivitas bisa bersifat diegetic (bagaimana karakter si pemain berubah aktivitas pemain) dan bersifat extradiegetic (apa yang terjadi secara fisik pada diri pemain tersebut).
4. Sebuah algoritme
yakni jantung hati dari program game yang merupakan serangkaian program berisi otak dan seperangkat aturan yang mendasari dinamika game tersebut.
18
2.6.1 Definis AI
Sebagian kalangan menerjemahkan Artificial Intelligence sebagai kecerdasan buatan, kecerdasan artifisial, intelijensia artifisial, atau intelejensia buatan. Pada bukunya Suyanto sengaja tidak menerjemahkan istilah Artificial Intelligence ke bahasa Indonesia karena istilah tersebut sudah sangat akrab bagi orang Indonesia. Begitu juga dengan singkatan istilah tersebut, yaitu AI, sudah sangat melekat di berbagai media ilmiah maupun non ilmiah. Definisi AI yang
paling tepat untuk saat ini adalah acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran bahwa komputer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasarkan hasil penalaran tersebut.
2.6.2 Teknik Pemecahan Masalah AI
Terdapat empat teknik dasar pemecahan masalah yang terdapat pada bidang academic/traditional artificial intelligence ,diantaranya adalah sebagai berikut :
A. Searching
Pada teknik searching atau pencarian ini terdiri dari beberapa langkah untuk merealisasikannya. Langkah pertama adalah mendefinisikan ruang masalah
untuk suatu masalah yang dihadapi. Langkah kedua adalah mendefinisikan aturan produksi yang digunakan untuk mengubah suatu keadaan ke keadaan lainnya.
Langkah terakhir adalah memilih metode pencarian yang tepat sehingga dapat menemukan solusi terbaik.
Teknik reasoning atau penalaran merupakan teknik penyelesaian masalah dengan cara merepresentasikan masalah ke dalam basis pengetahuan (knowledge
base) menggunakan logic atau bahasa formal (bahasa yang dipahami komputer). Teknik ini melakukan proses penalaran berdasarkan basis pengetahuannya untuk
menemukan solusi. C. Planning
Planning adalah suatu metode penyelesaian masalah dengan cara memecah
masalah ke dalam sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu kemudian menggabungkan solusi-solusi dari sub-sub
masalah tersebut menjadi sebuah solusi lengkap dengan tetap mengingat dan menangani interaksi yang terdapat pada sub-sub masalah tersebut.
D. Learning
Pada ketiga teknik sebelumnya, seseorang harus mengetahui aturan yang berlaku untuk sistem yang akan dibangunnya. Tetapi, pada masalah tertentu
terkadang suatu aturan tidak bisa didefinisikan secara benar ataupun lengkap. Hal tersebut mungkin dikarenakan data-data yang didapat tidak lengkap. Melalui teknik yang disebut learning ini, secara otomatis aturan yang diharapkan bisa
berlaku umum untuk data-data yang belum pernah diketahui dapat ditemukan.
2.6.3 Waypoint
20
Pola gerakan yang paling dasar untuk karakter dalam permainan hanyalah sebuah garis lurus baik dalam bidang horisontal atau vertikal. Biasanya, karakter akan
bergerak ke kiri dan kanan antara dua titik dan batas mungkin tepi layar atau sesuatu yang berhubungan dengan latar belakang peta.
2.6.4 Metode Collision Detection
Hampir setiap permainan video yang ada sudah menerapkan collision detection (deteksi tabrakan), baik itu dalam hal tabrakan antara sprite dengan
sprite maupun antara sprite dengan peluru dan lain-lain. Dalam aplikasi permainan ada beberapa reaksi yang ditunjukkan dari collision detection, yaitu reaksi dari
spirte yang berupa berkurangnya nyawa, berkurangnya darah, meledak, dan lain-lain.
Proses collision dapat dibagi menjadi dua kategori dasar, yaitu collision detection dan collision response, dengan jarak respon yang telah diaplikasikan secara spesifik.
Selain itu pada sumber lain disebutkan bahwa collision detection terbagi menjadi dua jenis, yaitu collision detection object to object dan collision detection object to world. Pada object to object yang terjadi adalah adanya tubrukan antara satu objek dengan objek lainnya yang berada di dalam satu frame, baik itu objek tersebut bertubrukan secara langsung ataupun bertubrukan antara kotak maupun
sehingga apabila terjadi, maka sprite tersebut tidak dapat melewati dinding tersebut.
2.7 Game Engine
Menurut Andre LaMothe Game engine adalah sistem yang memproses segala sesuatu yang berhubungan dengan game, dan mengendalikan modul – modul yang mengirimkan perintah ke dalam sub-sistem, sehingga game engine harus dirancang agar dapat terhubung ke tiap masing-masing sub-sistem dalam game.
2.7.1 Struktur Game Engine
Menurut andre LaMothe tujuan utama dari game engine sendiri adalah untuk me-render 3D game itu sendiri. Artinya, game engine digunakan game engine itu sendiri harus terhubung dengan system physics dan artificial intelligence. Maka dari itu, sebuah game harus memiliki :
a. 3D engine
b. Game Engine.
c. Sistem input dan networking d. Sistem animasi
e. Collision detection dansistemnavigasi f. Physics engine
22
Gambar 2.1 Struktur Umum 3D Game Engine
(Sumber : Andre La Mothe, 2003,p495)
2.7.2 Unity Game Engine
Unity game engine merupakan sebuah game engine dan editor, yang memungkinkan pengembang membuat object, meng-import external asset dan menggabungkan semuanya dengan menggunakan kode secara efisien dan cepat.
Prinsip dari Unity sendiri adalah agar pengembang dapat melakukan aktivitasnya dengan menggabungkan script dan membuat beberapa variable. Unity juga mendukung kemampuan networking dan dapat digunakan pada banyak platform.
Scripting di dalam Unity dapat menggunakan tiga bahasa pemrograman, yaitu JavaScript, C#, dan Boo. Pengembang game dapat menggunakan ketiga bahasa pemrograman tersebut dalam satu proyek miliknya. Beberapa konsep penting di dalam scripting yang harus pengembang mengerti adalah:
Merupakan container dari kode yang dieksekusi berkali-kali setiap detik (per – frame).
b. Transform
Merupakan refence untuk komponen transform game object, yang mendefinisikan posisi, rotasi, dan skala dari setiap game object. Setiap object memiliki transform.
c. Rotate()
Merupakan sebuah fungsi yang ada pada komponen transform.
d. Angka-angka yang berada di dalam koma merepresentasikan derajat dari
rotasi untuk setiap axis di dalam 3D space : X,Y,Z. e.Time.deltaTime
Merupakan anggota dari kelas Time yang berjalan pada setiap detik, sehingga
24
BAB III
OBJEK DAN METODE PENELITIAN
3.1 Objek Penelitian
Objek penelitian adalah hal awal yang harus ditentukan dalam kegiatan
penelitian sehingga penelitian dapat dilakukan secara efektif dan efisien sesuai dengan tujuan penelitian. Pemilihan dan penentuan objek penelitian yang tepat diharapkan dapat menunjang kegiatan selama penelitian, sehingga hal-hal yang
diperlukan dalam penelitian akan mudah dicapai. Yang menjadi objek dalam penelitian ini adalah proses pembuatan aplikasi Game. Penyusun melakukan
penelitian dari berbagai sumber.
3.2 Sejarah Game
Game berbasis multimedia awal mulanya berasal dari game komputer
.Permainan komputer merupakan salah satu jenis media baru yang mulai ada sejak pertengahan kedua abad ke-20. Dibandingkan jenis-jenis media sebelumnya, permainan komputer menawarkan sebuah segi yang tidak diperoleh media lain,
yakni interaksi antara pemakai dengan program permainan komputer yang menghasilkan keragaman stimulus berdasarkan input yang diberikan pemainnya.
Bagaimana seorang pemain bermain, bertindak dan membuat pilihan-pilihan mempengaruhi keseluruhan pengalaman bermainnya tersebut.
solusinya dan membangun arti intuitif dari peran mereka dalam dunia permainan tersebut (Holland, Jenkins dan Squire, 2003).
3.3 Unsur – Unsur Game
3.3.1 Sprites
Sprites adalah kumpulan gambar-gambar yang digunakan untuk icon, karakter ataupun gambar bergerak dalam game. Sprites dapat dibuat dari gambar-gambar yang sudah dibuat dalam sebuah art packages, download dari internet maupun dibuat secara manual dengan menggunakan software seperti Adobe Photoshop.
3.3.2 Objects
Sprites tidak dapat melakukan sesuatu dengan sendirinya. Sprites hanya menyimpan gambar-gambar dari elemen-elemen yang berbeda dalam sebuah
fame. Objects adalah bagian dari game yang mengontrol bagaimana elemen-elemen tersebut bergerak dan berinteraksi satu sama lain. Contohnya adalah
karakter dalam game.
3.3.3 Events dan Actions
26
3.3.4 Backgrounds
Backgrounds adalah gambar –gambar yang digunakan sebagai gambar
latar belakang game dan merupakan jenis lain dari resource, seperti sprites dan objects. Pada umumnya ukuran backgrounds sama dengan resolusi game.
3.3.5 Sounds
Sounds juga termasuk resource game, jenis sounds dalam game ada dua, yaitu musics dan sound effect. Sounds dangat mempengaruhi atmosfer dalam game. Masters berupa lagu yang terus mengalun selama game dimainkan, namun lagu yang dimainkan pada umumnya bergantung pada tempat atau kondisi game.
Sounds effect adalah suara yang hanya terdengar ketika terjadi suatu hal tertentu, misal penekanan tombol, karakter terkena pukulan dan sebagainya. Kegunaan dari sound effects adalah untuk membantu user mengetahui action yang dilakukan maupun hal yang sedang terjadi.
3.3.6 Turn Based
Turn Based adalah sebuah sistem dalam game untuk menentukan giliran dimana hanya satu user yang dapat bergerak dalam suatu waktu tertentu. Contoh game antara lain Tic Tac Toe, Scrabble, Catur, Permainan Kartu dan lain-lain.
3.3.7 Sudut Pandang User
1) First Person View adalah sudut pandang orang pertama, dimana user dijadikan seperti karakter yang dimainkan, sehingga user melihat dari sudut pandang
karakter yang dimainkan. Contoh game : Counter Strike, HALO
2) Third Person View adalah sudut pandang orang ketiga, dimana user dapat melihat keseluruhan tubuh karakter dalam game. Contoh game : Ragnarok Online, FATE
3.4 Animasi Game
Animasi dapat dibuat dengan tiga teknik berbeda, yaitu Image, Xoring serta make. Dan dalam pergerakannya dapat bertipe object sprite atau object frame. Juga bisa dibedakan atas metode animasi yang digunakan antara animasi frame, bibliting dan realtime. Walaupun terbagi atas berbagai definisi berbeda, tapi dalam prakteknya teori-teori tersebut dapat digabungkan atau saling
berhubungan sehingga tidak murni dipakai sendiri. Macam-macam animasi yang digunakan dalam membuat sebuah game akan diterangkan sebagai berikut :
3.4.1 Animasi Dengan Teknik Image
Animasi dengan teknik ini adalah menyimpan image sebagai sebuah sprite dalam memori yang kemudian akan ditampilkan di backgroundnya. Dalam teknik
ini animasi yang disimpan harus berlatar belakang sesuai backgroundnya. Animasi dengan teknik ini biasanya sulit dalam pembuatan gambarnya, sebab
28
3.4.2 Animasi Dengan Teknik Xoring
Teknik ini adalah teknik animasi yang mudah dan sederhana, sebab selain
gambarnya satu sprite, cara menampilkannya juga jauh lebih mudah dibanding dengan teknik sebelumnya. Pembuatan gambarnya sangat mudah, sebab yang dibuat adalah spritenya saja dan tidak perlu menyamakan dengan backgroundnya.
Kelemahan dari teknik ini adalah memiliki efek buruk yaitu tembus pandang dan mengganti warna sprite, maka hal ini tidak baik digunakan dalam animasi yang backgroundnya bergambar.
3.4.3 Animasi Dengan Teknik Make
Animasi dengan teknik ini biasanya digunakan untuk animasi umum, tapi biasanya digunakan untuk proses pembuatan animasi. Animasi dengan teknik ini memiliki sprite yang terus menerus digenerate oleh program, kemudian
ditampilkan dengan perhitungan tertentu.
Animasi ini biasanya dilakukan oleh 3D modelling dan shading software seperti AutoCad, 3D Studio, Presidio 3D Workshop dan lain-lain. Operasi diatas haruslah digenerate secara langsung dengan perhitungan sehingga saat pembuatan hampir bersamaan dengan saat menampilkannya
3.4.4 Animasi Dengan Tipe Object Frame
Animasi ini menitik beratkan animasi yang dimainkan hanya pada sprite
digerakkan.
3.4.5 Metode Animasi frame
Metode ini adalah metode animasi yang mendukung tipe object frame. Karena metode animasi dengan metode full-screen, maka frame yang tampil haruslah disiapkan terlebih dahulu dalam bebera page sebelumnya. Karena hal
tersebut maka pengambilan gambarnya haruslah sangat cepat, sehingga tidak menjadikan animasi lamban dan tersendat. Animasi frame ini haruslah
menampilkan gambar fullscreen yang bergerak, agar efek tersendat dari pergantian frame tidak menyolok.
3.4.6 Metode Animasi BitBlt
Metode animasi ini biasanya disebut sprite animation, array animation, blocked animation, partial screen animation, snapshot animation atau arcade
animation. Prinsip dari metode ini adalah menyimpan image dan memainkan animasinya dalam bentuk satu atau bebera sprite kecil. BitBlt ini digunakan untuk
membuat program permainan dan program berbasis grafis terutama dalam membuat animasi sederhana.
3.4.7 Metode Animasi Real-Time
Dalam metode ini biasanya semua animasi yang sedang tampil atau yang akan dibuat dilakukan bersama sehingga tidak perlu disiapkan terlebih dahulu.
30
akan tetapi sebaiknya digunakan untuk keperluan khusus seperti rotating dan
tweening
3.5 Metode Penelitian
3.5.1 Metode Pendekatan
Metode pendekatan sistem yang di gunakan adalah pendekatan dengan Object Oriented yang menggunakan AOO (Analisis Object Oriented) dan DOO (Design Object Oriented) yang di visualisasikan dengan UML dan di antara nya adalah sebagai berikut : Use Case, Sequence Diagram, Class Diagram, Collaboration Diagram, Component Diagram dan Deployment Diagram.
3.5.2 Metode Pengembangan Sistem
Metode pengembangan sistem yang akan digunakan adalah model prototype, karena model tersebut lebih memperhatikan kebutuhan sistem
pemakai, prototype memberikan ide bagi pembuat maupun potensial tentang cara sistem berfungsi dalam bentuk lengkapnya, proses menghasilkan sebuah
prototype disebut prototyping.
1. Pengumpulan Kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh
perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat
input dan format output). 3. Evaluasi Prototyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan
mengulangu langkah 1, 2 , dan 3. 4. Mengkodekan Sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
5. Menguji Sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White
Box dan Black Box. 6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan. Jika ya, langkah 7 dilakukan jika tidak, ulangi langkah 4dan5.
7. Menggunakan Sistem
32
Gambar 3.1. Metode Pendekatan Prototype Paradigma (Sumber: Pressman, Roger S., 2002, Rekayasa Perangkat Lunak: Pendekatan Praktisi Jilid Dua, Penerbit: Andi Offset, Yogyakarta).
3.5.3 Alat Bantu Analisis Dan Perancangan
Dalam pembuatan aplikasi, peneliti menggunakan alat bantu analisis dan perancangan yaitu sebagai berikut :
1. Usecase Diagram.
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah usecase merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat
membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
semua feature yang ada pada sistem. Sebuah usecase dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara
umum diasumsikan bahwa use case yang diinclude akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat
di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
2. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok : a. Nama (dan stereotype)
b.Atribut c. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
34
b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dananak-anak yang mewarisinya
c. Public, dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface, yaitu class
abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat
run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas
package.
Hubungan Antar Class
a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class
yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
b. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
c. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan
menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
d. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian.
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri antara dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali
dengan diterimanya sebuah message.Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary,
controller dan persistent entity.
4. Activity Diagram
Diagram ini adalah jenis spesial dari statechart diagram yang menunjukkan
alur dari aktifitas ke aktifitas lain dalam suatu sistem. Activity diagram
mengalamatkan secara dinamis suatu sistem. Diagram ini sangat penting dalam
membuat model fungsi dari suatu sistem dan menekankan pada alur control diantara
objek - objek yang bersangkutan.
3.6 Pengujian Software
36
Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi
kebutuhan-kebutuhan yang dispesifikasikan atau mengidentifikasi perbedaan-perbedaan antara hasil yang diharapkan dengan yang terjadi. Pengujian ditujukan
untuk menghasilkan perangkat lunak (software) yang bebas kesalahan, paling tidak secara teknik.
Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pada
pengujian black-box, kasus-kasus pengujian berdasarkan pada spesifikasi sistem. Rencana pengujian dapat dimulai sedini mungkin di proses pengembangan
perangkat lunak.
Pada pengujian black box, mencoba beragam masukan dan memeriksa keluaran yang dihasilkan. Teknik pengujian black box juga dapat digunakan untuk pengujian berbasis skenario, dimana isi dalam sistem mungkin tidak tersedia untuk diinspeksi tapi masukan dan keluaran yang didefinisikan dengan use case dan informasi analisis yang lain. Adapun faktor-faktor pengujian black-box adalah :
1. File integrity
Menekankan pada data yang dimasukkan melalui aplikasi akan tidak biasa diubah. Prosedur yang akan memastikan bahwa file yang digunakan benar dan
2. Service levels
Menekankan bahwa hasil yang diinginkan didapat dalam waktu yang
diinginkan oleh user. Untuk mencapai keinginan tersebut, harus dilakukan penyesuaian antara keinginan user dengan sumber daya yang ada.
3. Ease of use
Menekankan perluasan usaha yang diminta untuk belajar, mengoprasikan
dan menyiapakan inputan, dan menginterpretasikan output dari sistem. Faktor ini tersangkut dengan usability system terhadap interaksi antara manusia dan system.
4. Authorization
Menjamin data diproses sesuai dengan ketentuan manajemen. Authorization menyangkut proses transaksi secara umum dan khusus. Fokus Pengujian Black box testing yaitu sebagai berikut :
1. Menguji fungsi-fungsi khusus dari aplikasi.
2. Test input dan output untuk fungsi yang ada tanpa memperhatikan prosesnya.
Beberapa jenis kesalahan yang dapat di identifikasi :
1. Fungsi tidak benar atau hilang,
2. Kesalahan antar muka,
38
4. Kesalahan inisialisasi dan akhir program, dan
5. Kesalahan performasi.
39
4.1. Analisis Pembangunan Aplikasi Game Defense of the Law
4.1.1. Pengenalan
Game Defense of the Law adalah game Real Time Strategy (RTS) yang berbasis tower defense, game ini bercerita tentang bagaimana mempertahankan suatu kota dari gangguan penjahat, dengan lembaga-lembaga
ketahanan dan aparat penegak hukum di Indonesia mewakili tower yang akan menjadi pertahanannya. Defense of the Law merupakan game single mode yang di bangun dengan tekhnologi 3 Dimensi.
4.1.1.1. Konsep Game
Tugas utama pemain dalam Game ini adalah mempertahankan hukum
yang berlaku jangan sampai penjahat bisa melarikan diri dari kota, game ini menekankan pemain berpikir secara strategi untuk mengambil keputusan dalam
perencanaan pembangunan tower, setelah di tempatkan yang di tentukan tower akan menembak otomatis pada musuh yang melewati. pemain membangun tower harus dengan gold yang mencukupi, setiap menghancurkan musuh gold akan bertambah, pemain bisa membangun tower lebih banyak dan meng-upgradetower tersebut menjadi lebih kuat. Goal dari Game ini adalah mempertahankan sebuah
40
selanjutnya yang tingkat kesulitan nya lebih susah , dan wave yang semakin banyak.
4.1.2 StoryLine Pada Game Defense of the Law
Cerita berawal dari Negara kita yang mempunyai beberapa aparat dan
penegak hukum yang berkewajiban untuk memberantas segala kejahatan. Ketika suatu kota di ancam oleh gangguan yang meresahakan warga dengan bermunculnya gerombolan gangster , maling , preman , dan teroris aparat penegak
hukum seperti polisi , TNI , dan lain-lain harus aktif dalam memberantas segala gangguan tersebut . Di samping itu ada yang lebih berbahaya lagi yaitu koruptor
yang bisa merusak Negara ini dengan mencuri uang rakyat dan uang-uang tersebut dapat mempermainkan aparat penegak hukum sehingga koruptor bisa bebas apa yang dia perbuat.
Dengan kondisi tersebut terpilihlah walikota baru di suatu kota besar yang akan bekerja keras mencoba untuk menegaskan dan memerintahkan aparat
penegak hukum untuk lebih aktif memberantas kejahatan yang meresahkan masyarakat. Dalam penyelidikan jabatan – jabatan tinggi di suatu kota tersebut walikota menugaskan kpk untuk mewaspadai tidak ada nya koruptor. Dalam
upaya ini tujuan walikota menjadikan kota tersebut bersih dari segala gangguan , tidak ada nya pelanggar hukum bisa kabur dengan mudah. Di balik itu walikota
harus mempunyai cara dan strategi yang mantap untuk menyelesaikan masalah.
4.1.2.1 Alur Permainan Pada Game Defense of the Law
Alur permainan merupakan ketentuan-ketentuan yang terdapat pada
untuk memainkan permainan ini dan untuk menyelesaikan misi pada aplikasi permaianan tersebut.
Di bawah ini adalah alur permainan dari aplikasi Game Defense of the Law 1. Musuh bergerak dari point A(respawn musuh) menuju point B(tempat
melarikan diri ) sesuai dengan jalur yang telah disediakan. 2. Musuh bergerak dengan rute yang telah di tentukan
3. Pada level ke-2 musuh mempunyai 2 jalur untuk bergerak dari point
A1 ke poin B1 dari point A2 ke point B2.
4. JIka gold mencukupi membeli Tower yang di pilih untuk dibangun , bisa dibangun sesuai tempat yang telah di tentukan.
5. Tower akan menembak otomatis musuh yang berjalan mendekati nya atau daerah jangkauannya.
6. Jika Tower berhasil menghancurkan musuh , Gold dan score akan bertambah.
7. Jika gold mencukupi pemain bisa meng-upgrade tower menjadi lebih kuat dan cepat menembaknya.
8. Jika salah penempatan atau membutuhkan gold tower bisa di jual. 9. Jika musuh berhasil kabur darah pemain akan berkurang
10.Jika darah pemain bernilai 0 maka game akan berakhir.
42
4.1.2.2 Misi Game Defense of the Law
Misi yang harus diselesaikan pada aplikasi Game Defense of the Law ini yaitu dengan melakukan pertahanan selama wave yang ditentukan sesuai level, pertahanan yang dilakukan agar musuh tidak bisa kabur ke titik point B.
4.1.3 StoryBoard
StoryBoard merupakan sketsa berurutan sesuai naskah yang ada, dengan membuat ini kita dapat menyampaikan ide cerita yang kita bangun dengan mudah . StoryBoard Level 1 dari Game Defense of the Law,bisa di lihat di gambar 4.1.
Pada level 1 ini, musuh akan keluar secara berurutan dari point A(Respawn musuh) menuju point B(melarikan diri dari kota) sesuai dengan jalur yang telah disediakan,. Setiap pemain pada level ini dapat menggunakan semua jenis Tower untuk melakukan pertahanan dengan cara membeli Tower yang akan digunakan pada shop yang telah tersedia sesuai dengan jumlah gold yang dimiliki. tower yang dibangun hanya bisa ditempatkan pada jalur yang di lewati musuh Storyboard level 2 dari aplikasi game Defense of the Law, terdapat pada gambar 4.2
Gambar 4.2 StoryBoard Level 2
44
yang telah di sediakan, Jalur point A1 menuju menuju poin B1 jalur point A2 menuju Point B2. Setiap pemain pada level ini dapat menggunakan semua jenis Tower untuk melakukan pertahanan dengan cara membeli Tower yang akan digunakan pada shop yang telah tersedia sesuai dengan jumlah gold yang dimiliki. tower yang dibangun hanya bisa ditempatkan pada jalur yang di lewati musuh
4.1.4. Entitas Game
Entitas yang terdapat di dalam game terbagi menjadi dua, yaitu karakter Tower dan NPC yang berupa musuh.
A. keterangan Tower
Keterangan Tower dapat di lihat di table 4.1.
Tabel 4.1. Keterangan Tower
1 Hansip
1. Hansip aparat yang perintahkan
untuk menjaga wilayah setempat.
2. jangkauan dan serangan yang sangat kecil, tetapi murah untuk
di beli.
1. Satpol PP aparat yang perintahkan untuk mentertibkan
kerusuhan,
2. jangkauan dan serangan yang sangat kecil, Tetapi
kemampuannya di atas hansip
3 Polisi
1. Polisi, aparat yang perintahkan untuk menangkap penjahat,jika
dibutuhkan penjahat di lumpuhkan.
2. jangkauan dan serangan yang normal, kemampuan di atas
satpol pp dan hansip.
46
1. TNI adalah lembaga ketahan Indonesia yang perintahkan untuk menjaga pertahanan
negara,
2. jangkauan dan serangan yang
sangat luas, serangan yang kuat dan cepat.
5 KPK
1. KPK adalah lembaga
pemberantas korupsi,
2. jangkauan dan serangan yang
sangat kuat, efektif melawan koruptor . tidak berpengauh pada
musuh yang lain
B. Keterangan Musuh
Keterangan Tower dapat di lihat di table 4.2.
Tabel 4.2. Keterangan Musuh
1. Jenis kejahatan yang sering kita temui di kota mana pun, mengambil hak bukan milik nya
menjadi profesi untuk mencari uang .
2. Kecepatan bergerak yang normal, musuh pertama yang
akan keluar dalam game.
2 Gangster
1. Orang bergerombolan yang meresahkan masyarakat.
2. kecepatan bergerak lebih cepat dari maling, tetapi mempunyai
atribut darah yang lemah
48
1. Perilaku nya sangat meresahkan masyarakat, ingin menjadi
jagoan di daerah tertentu.
2. Memiliki darah yang kuat , tetapi kecepatan bergerak nya lambat.
5 Koruptor
1. Manipulasi , menipu dan
mencuri uang rakyat . uang yang begitu banyak bisa memperdaya
aparat hukum yang lemah .
2. Dalam game ini koruptor tidak mampu di serang oleh tower lain
6 Teroris
1. Ideologis yang menyimpang , dan kejahatan nya bisa
membunuh orang banyak .
sangat kuat.
C. Atribut Tower
Tabel 4.3. Atribut Tower
1 Hansip
Upgrade Level 1 Level 2 Level 3
Damage 5 7 10
Attack Speed 2 1.5 1
Range 4 5 5
Cost 12 15 17
2 SatPol PP
Upgrade Level 1 Level 2 Level 3
Damage 7.5 10 12.5
Attack Speed 2 1.5 1
Range 3 5 5
50
3 Polisi
Upgrade Level 1 Level 2 Level 3
Damage 9 13 15
Attack Speed 2 1.5 1
Range 7 7 8
Cost 40 43 65
4 TNI
Upgrade Level 1 Level 2 Level 3
Damage 5 7.5 9
Attack Speed 0.1 0.1 0.1
Range 7 8.5 9.3
Cost 150 170 170
5 KPK
Upgrade Level 1 Level 2 Level 3
Damage 8 10 12
Range 8 10 11.5
Cost 100 120 120
D. Atribut Musuh
Tabel 4.4. Atribut Musuh
Karakter Maling Gangster Preman Koruptor Teroris
Gold 15 15 30 57 50
Speed 3 4 1.6 3 2
Health 50 40 200 110 350
Score 15 20 58 100 135
4.1.5 Analisis Metode dan Algoritma Defense of the Law
Pada aplikasi permainan Defense of the Law ini, diterapkan metode dan algoritma yang berguna untuk membuat aplikasi permainan ini menjadi lebih
menarik dan menantang.
4.1.5.1 Penerapan Metode Collision Detection Defense of the Law.
52
Unity berupa metode dimana yang bersinggungan merupakan objek secara langsung, baik itu sprite dengan sprite maupun sprite dengan objek lain.
Pada aplikasi permainan Defense of the Law, metode yang akan diterapkan pada peluru yang ditembakan oleh Tower untuk membunuh setiap musuh yang ada adalah metode collision antara objek dengan objek yang terjadi apabila objek tersebut saling bersentuhan pada titik yang sama.
Diagram Activity metode collision peluru dengan musuh ditunjukkan pada gambar 4.3.
Gambar 4.3 Diagram Activity Pelurudengan musuh
Di asumsikan untuk semua jenis musuh dan serangan tower, darah berkurang pada
musuh di tulis dengan rumus :
4.1.5.2 Analisis Sell Tower dan Upgrade Tower
Player diberikan fitur jual tower, jika player mengalami salah penempatan
tower ataupun membutuhkan gold yang lebih banyak.
Di asumsikan untuk semua tower ditulis dengan rumus sebagai berikut : Gold = Gold + Cost(Tower)*50%.
Player juga di berikan fitur upgrade jika gold mencukupi untuk melakukan upgrade maka kemampuan tower akan bertambah sesuai atribut yang penulis tulis
di table 4.3.
4.1.5.3 Penerapan Waypoint Search pada Defense of the Law.
54
Gambar 4.4 Jalur Waypoint
Penjabaran Algoritma nya sebagai berikut :
Table 4.5 Algoritma Waypoint 1
2
3
4
5
6
7
8
SVector3D SteeringBehaviors::FollowPath(){
if(Vec3DistanceSq(m_pPath->CurrentWaypoint(), m_pMusuh->Pos()) <
m_WaypointSeekDistSq){
m_pPath->SetNextWaypoint();
}
if (!m_pPath->Finished()){
return Seek(m_pPath->CurrentWaypoint());
9
10
11
else{
return Arrive(m_pPath->CurrentWaypoint(), normal);}
}
Meskipun AI ini tebilang tidak terlalu rumit , tapi sangat efisien untuk digunakan pada kebutuhan path follower khususnya pada genre Tower defense.
4.1.6 Perancangan Aplikasi
4.1.6.1 Diagram Use Case
Use case adalah abstraksi dari interaksi antara sistem dan dan aktor. Use case mendeskripsikan bagaimana sistem akan terlihat di mata user. Secara umum, interaksi antara pengguna dengan aplikasi permainan Defense of the Law digambarkan pada diagram use case dibawah ini :
Gambar 4.5 Diagram Use Case Defense of the Law
56
Definisi use case berfungsi intuk menjelaskan fungsi use case yang terdapat pada use case diagram. Definisi use case diterangkan pada table berikut :
Table 4.6 Definisi Use case
NO Use Case Deskripsi
1 Campaign Proses memasuki menu Level
2 Level 1 Proses memainkan Level 1
3 Level 2 Proses memainkan level 2
4 LeaderBoard Proses memasuki HighScore
5
Setting Proses memasuki Setting/pengaturan game
6
Petunjuk Permainan Proses menampilkan petunjuk permainan
7 Kredit Proses menampilkan kredit
4.1.6.3 Skenario Use Case
Skenario pada diagram use case berisi mengenai alur kejadian ‘flow of event’ use case utama. Didalamnya menjelaskan urutan interaksi antara aktor
dengan use case tersebut dari awal sampai akhir. Adapun skenario use case yang terdapat pada aplikasi game Defense of the Law adalah sebagai berikut :
1. Skenario Use Case Campaign
Skenario use case ini menjelaskan interaksi antara aktor, yaitu pemain, dengan use case Pilih Level yang dijelaskan pada tabel 4.7.
Identifikasi
Nama : Campaign
Tujuan : Memasuki campaign
Deskripsi : Proses memasuki menu level
Aksi Aktor Reaksi Sistem
a. Klik Campaign
b. Tampilkan menu pilih level c. Pemain memilih level yang di
inginkan( jika level 1 telah berhasil di selesaikan level 2 baru akan kebuka
d. Muncul deskripsi level e. Pemain mengklik mulai
f. Tampilkan Level yang di pilih
2. Skenario Use Case level 1
Skenario use case ini menjelaskan interaksi antara aktor, yaitu pemain, dengan use case level 1 yang dijelaskan pada tabel 4.8.
Table 4.8 Skenario Use Case Level 1
Identifikasi
Nama : level 1
Tujuan : Permainan Level 1
58
Aksi Aktor Reaksi Sistem
a. Pemain memasuki level 1
b. Tampilkan layar permainan level 1 c. Inisialisasi Player
h. Menampilkan menu dan deskripsi tower
i. Memilih upgrade tower
j. Meng-upgrade tower menjadi semakin kuat serangan nya
k. Memilih sell tower
l. Menjual tower dan tower hilang m. Menyelesaikan misi
n. Update Status permainan
3. Skenario Use Case level 2
Skenario use case ini menjelaskan interaksi antara aktor, yaitu pemain, dengan use case level 2 yang dijelaskan pada tabel 4.9.
Table 4.9 Skenario Use Case Level 2
Nama : level 2
Tujuan : Permainan Level 2
Deskripsi : Proses permainan Level 2
Aksi Aktor Reaksi Sistem
a. Pemain memasuki level 2
b. Tampilkan layar permainan level 2 c. Inisialisasi player
h. Menampilkan menu dan deskripsi tower
i. Memilih upgrade tower
j. Meng-upgrade tower menjadi semakin kuat serangan nya
o. Memilih sell tower
p. Menjual tower dan tower hilang q. Menyelesaikan misi
r. Update Status permainan
4. Skenario Use Case LeaderBoard
60
Table 4.10 Skenario Use Case Leaderboard
Identifikasi
Nama : Leaderboard
Tujuan : Memasuki leaderboard
Deskripsi : Proses memasuki leaderboard
Aksi Aktor Reaksi Sistem
Skenario Normal a. Klik LeaderBoard
b. Tampilkan Score Pemain c. Tampilkan Nama Pemain
5. Skenario Use Case Setting
Skenario use case ini menjelaskan interaksi antara aktor, yaitu pemain, dengan use case Setting yang dijelaskan pada tabel 4.11
.
Table 4.11 Skenario Use Case Setting
Identifikasi
Nama : Setting
Tujuan : Memasuki pengaturan permainan Deskripsi : Proses memasuki Setting
Aksi Aktor Reaksi Sistem
b. Klik Setting
d. Tampilkan Hapus Saving e. Tampilkan Hapus Score d. Klik Ok
e. Kembali ke Main Menu
6. Skenario Use Case Petunjuk
Skenario use case ini menjelaskan interaksi antara aktor, yaitu pemain, dengan use case petunjuk yang dijelaskan pada tabel 4.12.
Table 4.12 Skenario Use Case Petunjuk
Identifikasi
Nama : Petunjuk
Tujuan : Memasuki tampilan petunjuk permainan Deskripsi : Proses memasuki petunjuk permainan
Aksi Aktor Reaksi Sistem
a. Klik Petunjuk Permainan
b. Tampilkan layar Petunjuk permainan
c. Klik Back
d. Kembali ke Main Menu
7. Skenario Use Case Kredit