Skip to content
Snippets Groups Projects
Muhammad Akram Al Bari's avatar
013a9c9a

IF3210-2022-Unity-52

Deskripsi Aplikasi

Survival Shooter merupakan game TPS (Third Person Shooter) yang dibangun dengan menggunakan Unity Game Engine. Game ini terdiri atas seorang player yang memiliki tujuan untuk mengalahkan monster-monster yang ada dan mengumpulkan poin sebanyak-banyaknya. Pada permainan ini terdapat dua buah mode, yakni Wave Mode dan juga Zen Mode yang masing-masing mode memiliki karakteristiknya tersendiri. Untuk setiap permainan, score yang didapatkan pemain akan ditampilkan pada leaderboard jika masuk ke dalam peringkat tujuh tertinggi dari seluruh score yang ada.

Cara Kerja

  • Attribute Player Attribute player terdiri atas power, speed, dan juga health. Setiap attribute akan ditampilkan icon dan juga nilainya dalam bentuk slider dengan menggunakan Canvas. Nilai power mewakili seberapa kuat kekuatan tembakan yang dimiliki player, speed mewakili kecepatan gerak player, dan health mewakili nyawa yang dimiliki oleh player dan player akan mati / game over ketika nilai health <= 0.
  • Orbs Orbs terdiri atas power orb, speed orb, dan health orb yang apabila diambil akan memberikan penambahan power, speed, ataupun health kepada player. Ketika orb diambil, maka orb akan hilang. Orb juga akan hilang apabila tidak diambil dalam beberapa waktu. Orb diimplementasikan dengan membuat GameObject yang dipanggil dengan Instantiate dan apabila akan hilang dipanggil method Destroy.
  • Additional Mobs Additional Mobs yang diimplementasikan berupa monster yang dapat meledakan diri (BomberSlime), yang dapat menembakkan projectile bola api (Lich), dan juga Boss yang berwujud naga berwarna ungu (Bossdragon). Additional mobs diimplementasikan dengan melakukan inheritance dari script dasar mobs yang sudah ada.
  • Game Mode Game mode pada game ini terdiri atas dua, yakni Zen Mode di mana pemain harus bertahan hidup selama mungkin untuk mendapatkan score yang lebih tinggi, dan juga Wave Mode di mana pemain akan dihadapkan dengan pool musuh yang berbedaa-beda di setiap wavenyaa. Terdapat juga Boss monster pada mode Wave Mode. Weapon Upgrade Pada game ini pemain akan diberikan pilihan untuk melakukan Weapon Upgrade berupa penambahan peluru yang ditembakkan (Diagonal Upgrade) dan juga untuk melakukan upgrade kecepatan tembakan. Pada Wave Mode weapon upgrade akan tersedia setelah membunuh Boss. Dan pada Zen Mode upgrade akan tersedia setelah 60 detik.
  • Local Scoreboard Local Scoreboard dapat diakses pada Main Menu dan akan menampilkan 7 skor tertinggi dari setiap mode, Zen maupun Wave. Scoreboard ini diimplementasikan dengan membuat Scene dan juga Canvas pada Scene tersebut.
  • Main Menu Main Menu dapat diakses dalam Scene terpisah dan dapat memberikan akses untuk mengakses Game Mode dan juga Local Scoreboard.
  • Game Over Pada Game Over akan ditampilkan score sesuai dengan game mode yang dimainkan

Library

Library yang digunakan pada tugas besar kali ini adalah UnityEngine dan juga turunannya. Kebanyakan script yang kami buat menggunakan method atau class yang sudah didefinisikan pada library UnityEngine seperti misalnya MonoBehaviour dan juga GameObject. Dengan menggunakan library UnityEngine, integrasi antara Unity Editor dan juga script yang dibuat dengan menggunakan bahasa C# menjadi sangat mudah. Kita dapat dengan mudah mereference beragam GameObject unity di dalam script dengan menggunakan UnityEngine. Secara keseluruhan library ini sangat krusial karena memudahkan dalam mengimplementasikan fungsionalitas yang dibangun.

Screenshot

alt text

alt text

alt text

alt text

alt text

alt text

alt text

alt text

alt text

Pembagian Kerja

  • 13519042: Weapon Upgrade, Local Scoreboard, Main Menu
  • 13519142: Game Over, Aditional Mobs, Object Pooling
  • 13519183: Attribute Player, Orbs, Game Mode