SNIPTEK 2014
ISBN: 978-602-72850-5-7
APLIKASI GAME THIRD PERSON SHOOTER 3 DIMENSI ROBOT SHOOT Dian Ambar Wasesha STMIK Nusa Mandiri
[email protected]
ABSTRAK — Industri kreatif di Indonesia sudah mulai berkembang sejak beberapa tahun yang lalu. Perkembangan industri kreatif diikuti dengan tingginya minat masyarakat. Tingginya minat tersebut seakan menuntut para designer dan develover industri kreatif untuk mengembangkan ide dan kemampuannya. Namun dinegara kita tidak banyak yang menjadi pelakunya. Game yang tersedia tentunya beraneka ragam dengan berbagai pilihan genre dan masing-masing game membutuhkan spesifikasi perangkat keras yang berbeda. Game third person shooter adalah jenis game action yang digemari menggunakan sudut pandang orang ketiga yang memungkinkan pemain untuk melihat karakter, dimana pemain dapat melihat keseluruhan tubuh karakter dalam game. Dengan menggunakan game engines Unity 3D, pembuatan game akan lebih mudah dan dapat memberikan minat karena mudah dimainkan khususnya yang sangat menyukai game.
Kata Kunci: 3D Games, Third Person Shooter, Unity 3D
PENDAHULUAN Industri kreatif di Indonesia sudah mulai berkembang sejak beberapa tahun yang lalu. Perkembangkan industri kreatif di ikuti dengan tingginya minat masyarakat. Tingginya minat tersebut seakan menuntut para designer dan developer industri kreatif untuk mengembangkan ide dan kemampuannya. Salah satu industri kreatif yang berkembang sangat pesat dan diminati banyak orang adalah game. Game diminati mulai dari anak-anak sampai dewasa baik pada papan permainan (boardgame), console, arcade, handhelt, maupun komputer. Tipe game (genre) sudah banyak bermunculan, mulai dari action shooter, action adventure, adventure, role-playing, simulation, sampai pada game strategy. Menurut Fauzi dan Rodiah (2013:1)
Hendi Fahrudin
STMIK Nusa Mandiri
[email protected]
Kemajuan teknologi komputer saat ini banyak mengalami perubahan yang sangat besar. Sakarang manusia telah mampu mengembangkan aplikasi modern, demikian juga industri saat ini saling bersaing untuk mengembangkan produk mereka dipasaran lokal maupun internasional. Namun di negara kita tidak banyak yang menjadi pelakunya. (Sibero, 2009:7) Game yang tersedia tentunya beraneka ragam dengan berbagai pilihan genre dan masing-masing game membutuhkan spesefikasi perangkat keras yang berbeda, tidak jarang game yang digemari memerlukan spesifikasi perangkat keras yang cukup tinggi sementara spesifikasi perangkat keras dimiliki tidak mencukupi sehingga game yang digemari pun tidak bisa dinikmati. Menurut Purnomo, dkk (2012:752) Game Third Person Shooting (tps) adalah salah satu jenis game (genre) Action yang digemari menggunakan sudut pandang orang ketiga yang memungkinkan pemain untuk melihat karakter mereka mengendalikan elemen desain utama, dimana pemain dapat melihat keseluruhan tubuh karakter dalam game (contoh : Ragnarok Online, Fate). Tidak seperti First Person Shooting yang menampilkan orang pertama dengan sudut pandang pemain yang melihat aksi melalui mata karakter pemain, dimana pemain dijadikan seperti karakter yang di mainkan (contoh : Counter strike, Point Blank, Halo). Menurut Fauzi dan Rodiah (2013:2) Banyaknya genre yang disebutkan diatas, memungkinkan adanya kombinasi diantara genre tersebut, salah satunya adalah Action Arcade. Action arcade adalah kombinasi dari Action Game dan Arcade Game. Dimana pemain di tuntut menggunakan ketangkasan, kecepatan dan konsentrasi untuk menyelesaikan sebuah level. Oleh karena itu beberapa alternatif jawaban untuk masalah diatas salah satunya adalah game engines Unity 3D. Dengan menggunakan game engines Unity 3D, pembuatan game akan lebih mudah dan dapat memberikan minat karena mudah dimainkan khususnya yang sangat menyukai game.
INF-744
SNIPTEK 2014
BAHAN DAN METODE A.
Teknik Pengumpulan Data Untuk memperoleh data yang akurat dalam penulisan skripsi ini, maka penulisan ini menggunakan dua teknik pengumpulan data sebagai sarana untuk membantu serta memudahkan dalam penyusunan laporan. Dua teknik pengumpulan data yang digunakan yaitu: 1. Observasi Observasi terdiri dari analisis game sejenis dan analisis user. Analisis game sejenis dilakukan dengan cara melakukan observasi terhadap game yang sejenis. 2. Studi Literatur Merupakan teknik pengumpulan data untuk mengumpulkan informasi yang berhubungan dengan game yang dibuat dari berbagai sumber seperti sumbangan tulisan-tulisan yang berasal dari buku-buku di perpustakaan kampus dan internet sebagai perpustakaan elektronik yang sangat besar, mendominasi sebagian besar referensi didalam penulisan skripsi ini. B. 1.
2.
3.
4.
Model Pengembangan Sistem Analisa Kebutuhan Sistem Dari analisis diatas maka dapat disimpulkan bahwa sistem yang dibutuhkan dalam perancangan game ini adalah yang memiliki kriteria sebagai berikut : 1. Game mempunyai sistem permainan yang sederhana dan mudah dimengerti. 2. Game tidak terlalu berat ketika dijalankan sehingga tidak memerlukan komputer yang mempunyai spesifikasi tinggi. 3. Game bersifat single player. Desain Pada tahapan rancangan desain yaitu mendesain tampilan game dari tampilan menu utama, tampilan menu help, tampilan menu about dengan menggunakan Unity 3D v1.05. Code Generation Menggunakan Unity 3D sebagai game engines dalam pembuatan game dengan menggunakan Java Script, Boo Scrip dan C#. Testing Sekali game dibuat, pengujian game dimulai. Proses pengujian nya sebagai berikut : 1. White Box Testing Menguji pemain (player) berhasil melewati rintangan–rintangan dan melanjutkan ke level berikutnya. 2. Black Box Testing Menguji apakah game yang saat dijalankan sesuai dengan menu–menu tampilan.
ISBN: 978-602-72850-5-7
5.
Support Perkembangan maupun perubahan sistem yang bersangkutan terhadap game yang dibuat terkait dengan Software dan spesifikasi komputer (Hardware) yang diperlukan, seperti Sistem Operasi (Operating System), Prosesor Komputer (Computer Processor), Memori Komputer (Computer Memory), Resolusi Layar (Screen Resolution), dan VGA (Video Graphics Array)
HASIL DAN PEMBAHASAN Kebutuhan fungsional adalah kebutuhan yang berisikan proses-proses apa saja yang nantinya dilakukan oleh aplikasi yang berisi informasiinformasi apa saja yang harus ada dan dihasilkan oleh aplikasi. Adapun analisa kebutuhan fungsional game Third person shooter, antara lain: 1. Pada tampilan menu utama pengguna dapat memilih permainan baru atau memilih level yang akan dimainkan. 2. Game terdiri dari tingkatan tiga level dengan tingkat kesulitan yang berbeda. Analisis kebutuhan non fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem analisis perangkat keras/hardware, analisis perangkat lunak/software, analisis pengguna/user. Analisis kebutuhan sistem non fungsional dalam game third person shooter, antara lain: Tabel 1. Spesifikasi komputer yang digunakan dalam membuat game Spesifikasi Computer Processor Computer Memory VGA Screen Resolution Operating System
Keterangan Intel Celeron CPU 1007U, 1,50Ghz 4 GB 64-bit Operating System 1366x768 Window 7 Ultimate
a. User Interface Berikut tampilan game yang dibuat pada game Third Person Shooter, antara lain : 1. Tampilan Main Menu
INF-745
SNIPTEK 2014
ISBN: 978-602-72850-5-7
5. Tampilan Game Over
Gambar 2. Main Menu Gambar 5. Game Over
2. Tampilan Menu Continue
6. Tampilan Level Complete
Gambar 3. Menu Continue 3. Tampilan Game Paused Gambar 6. Level Complete b. State Transition Diagram State Transition Diagram adalah suatu pemodelan peralatan (modelling tool) yang menggambarkan sifat ketergantungan terhadap suatu sistem waktu nyata (real time system), dan tampilan tatap muka (interface) pada sistem aktif (online system). Pemodelan ini juga digunakan dalam menjelaskan alur-alur dari aplikasi yang penulis rancang. Gambar 4. Game Paused
1. State Transition Diagram Menu Utama Pilih New Game
4. Tampilan Menu Help
Windows
Level 1
Pilih Continue
Pilih Level 2
Continue
Level 2
Pilih Help
Pilih Level 3
Help
Level 3
Layar Menu Utama
User Menjalankan Game
Pilih Level 1
New Game
Pilih About About Pilih Exit Exit
Keluar Dari Game
Gambar 7. State Transition Diagram Menu Utama
INF-746
SNIPTEK 2014
ISBN: 978-602-72850-5-7
2. State Transition Diagram Play Game
public RaycastHit hit; public RayAndHit(Ray ray, RaycastHit hit) { this.ray = ray; this.hit = hit; } } public class HealthController : MonoBehaviour {
Tombol new game di klik New Game
Tombol restart di klik kembali ke level yang sama
Level 1
Level 1 sukses? Masuk ke level 2
Pemain menekan tombol resume kembali ke level yang sama
Level 2 Level 2 sukses? Masuk ke level 3
Pemain menekan tombol menu/quit
Menu Game Over
Player Mati? Masuk ke menu game over
Layar Menu Utama
Pemain menekan tombol resume kembali ke level yang sama
Level 3
Level 3 sukses? Level Complete
Pemain menekan tombol menu/quit
Menu Game Over
Player Mati? Masuk ke menu game over
Pemain menekan tombol menu/quit
Menu Game Over
Player Mati? Masuk ke menu game over
Level selesai pemain menekan tombol menu/ quit
Menu Level Complete
Gambar 8. State Transition Diagram Play Game c. Code Generation
public float normalizedHealth { get { return health / maxHealth; } }
1. White Box Pembuatan game Third Person Shooter memerlukan sebuah perancangan. Perancangan dalam pembuatan game Third Person Shooter antara lain: Start
Level = 1
Level = Level + 2
Level = 3
Ya
Tidak
Apakah Mati?
Tidak
Pilih: 1. Menu 2. Exit
Level Complete
Ya
Ya
Menu
Selesai atau tidak
public GameObject deathHandler; public float maxHealth = 100; public float hitDamage = 3; public float healingSpeed = 2; public GameObject hitParticles; public AudioClip hitSound; [HideInInspector] public float health;
Pilih: 1. Menu 2. Exit
Game Over Tidak
Tidak
Tidak
Exit Ya
Ya
Ya Menu
Ya
Menu
Tidak Exit Tidak Ya End
Gambar 9. Level
Ya
// Use this for initialization void OnEnable () { health = maxHealth; } // Update is called once per frame void Update () { if (Time.deltaTime == 0 || Time.timeScale == 0) return; if (health > 0) health += Time.deltaTime * healingSpeed; health = Mathf.Clamp(health, 0, maxHealth); } void OnHit (RayAndHit rayAndHit) { health -= hitDamage; health = Mathf.Clamp(health, 0, maxHealth); if (hitParticles) { GameObject particles = Instantiate( hitParticles, rayAndHit.hit.point, Quaternion.LookRotation(-rayAndHit.ray.direction) ) as GameObject; particles.transform.parent = transform; } if (hitSound) { AudioSource.PlayClipAtPoint(hitSound, rayAndHit.hit.point, 0.6f); } } } Coding Sound Effect Controller
Berikut Coding Health Controller Player Lampiran B.7 Health Controller using UnityEngine; using System.Collections; public class RayAndHit { public Ray ray;
using UnityEngine; using System.Collections; public class SoundEffectController : MonoBehaviour { public AudioSource gunAudioSource; public AudioSource footAudioSource; public AudioClip fire;
INF-747
SNIPTEK 2014
ISBN: 978-602-72850-5-7
public AudioClip reload; public AudioClip[] footsteps; void OnFire () { gunAudioSource.PlayOneShot(fire); } void OnReload () { gunAudioSource.PlayOneShot(reload); } void OnFootStrike () { CharacterController cc = GetComponent
(); float volume = Mathf.Clamp01(0.3f + cc.velocity.magnitude); footAudioSource.PlayOneShot(footsteps[Random.Ran ge(0, footsteps.Length)], volume); } }
2.
d. Hasil Kuesioner Dalam pembuatan aplikasi game tersebut dilakukan wawancara kepada para gamers yang berusia 16 tahun keatas mengenai game yang dibuat. Kuesioner diberikan kepada 11 orang untuk mendapatkan data bagaimana pendapat mereka tentang game setelah dijalankan, yang terdiri dari 10 pertanyaan. Berikut adalah hasil dari pertanyaan :
Black Box Dibawah ini adalah tabel pengujian Black Box pada game yang di buat : Gambar 8. Hasil Kuesioner
Tabel 2. Pengujian Black Box
INPUT/E VENT
PROSES
OUTPUT
Tombol play game Tombol Help
Application.Load Level(4);
Memulai game
Application.Load Level(2);
Tombol about
Application.Load Level(1);
Tombol Quit Tombol Back
Application.Quit( ); Application.Load Level(0);
Tombol Restart
Application.Load Level(4); Application.Load Level(5); Application.Load Level(6);
Menampil kan menu help Menampil kan tentang data diri pembuat game Keluar dari game Kembali ke main menu Mengulan gi Level
HASIL PENGUJ IAN Sesuai Sesuai
Sesuai
Sesuai Sesuai Sesuai
KESIMPULAN Berdasarkan dari hasil perancangan game sampai tahap penyelesaian secara menyeluruh mengenai pembuatan Game Third Person Shooter dengan menggunakan Unity 3D v1.05 sebagai berikut : 1. Penerapan game engine Unity 3D dalam pembuatan game (Third Person Shooter Robot shoot) dimulai dari menentukan genre game yang dibuat kemudian merancang konsep dari game tersebut. Setelah itu mulai dengan pengumpulan materi-materi yang dibutuhkan dalam pembuatan game tersebut. 2. Unity 3D sebagai editor engine memberikan kebebasan dalam mendesain game, dan didukung dengan bahasa Javascript, C#, dan Boo. 3. Memiliki tampilan yang menarik didukung dengan GUI yang mudah dipahami dan banyak memiliki media library entities engine machine yang siap dipakai sehingga sangat mudah dipelajari untuk pemula.
INF-748
SNIPTEK 2014
adapun saran yang dapat diberikan untuk pengembangan game sebagai berikut : 1. Aspek Sistem Game ini dirancang dengan konsep yang sederhana, akan tetapi jika kebutuhan hardware saat dijalankan tidak terpenuhi, maka game ini tidak akan berjalan dengan baik. Untuk itu disarankan pada saat ingin membuat sebuah game pastikan terlebih dahulu spesifikasi komputer yang akan digunakan. 2. Aspek Manajerial Karakter yang ada dalam game bisa menggunakan karakter asli orang Indonesia, penambahan level, penambahan karakter musuh, dan jenis kesulitan seperti easy ,medium, atau hard. 3. Aspek Penelitian Lanjutan Diharapkan untuk pengembangan selanjutnya game ini dikembangkan sehingga mendukung media internet, dan dikembangkan menjadi aplikasi mobile sehingga dapat dimainkan melalui media smartphone.
UCAPAN TERIMA KASIH Terima kasih kepada orang tua, kerabat, teman dan serta STMIK Nusa Mandiri
REFERENSI Bunadi, Zeembry. 2007. Membuat Animasi Kartu Ucapan Dengan Flah 8. Jakarta PT Elex Media Komputindo Gunawan, Ibnu, dan Rudy Adipranata. 2006. Pembuatan Prototipe Game Multiplayer Online. ISSN: 1907-5022. Surabaya : Seminar Nasional Aplikasi Teknologi Informasi 2006. Diambil dari: http://digilib.its.ac.id/public/ITS-paper-296173404100030-Paper.pdf (10 juli 2014).
ISBN: 978-602-72850-5-7
Nilwan, Agustinus. 2009. Pemrograman Animasi dan Game Profesional. Jakarta : PT Elex Media Komputindo Binanto, Iwan. 2010. Multi Media Digital Dasar Teori Pengembangannya. Yogyakarta : C.V Andi Offset Martono, 2013. Perancangan Game Edukasi “Fish Identity” Dengan Menggunakan Java. vol. 1 No.1, juli 2013. Diambil dari : http://eprints.undip.ac.id/40500/1/7-39-1PB.pdf (12 juli 2014). Utomo, Lakoro. 2012.Perancangan Concept Art Game Berlatar Budaya Majapahit Sebagai Media Komunikasi Budaya. Vol. 1, No. 1. Surabaya 2012 : Jurnal Sains dan Seni ITS. Diambil dari: http://research.pps.dinus.ac.id/lib/jurnal/downl oad.pdf (10 juli 2014). Sibero, Ivan C. 2009. Langkah Mudah Membuat Game 3D. Yogyakarta : MediaKom. Purnomo, dan dkk. Game Real Action RPG Online Berbasis Flash: Alternatif bermain Game Dengan Spesifikasi Perangkat Keras Minimal. Vol 3 No 2. Desember 2012 : jurnal Comtech diambil dari : http://eprints.binus.ac.id/id/eprint/26900 Sarve, dan Khatri. 3d Game And Development of 3d Shooter Game Using Xna. ISSN: 2248-9622. Maharashtra : International Journal of Engineering Research and Aplications (IJERA). April 2014. Diambil dari : http://www.ijera.com/special_issue/ICIAC_A pril_2014/CS/V9/CS2328084.pdf (8 agustus 2014)
Fauzi, Muhammad Haki dan Rodiah. 2013. First Person Shooter 3D ”GHAMASHOOT” Dengan Blender Dan Unity 3D. ISSN: 1979…. Depok :Seminar Nasional Teknologi Informasi dan Multimedia 2013. Diambil dari :http://rodiah.staff.gunadarma.ac.id/Publicatio ns/files/1799/First+Person+Shooter3D+SEM NASTEK+2013.pdf (11 juli 2014). Marlinda. Linda. 2010.Pengaruh Internet dan Game education sebagai salah satu alat bantu pembelajaran dikelas untuk meningkatkan minat belajar siswa SMP di Jakarta Utara Vol 7 No. 2, Juni 2010 ISSN: 1412-0755, hal 404-416. Jurnal Universitas Paramadina
INF-749