Belajar Unity untuk Pemula - Pengenalan

Tags


Ketertarikan manusia kepada pengembangan game relatif stabil.

Begitu pula ketertarikan manusia kepada game.




Saat ini, telah banyak game-game yang dirilis.

Pembuatannya semakin mudah karena software yang digunakan untuk pembuatan game semakin canggih.

Bahkan software pembuatan game yang biasa disebut sebagai game engine pun banyak yang bisa didapatkan secara gratis, walaupun tidak semuanya.

Mungkin game developer baru akan sedikit bingung untuk memilih game engine apa yang sebaiknya ia gunakan.

Hal itu memang relatif, tergantung game apa yang akan dibuat, pada OS apa game tersebut dijalankan, dan sebagainya.

Tapi menurut pendapat saya, game engine terbaik adalah yang paling mudah dipelajari.

Agar lebih mudah dipelajari, game engine tersebut harus baik dokumentasinya dan banyak tutorial penggunaannya.

Game engine Unity adalah salah satu game engine terbaik karena hal tersebut.

Apa Itu Unity?

Unity adalah sebuah software yang berjalan di PC untuk membuat game.

Membuat game pada OS yang berbeda-beda bisa dilakukan dengan software tersebut.

Walaupun tujuan utama game engine Unity adalah untuk membuat game, kita juga bisa membuat aplikasi non game dengan Unity, terutama aplikasi yang melibatkan simulasi dan grafika.

Misalnya, kita bisa saja membuat aplikasi anatomi 3D  yang berguna untuk mempelajari anatomi tubuh manusia.

Atau mungkin juga untuk meng-generate terrain, bangunan, dan jalan dalam bentuk model 3D.

Unity bisa dijalankan dengan cukup ringan dibandingkan game engine lain sekelasnya seperti Unreal Engine 4.

Game engine Unity juga menyertakan IDE bersama installernya, yakni MonoDevelop.

Dengan demikian, kita tidak harus menginstall IDE maupun script editor lain untuk membuat dan mengedit script Unity yang berbahasa pemrograman C# ini.

Mengapa Kita Menggunakan Unity untuk Membuat Game?

Unity merupakan game engine berbasis component-entity.

Artinya, setiap objek pada skenario game umumnya merupakan sebuah game object. Walaupun demikian, bisa juga ada objek di dalam game yang bukan game object, seperti gizmos.

Game object tersebut selanjutnya dipasangi satu atau lebih component tergantung bagaimana behavior dari game object tersebut yang kita inginkan.

Dengan demikian, jika kita ingin sebuah game object yang bisa dipindahkan dan bisa dilihat, kita tinggal menambahkan transform component dan renderer component, kira-kira begitu.

Sistem component-entity ini sangat membantu dalam pembuatan game, karena kita tidak perlu merancang satu object khusus untuk setiap entitas game.

Jika kita ingin menambahkan behavior baru pada sebuah game object, kita hanya tinggal memilih game object yang sudah ada dan menambahkan component ekstra untuk memberi behavior tambahan pada game object tersebut.

Selain itu, semua game object yang telah kita buat bisa "diawetkan" dalam bentuk prefab, yang merupakan versi asset dari game object.

Nanti kita akan mempelajari lebih dalam tentang game object, component, dan prefab.

Bagaimana Cara Kerja Unity?

Sebagai game engine, Unity telah menyediakan banyak fitur yang sangat relevan dalam pembuatan game.

Dilihat dari ketinggian, Unity memiliki berberapa bagian yang paling utama.

Pertama adalah asset.

Dalam unity, semua file yang bisa dimasukkan ke dalam Unity editor adalah asset.

Asset ini bisa berupa berbagai jenis file, mulai dari 3D model, texture, sound, material, prefab, script, shader, animator, dan sebagainya.

Bahkan file pdf berisi panduan tertentu juga bisa disebut asset.

Gampangnya: file = asset.

Asset bisa masuk ke dalam sistem Unity dengan mekanisme import.

Jadi file 3D model dari blender, autodesk, dan sebagainya akan diimport sebelum bisa digunakan dalam game.

Untuk mengimport-nya pun sangat sederhana, yakni tinggal drag and drop.
Drag and Drop merupakan suatu pekerjaan yang biasa dalam unity. Jadi jangan pusing-pusing mencari menu untuk anu di mana, dan lain-lain.
Cobalah drag and drop dulu, baru bertanya.
Asset-asset tersebut ada yang bisa dimasukkan ke dalam scene dan menjadi bagian dari game.

Ada juga yang tidak bisa dimasukkan ke scene, seperti script. Tapi script bisa dipasang pada game object, dan game object adalah bagian dari scene.

Setelah semua scene telah dimasukkan game object-nya masing-masing, maka scene siap di-compile pada target OS atau platform yang dituju.

Setelah di-compile, keluarlah hasil file executable (misal:.exe) dan folder datanya.

Hasil tersebut siap dijalankan pada OS atau platform target yang dituju.

Keunggulan dan Kelemahan Unity

Walaupun sangat bagus menurut saya, Unity tetap memiliki kelebihan dan kekurangan.

Berikut ini adalah kelebihannya:
  • Gratis sampai game/aplikasi mencapai pendapatan tertentu.
  • Banyak tutorialnya
  • Lengkap dokumentasinya
  • Sangat intuitif
  • Rendah penggunaan memory pada PC dengan kualitas menengah
  • Menggunakan component-entity system
  • Target multi OS atau platform
  • Bisa untuk segala genre game
  • Package 3rd party yang berlimpah
Berikut ini adalah kekurangannya:
  • Sulit untuk membuat game yang moddable
  • Grafisnya masih kurang realistis dibandingkan Unreal Engine 4
  • Terrain editor kurang lengkap fiturnya

Bisakah Saya Membuat Game yang Seperti Anu, Ini, dan Itu dengan Unity?

Kalau masalah ini, saya bilang tergantung dari skill pengguna Unity.

Apakah pengguna hanya bisa menggunakan Unity saja, tapi tidak bisa menghasilkan assetnya sendiri?

Jika demikian maka saya jawab tidak bisa, kecuali kita mendapatkan asset yang sudah jadi dari tempat lain.

Apabila pengguna Unity juga memiliki skill lainnya untuk menghasilkan konten dari game-nya, maka Unity sudah lebih dari cukup.

Karena pembuatan game tidak hanya drag and drop atau pemrograman saja, melainkan pembuatan konten juga.

Pada umumnya, game-game besar, yang membutuhkan banyak konten berkualitas merupakan pekerjaan tim, bukan sendiri.

Lagipula, kita tidak bisa sesukanya menggunakan asset orang lain yang sudah jadi karena ada hak cipta.

Jadi, Apakah sebaiknya Saya Mempelajari Unity?

Tentu, kita harus mempelajarinya, karena kita bisa menguasai prinsip dasar pembuatan game dengan cara yang lebih mudah.

Waktu saya belum mengenal unity, saya mencoba kode AI dengan me-rebuild berulang ulang source code C++ dengan library yang cukup besar sehingga memakan waktu yang lama.

Setelah saya mengenal Unity, saya bisa mencoba kode-kode tersebut dengan lebih cepat.

Bahkan, saat ini saya menganggap Unity sebagai sebuah game karena begitu menariknya.

Mungkin bisa disebut "game untuk membuat game".