Bab 8 Game Edukasi [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

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 Prodi Nama NIM Tgl. Praktikum



: Praktikum Game Edukasi : Pendidikan Teknik Informatika : Ikhwan Caesar Amri Pradana : A710170079 : 11 Mei 2020



Acc :



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



menggunakan script.



C. HASIL DAN ANALISA Kegiatan 1 : Translasi Objek



cara



melakukan



transformasi



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



pemrograman tersebut dalam membuat game.



satu



bahasa



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.