Langsung ke konten utama

Membuat Game FPS sederhanda menggunakan Unity


         Pada kesempatan kali ini, akan dicoba untuk membuat sebuah game dengan kategori/genre FPS (First-Person Shooter) atau yang biasa disebuat dengan game tembak-tembakan. Di mana nantinya pada game yang akan dibuat akan ada sebuah objek yang dapat bergerak dan menembakan/mengeluarkan peluru yang bergerak lurus ke depan dan dapat mengenai sebuah target. Contoh-contoh dari game FPS yang terkenal adalah Counter-Strike, Point Blank, Cross Fire, dan lain-lain.
         Game FPS sederhana yang akan dibuat akan menggunakan keyboard sebagai input utama game  (gerak dan aksi tembak).  Fokus utama pada game yang akan dibuat ini adalah pada aksi dalam game(gerak, tembak, mencetak/menambah skor) sementara untuk asset yang digunakan hanyalah asset/GameObject  standar dari Unity (Cube, Sphere, Capsule, Plane). Selain itu nantinya akan dibuat sistem score pada game dan membuat objek(target) bergerak otomatis, untuk selengkapnya silakan ikuti langkah-langkah berikut:
Langkah 1 : Menyiapkan asset Material. Material dapat dibuat dengan cara klik(kiri) pada tempat kosong dalam jendela Assets à Create à Material atau klik(kiri) Menu Assets à Create à Material, setelah itu berilah sebuah nama (misal: Material Jingga). Lakukan cara yang sama untuk membuat beberapa asset Material, sehingga hasilnya seperti ini:
 
Langkah 2 : Menyiapkan asset Prefab. Prefab dapat dibuat dengan cara klik(kiri) pada tempat kosong dalam jendela Assets à Create à Prefab atau klik(kiri) Menu Assets à Create à Prefab, setelah itu berilah sebuah nama (misal: Prefab Peluru).  Kemudian tambahkan Rigidbody dan berilah Material pada Prefab tersebut (lebih lanjut terkait material & rigidbody: https://mudiidea.blogspot.com/2020/04/mengenal-translate-dan-raycast-pada.html), sehingga hasilnya seperti ini:
 
Langkah 3 : Membuat gameObject. Mula-mula buatlah sebuah GameObjet plane dengan cara klik(kiri) pada jendela Hierarchy à3D Object à Plane atau klik (kiri) pada menu GameObject à3D Object à Plane.  Aturlah Scale pada jendela Inspector Plane, agar plane menjadi lebih besar/lebar.
 
Dan lakukan cara yang sama untuk membuat GameObject lainya, sehingga hasil pada jendela Hierarchy seperti ini:
 
Atur tataletak GameObject tersebut seperti berikut:
 
Langkah 4 : Menggunakan asset Material pada objek. Pada tahap sebelumnya telah dibuat 3(dua) buah material untuk menggunakanya dapat dengan cara drag & drop material ke layar Scene.
 
Langkah 5 : Setting game object pada game. Salah satu setting yang digunakan adalah penggunaan Child-Parent , maksud dari penggunaan Child-Parent pada game adalah agar ketika object parent bergerak maka object childnya juga ikut bergerak. Cara membuat object baru menjadi child adalah pada jendela Hierarchy pilih object yang akan dijadikan parent lalu klik kanan à3D Object à Object child, cara lainya adalah dengan drag & drop sebuah object yang akan dijadikan child ke objek parent.
 
Pada kasus di atas, akan dibuat object 3d Text yang merupakan object child dari Target [Capsule] (object parent), pada jendela Hierarchy akan menjadi seperti ini:
 
Setting berikutnya adalah membuat tag khusus dengan nama ‘Peluru’  pada 3D Text yang sebelumnya di buat. Tag ini nantinya akan digunakan pada script (pada langkah berikutnya).
 
Lalu gunakanlah tag ‘Peluru’ tersebut
 
Sampai pada tahap ini, berikut tampilan lengkap dari jendela Inspector pafa objek 3D Text
 
Selanjutnya adalah memuat empty object child, yang nantinya akan digunakan sebagai tempat keluarnya peluru. Untuk pembuatan child ini object yang menjadi parent adalah object Penembak [Cube], pembuatanya dapat dilihat pada gambar berikut:
 
Kemudian jadikanlah object Main Camera’ sebagai child dari object Penembak [Cube] dengan cara drag & drop (Main Camera ke Penembak [Cube]). Dengan ini maka kamera akan selalu ngetikuti pergerakan dari game object parent(Penembak [Cube]). Hasilnya akan terlihat seperti ini:
 
Untuk posisi dari object  Main Camera sendiri dapat disesuaikan, umumnya pada game FPS object Camera digunakan dibelakang objek Penembak dan mengarah ke depan (sama dengan arah peluru ditembakkan). Contoh salah satu posisi object Main Camera pada game:
 
Langkah 6 : Membuat script aksi. Aksi yang akan dibuat diantaranya adalah aksi gerak (kiri, kanan, depan, belakang), aksi tembak, hit & penambahan score, dan bergerak otomatis (untuk target).

Script pertama akan digunakan pada objek Penembak dan aksi yang digunakan adalah aksi gerak (kiri, kanan, depan, belakang) dan aksi tembak.
Caranya adalah: buat sebuah C#Script dan berilah sebuah nama(ShootingTarget.cs) lalu isikan/tuliskan kode berikut:
  
         ·         Line 12-14 : Menyatakan fungsi untuk bergerak ke atas sesuai sumbu X, jika tombol panah atas pada keyboard di tekan
         ·         Line 16-18 : Menyatakan fungsi untuk bergerak ke bawah sesuai sumbu X, jika tombol panah bawah pada keyboard di tekan
         ·         Line 20-22 : Menyatakan fungsi untuk bergerak ke kanan sesuai sumbu X, jika tombol panah kanan pada keyboard di tekan
         ·         Line 24-26 : Menyatakan fungsi untuk bergerak ke kiri sesuai sumbu X, jika tombol panah kiri pada keyboard di tekan
         ·         Line 28-34 : Menyatakan fungsi untuk membuat duplicate dari object, jika tombol space pada keyboard di tekan
         ·         Line 33 : Menyatakan bahwa object(duplicate) akan bertahan selama 5 detik pada game (setelah itu akan terhapus otomatis
         ·         Line 36-38 : Menyatakan fungsi untuk menggerakkan object temp (object hasil duplicate) lurus ke depan sesuai sumbu X

Setelah itu, periksalah jendela Console untuk mengecek error pada kode program. Jika tidak ada error, gunakanlah script tersebut (ShootingTarget.cs) pada object Penembak [Cube]
 
Isikan value dari ‘Posisi Tembak’ dan ‘Peluru’. Parameter ‘Posisi Tembak’ adalah parameter untuk menentukan tempat peluru keluar/ditembakkan (pada kasus ini digunakan Empty Game Object yang merupaka child dari object Penembak [Cube]), parameter ‘Peluru’ adalah parameter untuk menentukan object apa yang akan ditembakkan (pada kasus ini digunakan Asset Prefab Peluru)
 
Sampai langkah ini cobalah menjalankan game. Hasilnya adah object Penembak [Cube] dapat bergerak menggunakan arrow key pada keyboard dan menembak menggunakan tombol space pada keyboard.
 

Sampai pada tahap ini dapat dilihat bahwa object Target [Capsule] masih diam dan object child 3D Text akan terus muncul. Untuk membuat seolah tampak nyata (seperti permainan). Buat script kedua yang akan digunakan pada objek Target dan aksi yang digunakan adalah aksi gerak otomas, hit, dan penambahan score.
Caranya adalah: buat sebuah C#Script dan berilah sebuah nama(Target.cs) lalu isikan/tuliskan kode berikut:
 
         ·         Line 18 : Menyatakan perintah untuk menggerakkan object yang dikenai script secara otomatis ke kiri dan kanan sesuai sumbu X.
         ·         Line 21-23 : Menyatakan fungsi untuk menyembunyikan object 3D Text secara visual pada game
         ·         Line 26-31: Menyatakan fungsi yang akan dijalankan apabila ada object(peluru) yang mengenai object Target [Capsule]
         ·         Line 27 : Menyatakan perintah untuk menghapus object(peluru) yang mengenai object Target [Capsule]
         ·         Line 28 : Menyatakan perintah untuk menambahkan score
         ·         Line 29 : Menyatakan perintah untuk menampilkan object 3D Text (yang sebelumnya disembunyikan oleh perintah line 22)
         ·         Line 30 : Menyatakan perintah untuk membuat object 3D Text (pada line 29) ditampilkan selama 3 detik
         ·         Line 34-38 : Menyatakan fungsi untuk menampilkan score pada jendela game (akan tampil pada pojok kiri atas di jendela game)

Setelah itu, periksalah jendela Console untuk mengecek error pada kode program. Jika tidak ada error, gunakanlah script tersebut (Target.cs) pada object Target [Capsule]
 
Isikan value dari ‘3D Text’ dan ‘Pesan’. Parameter ‘3D Text’ adalah parameter untuk memilih objek yang akan muncul apabila terkena hit oleh peluru (pada kasus ini digunakan 3D Text  yang merupaka child dari object Target [Capsule]), parameter ‘Pesan‘ adalah parameter untuk menampilkan pesan pada object 3D Text dari parameter sebelumnya (pada kasus ini diisi dengan “Bingo!”)
 
Langkah terakhir adalah dengan membuat fungsi isTrigger pada object Target [Capsule] menjadi aktif, caranya adalah dengan checklist pada bagian Is Trigger melalui jendela Inspector Target [Capsule].
 

Cobalah untuk menjalankan game, dan dapat dilihat pada pojok kiri atas jendela game terdapat fitur score yang akan pertambah dan mengeluarkan pesan ketika object Target [Capsule] terkena hit oleh peluru, object Target [Capsule] juga dapat bergerak(kiri-kanan) secara otomatis.
 


Demikian dokumentasi kali ini, Terima Kasih~


Komentar

Postingan populer dari blog ini

Film Biografi Terbaik

Film Biografi adalah sebuah film yang mendramatisasikan kehidupan orang atau tokoh dalam kehidupan nyata. Film-film semacam itu menampilkan kehidupan dari seorang tokoh sejarah dan menggunakan nama asli dari karakter utama. Pada dasanya, Film Biografi menceritakan tentang kejadian-kejadian yang dialami sang Tokoh dalam hidupnya, biasanya kehidupan sang tokoh dijelaskan secara lengkap sejak kecil sampai tua, bahkan beberapa film menjelaskan hingga sang tokoh meninggal dunia. Berikut Film Biografi Terbaik versi saya. 1.  The Imitation Game (2014) The Imitation Game adalah film cerita seru sejarah Britania Raya tahun 2014 mengenai Alan Turing, seorang matematikawan, logikawan, kriptoanalis, dan ilmuwan komputer Inggris, tokoh yang berperan penting dalam membajak kode Enigma Jerman Nazi yang membantu Sekutu memenangkan Perang Dunia II, ia kemudian dituntut secara pidana karena mengaku sebagai homoseksual. Film disutradarai oleh Morten Tyldum, dengan skenario d...

Komputer Ada Disemua Tempat

Komputer adalah sebuah alat yang dapat membantu meringankan ataupun  menggantikan  perkerjaan manusia. Istilah komputer berasal dari bahasa latin “ Computare ” yang berarti “ Menghitung ”. Tetapi seiring perkembangan zaman, komputer tidak lagi hanya sebagai alat untuk menghitung. Tetapi digunakan diberbagai aspek kehidupan diantaranya : 1. Aspek pendidikan Misalnya penggunaan sistem E-learning dalam proses pembelajaran, adanya kelas-kelas/kursus secara online sampai pelaksaan ujian/tes berbasis komputer. 2.  Aspek transportasi Pada aspek ini contohnya adalah lampu lalu lintas, sistem GPS ( Global Positioning System ), penggunaan E-toll pada gerbang tol hingga sistem  auto pilot  di pesawat. 3.  Aspek kesehatan Pernahkah kamu melihat hasil dari  sinar-X  ? itu merupakan salah satu manfaat dari pemanfaatan komputer diaspek kesehatan, contoh lainya adalah MRI ( Magnetic Resonance Imaging)  yang digunakn untu...

K3 Dalam Menggunakan Komputer

Keselamatan Kesehatan Kerja atau yang biasa disebut dengan K3 adalah upaya perlindungan yang ditunjukan agar tenaga kerja (pekerja) dan orang lain di tempat kerja atau perusahaan selalu dalam keadaan selamat dan sehat, serta agar setiap produksi dapat digunakan secara aman dan efisien (Kepmenaker Nomor. 463/MEN/1993). Pada hal ini saya akan sedikit mengulas mengenai dampak penggunaan komputer dalam bidang Kesehatan. Penggunaan komputer dalam proses kerja mempunyai banyak dampak positif, namun penggunaan komputer juga memiliki dampak negatif yang banyak pula (tergantung dengan pola tenaga kerja dalam berkerja sehari-hari) khususnya dalam bidang kesehatan.              ·         Dampak Positif 1.     Ditemukanya peralatan kedokteran canggih seperti pengukur tensi darah digital dan sinar-X. 2.     Alat pengganti organ tubuh manusia yang telah rusak misalnya mata buatan, ginjal...