BAB 1 PENDAHULUAN
1.1
Latar Belakang Video game merupakan perkembangan alami dari permainan tradisional ke medium yang baru (Schell, 2008, pp. xl). Medium baru tersebut tidak lain dihasilkan oleh perkembangan di bidang teknologi, memungkinkan dibuatnya beragam jenis permainan baru yang sebelumnya tidak dimungkinkan pada medium yang lama. Meski begitu, sebelumnya video game dan arcade game dianggap tidak lebih dari mainan biasa. Kemudian, perkembangan di bidang teknologi yang pesat membawa perubahan besar pada industri video game. Semakin lama video game menjadi semakin ubiquitous, video game tersedia di mana-mana, dari desktop computer sampai ponsel sekalipun. Industri game terus berkembang, hingga saat ini memiliki ukuran yang dapat menyaingi industri perfilman (Gregory, 2014, pp. 3). Akan tetapi, proses game design dan pengembangan game bersifat sangat iteratif. Pada setiap iterasi, dilakukan pengembangan untuk menjadikan game tersebut lebih baik dari sebelumnya. Perencanaan akurat mengenai berapa iterasi yang dibutuhkan sampai game yang dihasilkan "cukup baik" tidak mungkin dapat dilakukan. Ini membuat pengembangan game sangat berisiko, karena tidak diketahui apakah pengembangan game dapat selesai dalam waktu dan budget yang terbatas (Schell, 2008, pp. 94). Karena itu, penulis memilih untuk mengembangkan game template, game template adalah source code untuk game biasa pada umumnya, tetapi tidak memperhatikan aspek game design. Game template menyediakan rancangan dasar suatu game, sehingga game developer dapat mengurangi sumber daya dan waktu yang dibutuhkan untuk mengembangkan prototype suatu game. Dengan menggunakan game template, game developer dapat lebih fokus pada game art, game design, balancing, dan pengembangan lebih lanjut dari game template yang sudah disediakan. Game template ini dapat digunakan oleh game designer untuk mengembangkan prototipe-prototipe game, kemudian di reskin sebelum dirilis di pasaran. Reskin adalah proses mengubah game art dan sound yang digunakan pada suatu game.
1
2 Sebelumnya, pengembangan perangkat lunak untuk video game perlu dilakukan secara khusus berdasarkan perangkat keras yang digunakan dan game yang dikembangkan. Saat ini tersedia beragam game engine yang dapat membantu pengembangan beragam jenis video game, serta mendukung pengembangan multiplatform. Hampir semua game engine memiliki komponen-komponen inti yang sangat berguna dalam pengembangan video game, antara lain seperti rendering engine, physics engine, animation system, audio system, artificial intelligence system, dan sebagainya (Gregory, 2014, pp. 3). Di antara banyaknya game engine yang bermunculan, salah satu dari antaranya yang saat ini sedang digunakan oleh relatif banyak game developer adalah game engine dengan nama Unity. Unity merupakan game engine dengan pemrograman berbasis komponen, yang mendukung pengembangan video game untuk berbagai platform, antara lain web, mobile, console, dan desktop computer. Selain itu, Unity juga dirancang dengan tujuan untuk memberikan kemudahan dalam pengembangan video game, dengan editor environment yang relatif mudah digunakan oleh user (Gregory, 2014, pp. 29-30). Unity digunakan untuk pengembangan game template ini karena sejumlah alasan di atas. Menurut editor analytics milik Unity, sampai pada saat bulan September 2014, sebanyak 80,4 persen scipt dibuat dengan menggunakan bahasa pemrograman C# (Aleksandr, 2014). Karena merupakan bahasa pemrograman yang saat ini paling umum digunakan oleh para game developer Unity, bahasa pemrograman C# digunakan. Game template dengan genre tower defense dipilih untuk dikembangkan karena penulis tertarik pada ide-ide unik yang masih dapat diciptakan oleh para game designer untuk game jenis ini. Hal yang memicu ketertarikan penulis adalah ide-ide unik yang telah di-implementasi oleh game designer beberapa tahun belakangan ini, dengan game seperti Plants vs. Zombies.
3
Gambar 1.1 Screenshot Game Plants Vs. Zombies Game Plants vs. Zombies merupakan pengembangan dari konsep dasar game tower defense. Mazing merupakan elemen gameplay dasar yang biasanya dimiliki oleh game tower defense, Tower ditempatkan sedemikian rupa agar musuh yang datang melewati jalan berliku-liku, elemen ini dihilangkan untuk membuat game menjadi lebih simple, diubah dengan sejumlah jalur lurus dari kanan ke kiri. Tumbuhan digunakan sebagai Tower dan masing-masing tumbuhan memiliki wajah dan ekspresi yang berbeda-beda, memberikan karakter pada setiap tumbuhan yang ada. Sejumlah hal diatas membuat game ini menjadi lebih menarik untuk dimainkan oleh para casual gamer. Akan tetapi, game ini masih memiliki elemen strategi yang kuat, sehingga tetap menarik bagi gamer yang sudah berpengalaman. Keunikan ini telah memberikan game tersebut kesuksesan besar di industri video game. Game designer memiliki peran penting dalam menentukan kualitas video game yang dikembangkan oleh para game developer. Tantangan berat yang dialami oleh banyak game designer adalah sulitnya membuat prototipe game tanpa memiliki kemampuan pemrograman yang cukup baik. Meski saat ini sudah tersedia banyak game engine yang relatif mudah digunakan, seringkali kemampuan teknis dalam bidang pemrograman tetap dibutuhkan. Game template dengan custom editor yang cukup baik dapat mempermudah game designer dalam pengembangan prototipe suatu game. Pada saat penulisan skripsi ini, sudah tersedia beberapa game template Unity untuk 2D Tower Defense di Unity Asset Store. Akan tetapi, game template yang saat ini tersedia di pasaran masih kekurangan sejumlah feature penting,
4 contohnya seperti upgradeable unit, status effect, flying enemies, traps dan lain sebagainya.
1.2
Rumusan Masalah Berdasarkan latar belakang di atas, dapat disimpulkan beberapa masalah sebagai berikut: a. Pengembangan game sangat berisiko, karena waktu yang dibutuhkan untuk mengembangkan game dengan kualitas yang cukup baik tidak dapat ditentukan dengan akurat. b. Game designer yang tidak memiliki kemampuan teknis dalam hal pemrograman mengalami kesulitan dalam pengembangan prototipe video game. c. Belum tersedia game template Unity untuk 2D Tower Defense dengan fitur dasar yang cukup lengkap.
1.3
Ruang Lingkup Berikut ini adalah ruang lingkup yang digunakan dalam skripsi ini, berdasarkan rumusan masalah di atas : 1. Perancangan game template dengan menggunakan game engine Unity. 2. Perancangan game template dengan menggunakan bahasa pemrograman C#. 3. Perancangan game template dengan genre Tower Defense, dengan sejumlah feature dasar seperti upgradeable unit, status effect, flying enemies, dan traps. 4. Perancangan game template dengan menggunakan graphic art 2 dimensi. 5. Perancangan user interface dalam game yang dapat digunakan hanya dengan menggunakan pointing device seperti mouse atau touchscreen. 6. Perancangan game template yang bersifat multiplatform, mendukung sejumlah platform antara lain : -
Mobile (iOS, Android, Windows Phone, BlackBerry 10, Tizen)
-
Desktop (Windows, Mac, Linux)
-
Web
7. Perancangan enemy yang dapat bergerak berdasarkan jalur yang sudah ditentukan dengan penggunaan waypoints, atau bergerak dengan implementasi artificial intelligence dengan algoritma pathfinding.
5 8. Perancangan grid system untuk penempatan tower dan untuk digunakan dalam implementasi algoritma pathfinding. 9. Perancangan custom editor yang relatif mudah digunakan, untuk mempercepat pengembangan prototype.
1.4
Tujuan dan Manfaat Tujuan dari pengembangan game template tower defense ini : a. Mempermudah pembuatan prototipe game dengan genre tower defense, agar dapat digunakan oleh game designer tanpa membutuhkan kemampuan pemrograman yang baik. b. Menyediakan rancangan dasar game dengan genre tower defense, yang dapat digunakan para game developer untuk dikembangkan lebih lanjut. c. Mengimplementasi algoritma pathfinding dalam perancangan artificial intelligence.
Manfaat dari game template tower defense ini: a. Dapat digunakan untuk membuat prototipe game dengan jenis tower defense dalam hitungan jam. b. Mendorong para game developer untuk mengembangkan game dengan genre tower defense. c. Mendorong game developer untuk mengembangkan inovasi dari konsep dasar game dengan genre tower defense.
1.5
Metode Penelitian 1.5.1
Metode Analisis a. Studi Pustaka Mempelajari teori-teori tentang pengembangan video game dari artikel, buku, maupun jurnal. b. Analisis Game Sejenis Menganalisa game-game sejenis yang ada di pasaran. Hasil analisa kemudian digunakan sebagai perbandingan terhadap game template yang dikembangkan.
6
c. Wawancara Hasil wawancara digunakan dalam analisis kebutuhan user. Hasil analisis kemudian dapat digunakan sebagai pertimbangan dalam menentukan spesifikasi game template yang dikembangkan.
1.5.2
Metode Pengembangan Metode pengembangan yang digunakan pada penulisan skripsi ini adalah metode waterfall. Karena kebutuhan user dapat dipahami dengan baik, model pengembangan yang bersifat linear dapat digunakan (Pressman, 2015, pp. 41). Proses pengembangan Tower Defense game template akan dibagi menjadi beberapa bagian sebagai berikut: a. Communication Pada tahap ini, akan dilakukan pengumpulan data dan analisis awal terhadap perangkat lunak yang akan dikembangkan. b. Planning Pada tahap ini, dilakukan perencanaan atas pengembangan perangkat lunak berdasarkan hasil dari pengumpulan data dan analisis yang dilakukan di tahap sebelumnya. c. Modeling Pada tahap ini, dilakukan perancangan dan analisis terhadap perangkat lunak yang dikembangkan. d. Construction Pada tahap ini, dilakukan pengembangan kode serta testing. e. Deployment Pada tahap ini, implementasi yang sudah selesai dikembangkan diberikan kepada pengguna, serta menerima umpan balik dari para pengguna tersebut.
7 1.6
Sistematika Penulisan Sistematika penulisan skripsi ini dibagi menjadi beberapa bab sebagai berikut : BAB 1 – Pendahuluan Pada bab ini, dijelaskan mengenai latar belakang, rumusan masalah, ruang lingkup, tujuan, manfaat, metodologi analisis, metodologi pengembangan, dan sistematika penulisan skripsi ini. BAB 2 – Tinjauan Pustaka Pada bab ini, dijelaskan mengenai teori-teori yang digunakan untuk mendukung penulisan skripsi ini. BAB 3 – Deskripsi Umum Pada bab ini, dijelaskan mengenai perusahaan tempat skripsi ini dijalankan dan alasan mengapa game template ini dikembangkan. BAB 4 – Hasil dan Pembahasan Pada bab ini, dijelaskan mengenai implementasi metodologi yang digunakan dalam penulisan skripsi ini dan hasil evaluasi dari game template yang telah dirancang. BAB 5 – Simpulan dan Saran Pada bab ini, dijelaskan mengenai kesimpulan yang didapatkan dari hasil evaluasi, serta saran-saran yang didapatkan dari pengguna untuk mengembangkan lebih lanjut game template yang telah dirancang.
8