Cover artikel Basic Game Development dengan Unity

Basic Game Development dengan Unity

Pembuka

Artikel ini dibuat untuk berbagi ilmu mengenai penjelasan mendasar tentang pengembangan game digital. Di mana, artikel ini lebih berfokus kepada aspek dan komponen dasar dalam pengembangan sebuah game.

 

Batasan Artikel

  1. Artikel ini berisi tentang pengetahuan dasar dari pengembangan game digital, terutama akan berfokus pada game 2D sebagai penggambaran untuk penjelasan.
  2. Artikel ini menggunakan bahasa yang tidak formal agar beberapa informasi dapat dijelaskan dengan lebih mudah menggunakan bahasa non formal.
  3. Artikel ini akan menggunakan beberapa istilah dari Unity dalam penjelasannya, sehingga akan terlihat lebih berfokus pada pengembangan game menggunakan Unity.
  4. Artikel ini tidak akan menjelaskan secara mendalam mengenai aspek aspek teknis seperti bagaimana cara menggunakan Unity.
  5. Pengembangan game dapat menggunakan game engine apapun dan tidak terbatas pada Unity.

 

Pendahuluan

Apa itu Unity ?

Unity adalah Game Engine lintas platform yang dikembangkan oleh Unity Technologies, pertama kali diumumkan dan diluncurkan pada bulan Juni 2005 di Apple Inc. Apple Worldwide Developers Conference sebagai Game Engine eksklusif Mac OS X Pada 2018, mesin telah diperpanjang untuk mendukung lebih dari 25 platform. (Wikipedia, 10 January 2025)

Sedikit penjelasan tambahan, bila kamu familiar dengan pemrogramman kamu dapat mengartikan Game Engine mirip dengan Framework yaitu, dalam pengembangan game kita sudah disiapkan class class penunjang sehingga, kamu hanya perlu fokus dalam pengembangan game dan tidak perlu berurusan dengan urusan urusan tingkat rendah seperti kernel dan kawan kawannya. Namun, perlu diingat bila kamu membuat game seperti Valorant yang memiliki anti cheat yang berada pada kernel level maka, kamu memerlukan keahlian dengan bahasa tingkat rendah.

Beberapa game yang mungkin kamu kenal seperti CupHead, Terraria, dan Among Us dibuat menggunakan game engine Unity. Untuk memperdalam pengetahuan tentang game, kamu dapat mencoba memainkan sekaligus memahami beberapa logika :

  1. Bagaimana character dapat menyerang beserta area jangkauan character agar dapat menyerang ?
  2. Apa yang harus dilakukan agar kamu dianggap menang pada game yang kamu mainkan ?
  3. Apa yang harus dilakukan agar kamu dianggap kalah pada game yang kamu mainkan ?
  4. Apakah kamu menikmati memainkan gamenya ? Mengapa ?

Masih ada beberapa hal yang dapat kamu perhatikan. Namun, menurut saya pribadi beberapa hal diatas adalah hal utama yang perlu kamu perhatikan.

 

Mengapa Unity ?

  1. Unity merupakan salah satu Game Engine yang memiliki antarmuka aplikasi yang mudah dipahami dan cukup straight-forward.
  2. Unity dapat merender game dengan beberapa format yang berbeda dan dapat dijalankan juga pada beberapa platform yang berbeda seperti Windows, iOS, Android, dan sebagainya.
  3. Unity memiliki banyak pengguna sehingga, bila kamu mengalami kesulitan akan banyak bantuan yang kamu dapat akses dengan mudah di Internet.
  4. Unity memberikan lisensi gratis untuk penggunaan personal sehingga, dapat kamu gunakan untuk belajar.
  5. Unity memiliki website marketplace asset asset sendiri pada Unity Asset Store.

 

Apa saja yang dibutuhkan untuk membuat game dengan Unity ?

Kamu membutuhkan Unity Hub dan Visual Studio Code. Unity Hub akan bekerja seperti Git Hub Desktop bila kamu familiar dengan pemrograman maka kamu tidak akan kesulitan saat pertama kali mencoba. Sementara Visual Studio Code adalah IDE untuk platform kamu meng-code behavior dari komponen komponen game yang kamu kembangkan.

 

Ternyata membuat game perlu coding ? Betul kawan kawan sekalian, dalam membuat sebuah game kita juga perlu melakukan coding untuk 'membuat' behavior dari komponen kopmonen game yang kamu kembangkan. Bagian ini akan dijelaskan lebih lanjut di bawah. <3

 

Membuat Game

1. Scratch

General

  1. Tentukan jenis game yang ingin kamu buat (Rythm / RPG / Visual Novel / dan lain lain)
  2. Tentukan art game yang ingin kamu buat (Pixel Art / Anime Art Style / West Art Style / dan lain lain)
  3. Buatlah draft di notes atau di kertas yang mencakup What, Who, When, Where, Why, and How.

Saya akan coba mencontohkan pembuatan draft game dalam 1 kalimat. Bila kamu menonton serial 'Frieren' kamu akan lebih mudah mengikuti penjelasan saya.

Mari kita rancang bahwa character utama yang akan kita mainkan adalah Mage Elf dari era medieval atau era kerajaan di mana terjadi perang karena Raja Iblis ingin mengambil alih dunia dan kita harus melakukan perjalanan untuk mengalahkan dia sambil mengalahkan bawahan bawahannya yang bermunculan selama perjalanan.

 

Others

Beberapa hal yang perlu kamu perhatikan setelah merancang keseluruhan game secara umum

  1. Desain character yang sesuai dengan latar waktu, latar tempat, dan kekuatan.
  2. Desain latar tempat (scenery dan map) yang sesuai dengan latar waktu.
  3. Musik dan Sound Effect juga bisa mulai kamu bayangkan.

Saran sederhana dari saya adalah 'masukan komponen yang tepat pada waktu dan tempat yang tepat juga'.

 

2. Scenery & Map

Setelah selesai merancang kamu dapat mulai mendesain map. Bila kamu cukup percaya diri, kamu bisa langsung mendesain di Unity karena cukup mudah untuk melakukan copy, paste, undo, delete, dan mememindahkan komponen dari scenery dan map di Unity. Beberapa hal kecil yang kamu perlu perhatikan adalah tentukan dimana character mu akan berjalan jadi, siapkan desain 'tanah' yang berbeda sebagai penanda bahwa bagian tersebut adalah jalan.

 

Lamps & Lightings

Saya akan bahas sedikit mengenai lampu dan cahaya karena kedua hal ini sedikit membingungkan terlebih untuk orang yang baru terjun ke dunia pengembangan game.

 

Pertama lampu dan cahaya adalah dua komponen terpisah di dalam dunia pengembangan game. Untuk membuat lampu seolah mengeluarkan cahaya, kamu harus menambahkan komponen cahaya tersebut pada lampu atau sumber cahaya. Untuk lebih mengerti tentang hal ini, kamu harus mencoba sendiri untuk membuat lampu yang bercahaya. Bila kamu sudah paham, kamu dapat mencoba menggabungkan lampu dan cahaya ke dalam prefabs baru agar lampu dan cahaya dapat seolah olah menjadi satu kesatuan.

Bila kamu mendapatkan lampu dari asset store atau website tertentu, ada kemungkinan bahwa lampu dan cahaya sudah dipasangkan menjadi satu kesatuan sehingga kamu tidak perlu memasangkannya secara manual.

 

3. Characters

Desain character dan musuh yang kamu gunakan dapat kamu buat sendiri atau kamu download dari asset store dan website lain.

Sedikit informasi dari saya, perlu kamu perhatikan bahwa pada character 3D terdapat beberapa starting position yang berberda yaitu T-Pose dan A-Pose.  Hal ini penting dan akan saya jelaskan lebih lanjut pada bagian animasi.

 

Movement

Untuk movement atau pergerakan character, movement logic (bagaimana character bergerak) dan input bindings (bagaimana player mengontrol character / WASD) adalah 2 hal berbeda. Animasi saat character bergerak juga harus ditambahkan nanti. Hal ini akan dijelaskan lebih lanjut pada bagian animasi.

 

4. Physics

Pada pengembangan game, kita perlu memperhatikan aspek aspek seperti grafitasi, kecepatan pergerakan, dan juga collider.

Character (dan object object lain) pada saat kamu baru menambahkan atau memasukannya ke dalam sebuah game akan ter-load seperti hantu. Bisa saya katakan terlihat namun dapat saling tembus menembus. Kamu harus buat sebuah 'tebok' atau 'penghalang' yang tidak terlihat bernama collider.

Dalam implementasinya pada character, collider akan diterapkan bersama rigid body. Sesama character dan object yang memiliki collider dan rigid body dapat berinteraksi satu dengan yang lain misalnya, character memegang sebuah barang, character menyerang musuh, character mengambil koin, bahkan untuk mentrigger backsong yang berbeda tiap area.

Penjelasan ini membutuhkan penggambaran agar kamu lebih mengerti tentang apa yang saya jelaskan. Silahkan mengakses slide canva yang saya buat untuk acara knowledge sharing internal pada NisGroup. Sayangnya slide tersebut berisi full bahasa inggris, kamu bisa gunakan chat gpt untuk mentranslate kalimat kalimat yang ada pada slide.

 

5. Animasi

Mari kita masuk ke bagian terakhir yang menurut saya adalah dasar dan penting dijelaskan. Pada saat kamu membuat sebuah game, semua character termasuk object kamu tidak akan 'bergerak' atau 'beranimasi' kecuali merupakan prefabs yang sudah dipasangkan animasi oleh pembuatnya.

Agar lebih mudah membayangkannya, character yang tidak memiliki animasi maka, saat character tersebut berjalan maka character tersebut akan terlihat seperti melayang tanpa pergerakan apapun dan hanya berpindah posisi saja. Satu lagi informasi yang ingin saya sampaikan adalah animasi untuk character dengan pose awal T-Pose tidak dapat digunakan untuk character yang pose awalnya A-Pose, begitu pula sebaliknya.

 

6. Elemen / Komponen lain

Ada beberapa elemen dan komponen lain yang dapat kamu perhatikan dalam membuat sebuah game seperti:

  1. Music and Sound
  2. Health System
  3. Score System
  4. User Interface (Menu, Map, Handheld Items)
  5. Advance Lighting
  6. Particle FX
  7. Post Processing

Saya sarankan kalian mempelajari aspek aspek diatas setelah menguasai atau setidaknya mengerti tentang 5 poin sebelumnya dalam mengembangkan sebuah game.

Penutup

Terima kasih sudah membaca artikel saya. Pada artikel ini saya terbatas dalam menggambarkan penjelasan saya secara visual, kamu bisa melihat slide canva yang saya buat sambil membaca artikel ini. Bila kamu memiliki pertanyaan, saya akan dengan senang hati menjawab pertanyaan kamu. Silahkan menghubungi saya melalui email [email protected] dan menanyakan pertanyaan yang sesuai dengan topik artikel ini, saya tidak akan menjelaskan hal yang terlalu mendetail atau teknis karena saya bukan ahli dalam pengembangan game.