Anda di halaman 1dari 13

LAPORAN PRAKTIKUM

GAME EDUKASI

MODUL 8

UNITY GAME PROGRAMMING

Oleh :

IKHWAN CAESAR AMRI PRADANA A710170079

Program Studi Pendidikan Teknik Informatika

Fakultas Keguruan dan Ilmu Pendidikan

Universitas Muhammadiyah Surakarta

2020
Mata Kuliah : Praktikum Game Edukasi Acc :
Prodi : Pendidikan Teknik Informatika
Nama : Ikhwan Caesar Amri Pradana
NIM : A710170079
Tgl. Praktikum : 11 Mei 2020

BAB VIII

UNITY GAME PROGRAMMING

A. DASAR TEORI
Game programmer bertanggungjawab untuk mengubah konsep
game (dari game designer) dan asset grafis (dari game artist) menjadi
satu program game yang akan dimainkan nanti. Dalam proses itu,
programmer berinteraksi dengan kode-kode dalam bahasa
pemrograman. Proses interaksi ini disebut dengan istilah programming.
Manipulasi objek merupakan bagian inti dari sebuah game, misalnya
adalah reaksi objek yang timbul akibat adanya aksi. Untuk menciptakan
reaksi yang realistis maka perlu dilakukan manipulasi, misalnya berubah
ukuran, terjadi perpindahan koordinat posisi maupun rotasi objek. Untuk
itulah perlu dilakukan dengan pemrograman. Kekuatan yang dimiliki
hampir semua gameengine adalah bahasa pemrograman. Dengan adanya
ini, sistem logika yang berada dibalik game tersebut dapat dijalankan
dengan lebih baik dan resource yang digunakan dapat diminimalkan.
Seperti yang sudah pernah dijelaskan pada modul 8 bahwa
scripting pada Unity dapat dilakukan menggunakan dua bahasa
pemrograman, yaitu C# dan Unity Script. Bentuk umum ketika pertama
kali membuat Script baru, maka akan terdapat dua fungsi utamaya itu
fungsi Start() dan Update(). Pada bab ini akan dibahas cara mengatur
dan menjalankan transformasi objek, diantaranya translasi dan rotasi.
Belajar bahasa pemrograman merupakan sebuah pembiasan.
Pembiasaan dalam menuliskan baris-baris kode yang benar, pembiasaan
dalam menggunakan penalaran yang tepat, dan pembiasaan dalam
menggunakan perumusan yang sesuai. Proses-proses tersebut juga akan
memberikan keuntungan tersendiri bagi orang-orang yang mempelajari
bahasa pemrograman.
 Memberikan Script
Saat memberikan scrip pada unity, sebagai seorang
programmer, saya percaya bahwa saat yang tepat untuk melakukan
coding adalah saat dimana tidak ada jalan lain untuk membuat sebuah
solusi, selain dengan coding. Sejauh ini, pendekatan ini cukup ampuh
dalam membuat barisan kode yang efisien, yang memang ditujukan
untuk suatu hal yang spesifik. Ini pula yang membuat saya nyaman
bekerja di dalam Unity, karena tidak semua harus dilakukan dengan
coding, ada banyak hal yang bisa dicapai dengan
menggunakan tool berbasis GUI yang memang lebih intuitif, misalnya
seperti animasi ataupun membuat shader. Meski demikian, saat harus
melakukan coding, Unity mampu memberikan banyak fleksibilitas dan
kedalaman yang mungkin dibutuhkan programmer untuk memenuhi
sebuah tujuan.
Sesuai nama di dokumentasinya, coding di dalam Unity lebih
dikenal dengan istilah scripting. Penamaan ini penting, karena pada
dasarnya, kita tidak sedang membuat sebuah sistem kompleks dari
dasar, melainkan kita akan menambahkan perilaku dinamis ke dalam
sebuah objek yang sudah ada. Scripting merujuk pada sebuah
komponen tambahan yang bisa jadi tidak kompleks, namun
keberadaannya vital untuk membuat sebuah objek yang dinamis.
Sebagai contoh, scripting bisa kita aplikasikan untuk sebuah
lampu yang ingin kita nyalakan saat seorang karakter memasuki
sebuah ruangan. Contoh sederhana lain, kita butuh
melakukan scripting untuk membuat karakter tersebut berjalan saat
sebuah tombol di kontroler ditekan. Hal-hal seperti ini mungkin sulit
atau tidak intuitif dilakukan melalui GUI, dan di saat seperti
inilah, scripting menjadi solusi yang bisa digunakan.
 Manipulasi objek
Manipulasi objek merupakan bagian inti dari sebuah game,
misalnya adalah reaksi objek yang timbul akibat adanya aksi. Untuk
menciptakan reaksi yang realistis maka perlu dilakukan manipulasi,
misalnya berubah ukuran, terjadi perpindahan koordinat posisi
maupun rotasi objek. Untuk itulah perlu dilakukan dengan
pemrograman. Kekuatan yang dimiliki hampir semua game engine
adalah bahasa pemrograman. Dengan adanya ini, sistem logika yang
berada dibalik game tersebut dapat dijalankan dengan lebih baik dan
resource yang digunakan dapat diminimalkan.
Window scene digunakan untuk melihat secara visual game yang
kita bangun. Dengan transform tools yang berada pada toolbar Unity,
kita bisa melakukan modifikasi kepada Game Object yang kita
masukan ke dalam scene. Ada lima tools yang bisa kita gunakan untuk
memodifikasi Game Object atau biasa disebut dengan transform tools.
Diberi nama transform tools karena komponen Game Object yang
akan kita modifikasi adalah komponen transform yang di dalamnya
terdapat informasi posisi, rotasi, dan skala/ukuran. Untuk mengakses
masing-masing tools yang ada di atas, kita bisa dengan klik tools yang
ingin kita gunakan. Selain itu, terdapat juga shortcut untuk mengakses
tools tersebut menggunakan keyboard yakni huruf Q, W, E, R dan T
untuk mengakses hand tools, position transform tools, rotation
transform tools, scale transform tools, dan rectangle transform tools.
Berikut adalah fungsi untuk masing-masing transform tools :
 Hand tools : Digunakan untuk menggerakan posisi sudut
pandang di dalam scene.
 Position transform tools: Digunakan untuk mengubah
komponen posisi sebuah Game Object terhadap sumbu x, y,
dan z. Terdapat handle yang bisa membantu kita untuk
mengubah posisi terhadap satu sumbu saja misalnya sumbu
merah bisa kita drag untuk menggerakan terhadap sumbu x
saja atau kita bisa drag icon kotak di antara tiga panah (merah,
hijau, dan biru) untuk menggerakan object terhadap
komponen x, y, dan z.
 Rotation transform tools: Digunakan untuk mengubah
komponen rotasi pada sebuah Game Object terhadap sumbu x,
y, dan z. Sama seperti tools lainnya, terdapat juga ikon sumbu
yang akan membantu kita merotasi objek terhadap satu
sumbu saja.
 Scale transform tools: Digunakan untuk mengubah komponen
scale/ukuran dari sebuah Game Object terhadap sumbu x, y,
dan z. Terdapat juga sumbu bantuan untuk mengubah scale
terhadap satu sumbu saja.
 Rectangle transform tools: Digunakan untuk mengubah
komponen dari sudut pandang 2D. Biasanya tools ini akan
sangat membantu jika ingin memodifikasi komponen UI dalam
game

B. TUJUAN PRAKTIKUM
1. Mahasiswa mengetahui cara pengontrolan dasar sebuah objek
menggunakan script.
2. Mahasiswa mengetahui cara melakukan transformasi objek
menggunakan script.

C. HASIL DAN ANALISA


Kegiatan 1 : Translasi Objek
Gambar 8.1 Translasi Objek

Gambar 8.2 Script Translasi Objek


Pada gambar diatas adalah objek terrain dan capsule yang saya buat
berdasarkan panduan dari modul praktikum. Objek capsule ini nantinya akan
diberi script sehingga dapat digerakkan dengan tombol panah atau tombol
WASD pada keyboard.script untuk translasi objek capsule. Script tersebut
menggunakan bahasa pemrograman C#. Setelah script selesai dibuat, jangan
lupa memasang script tersebut ke dalam objek capsule agar dapat berfungsi
dengan baik. Kecepatan gerakan capsule dapat diatur melalui script yaitu
dengan cara dikalikan dengan variabel speed.
Kegiatan 2 : Collision Detection
Gambar 8.3 Collision Detection

Gambar 8.4 Script Collision Detection


Pada gambardiatas adalah objek cube yang saya buat berdasarkan
panduan dari modul praktikum. Objek cube ini akan dibuat tidak bisa
menembus objek capsule yang sudah dibuat pada kegiatan 1. Untuk
membuat objek capsule tidak dapat menembus objek cube dapat
dilakukan dengan cara menghilangkan atau membuat non-active Capsule
Collider. Kemudian tambahkan juga komponen Character Controller
pada Capsule.script collision detection. Script tersebut merupakan
perubahan sedikit dari script pada kegiatan 1. Dimana script dalam
fungsi Update() yang digunakan untuk menggerakkan capsule pada
kegiatan 1 diganti.
Kegiatan 3 : Rotasi Objek

Gambar 8.5 Rotasi Objek

Gambar 8.6 Script Rotasi Objek


Pada gambar diatas adalah penambahan objek cube baru yang
saya buat berdasarkan pada modul praktikum. Objek cube tersebut
cukup kecil dengan ukuran skala 0.5 untuk semua koordinat (x, y dan z).
Nantinya objek cube tadi dapat dirotasi dengan menggunakan
mouse.script yang digunakan untuk merotasi objek cube. Kecepatan
rotasi dapat diatur dengan menambahkan variabel global yaitu public
float rotationSpeed = 2.0f
Kegiatan 4 : Spawn Objek

Gambar 8.7 Spawn Objek


Gambar 8.8 Script Spawn Objek
Pada gambar diatas adalah spawn objek yang saya buat
berdasarkan pada modul praktikum. Capsule dapat melakukan spawn
objek, sehingga dapat digunakan untuk menghasilkan peluru. Peluru
dibuat dengan objek sphere dan supaya peluru bisa bergerak harus
ditambahkan script di dalamnya. Untuk memunculkan peluru dilakukan
dengan cara klik kiri pada mouse. Setelah memenuhi jarak tertentu
peluru yang telah ditembakkan akan hilang. script peluru yang saya buat
berdasarkan pada modul praktikum. Terdapat dua variabel pada script
tersebut, yaitu public float speed dan public float life. Hasil dari script ini
adalah peluru bergerak ke depan dengan kecepatan tertentu. script
launcher peluru yang saya buat berdasarkan pada modul praktikum.
Script ini digunakan sebagai launcher peluru saat ditembakkan dengan
cara klik kiri pada mouse.
D. TUGAS
1. Lanjutkan project kegiatan praktikum ini dengan menambahkan
behavior enemy (berupa Cube) akan hilang ketika terkena beberapa
kali tembakan.
Jawab :

Gambar 8.9 Menambah Enemy Cube


Pada gambar di atas adalah hasil dari tugas pertama ketika
player menembakan peluru dan peluru mengenai objek kubus maka
objek tersebut akan hilang. Dalam tugas pertama ini mengunakan
script dari javascript untuk membuat objek menghilang ketika
terkena peluru.

2. Buat supaya Capsule yang bertindak sebagai karakter dapat


melompat ketika ditekan tombol space pada keyboard.
Jawab :
Gambar 8.10 Tampilan Objek Cube Melompat
Pada gambar diatas adalah hasil dari tugas nomor 2 dimana
membuat player dapat melompat dengan menekan tombol Space .
Dengan begitu player dapat menembak objek yang berada pada
posisi tinggi sehingga player dapat menembak dengan mudah. Dan
gambar di atas adalah contoh script yang di gunakan untuk membuat
objek dapat melompat dan menembak. Untuk memunculkan peluru
dilakukan dengan cara klik kiri pada mouse. Setelah memenuhi jarak
tertentu peluru yang telah ditembakkan akan hilang.

E. KESIMPULAN DAN SARAN


a. Kesimpulan
1) Dalam membuat game di Unity tidak semua harus dilakukan
dengan coding, ada banyak hal yang bisa dicapai dengan
menggunakan tool berbasis GUI yang memang lebih intuitif,
misalnya seperti animasi ataupun membuat shader.
2) coding di dalam Unity lebih dikenal dengan istilah scripting.
Scripting merujuk pada sebuah komponen tambahan yang bisa
jadi tidak kompleks, namun keberadaannya vital untuk membuat
sebuah objek yang dinamis.
3) Bahasa pemrograman pada Unity ada dua, yaitu bahasa C# dan
JavaScript. User dapat menggunakan salah satu bahasa
pemrograman tersebut dalam membuat game.
b. Saran
Di harapkan untuk latihan menggunakan bahasa
pemrograman C# dan JavaScript dalam membuat game. Tidak hanya
itu, latihan juga dalam mengatasi error yang terjadi pada script saat
membuat game. Serta pahami langkah dalam modul yang di sediakan
agar tidak bingung saat melakukan praktikum.

F. DAFTAR PUSTAKA
[1] Sukirman. [2017]. Praktikum Game Edukasi. Surakarta : Universitas
Muhammadiyah Surakarta
[2] Mengenal Komponen pada User Interface. [2016] Diakses pada
Minggu, 08 Juli 2018.
[3] Dasar Pemrograman pada Unity. [2015]. Diakses pada Minggu, 08
Juli 2018.

Anda mungkin juga menyukai