Mana yang lebih bagus Visual Studio atau Unity?

Sebenarnya saya sudah pernah membahas soal ini pada postingan yang lain secara singkat, tapi sepertinya masih ada beberapa orang yang bingung bin kagak ngerti dengan perbandingan kedua software tersebut.

Jadi saya akan coba jelaskan lagi dengan lebih rinci.

Kunci dari pokok permasalahannya di sini adalah bahasa C#.

Salah satu bahasa pemrograman yang didukung oleh Visual Studio adalah C#. Dan salah satu bahasa pemrograman yang bisa digunakan untuk bikin game dengan Unity adalah C#.

Artinya kita punya 2 buah C# yang berbeda. Satu C#-nya Visual Studio dan satunya lagi adalah C#-nya Unity. C# mana yang bisa dipakai? Apakah C#-nya Visual Studio bisa dipakai oleh Unity? Atau sebaliknya, bisakah C#-nya Unity dipakai oleh Visual Studio?

Jujur, saya rada bingung ngejelasinnya.

Karena Visual Studio itu sebenarnya hanya “alat untuk ngetik” seperti halnya Monodevelop yang merupakan editor bawaan Unity. Jadi membandingkan antara Visual Studio dan Unity bukanlah suatu bentuk perbandingan yang tepat.

Jadi saya akan coba pakai analogi yang mudah-mudahan bisa anda mengerti.

Bayangkan anda ingin belajar Otomotif dan Farmasi dengan menggunakan bahasa Indonesia. Maka ada beberapa pertanyaan yang mungkin timbul.

Otofarmasi

Apakah bahasa Indonesia bisa dipakai untuk mempelajari Otomotif?

Apakah bahasa Indonesia bisa dipakai untuk mempelajari Farmasi?

Apakah bahasa Indonesia-nya Otomotif bisa dipakai pada Farmasi?

Apakah bahasa Indonesia-nya Farmasi bisa dipakai pada Otomotif?

Mulai kelihatan maksudnya?

Intinya adalah bahasa Indonesia di mana-mana sama. Tata bahasanya ya begitu, kosakatanya ya begitu. Namun ketika bahasa Indonesia masuk ke dalam konteks yang khusus misalnya Otomotif, maka akan terdapat beberapa istilah yang hanya bisa dimengerti di dunia Otomotif. Seperti halnya akan ada beberapa istilah yang hanya bisa dimengerti oleh dunia Farmasi.

Kembali pada konteks bahasa C#.

Secara umum struktur dan “kosakata” bahasa C# itu sama.

Deklarasi variabel: int i, float c, string s

Deklarasi class & directive: public class, private class

Perintah kondisi: if(){ } else { }

Perintah pengulangan: for () { }, while (){ }

Tapi khusus untuk Unity, terdapat beberapa class yang memang dirancang khusus untuk membangun sebuah game. Misalnya:

class GameObject, Animator, Collision, Raycast

Dan masing-masing class tersebut memiliki berbagai method spesifik yang HANYA bisa dimengerti jika anda mempelajari dan memahami deskripsinya yang dijelaskan pada Unity Script Reference.

Gampangnya gini deh.

Visual Studio itu dibuat oleh tim developernya Microsoft kan? Bisa kita bilang bahwa para programmer Microsoft itu adalah super expert di dunia pemrograman, khususnya bahasa C#.

Pertanyaannya adalah: Apakah tim developer Microsoft tahu kegunaan fungsi-fungsi dan class pada Unity?

Jawabannya: NGGAK!

Mereka juga pasti bingung tujuh keliling waktu pertama kali melihat “class C#” yang digunakan pada Unity. Kok bisa? Bukankah seharusnya para developer Microsoft itu jago-jago?

Dan inilah sebenarnya yang juga menjadi kesalahan pemahaman pada pemula.

Karena analogi kasus di atas bisa kita ganti jadi: Kok bisa Guru Besar Bahasa Indonesia yang jago bikin EYD nggak ngerti masalah Kedokteran?

Bukan bahasa C#-nya yang menjadi masalah, bro.

Tapi struktur class C#-nya yang dibuat secara khusus oleh tim developer Unity.

Struktur class, kumpulan fungsi dan method-method itulah “sebenarnya” yang disebut dengan istilah Game Engine. Pada tahun 2007 silam, waktu pertama kali saya ngoding game bentuk dari game engine ya cuma begitu. Nggak kayak Unity yang sudah ada IDE canggih yang bisa tinggal drag-drop.

Aslinya cuma sekumpulan script yang bikin kepala mumet pas pertama kali ngeliatnya. Tapi namanya juga Game Engine. Hanya dengan mengetikkan 1-2 baris fungsi anda sudah bisa menghasilkan mekanisme game yang canggih.

Masalahnya cuma satu.

Anda harus bisa memahami tujuan dari fungsi-fungsi yang sudah ada. Setiap Game Engine beda fungsi, beda parameter, dan beda outputnya.

Dan untuk memahaminya, anda harus memahami struktur bahasa pemrogramannya terlebih dahulu baru struktur class pada game engine tersebut.

Menurut saya, ini adalah analogi yang sama untuk C# dan Unity.

Jadi jika kemudian ada pertanyaan lanjutan: Saya harus membaca buku apa untuk mulai mempelajari Unity? Buku dasar-dasar pemrogaman Visual C#? Atau langsung buku Unity Tutorial Game Engine?

Sebagai penulis buku Unity Tutorial Game Engine, saya ingin menjawab: Anda lebih baik baca saja buku saya. Tapi sebagai programmer, saya sarankan anda untuk membaca buku dasar-dasar pemrograman visual C# terlebih dahulu.

Kenapa?

Kembali ke analogi di atas.

Bayangkanlah jika anda kuliah di fakultas kedokteran terkenal di Korea tapi anda sama sekali tidak bisa bahasa Korea. Apakah anda bisa belajar dengan optimal?

Sudah mengerti maksud saya? 🙂

Jika anda tertarik untuk mempelajari cara membuat game, silahkan sempatkan diri anda untuk membaca 1-2 artikel pada halaman dibawah ini. Semoga bermanfaat.

cara membuat game

(Visited 139 times, 2 visits today)

Rickman Roedavan

Penulis buku Unity Tutorial Game Engine. Ia juga seorang dosen, sistem analis dan praktisi bisnis di bidang Transmedia Storytelling. Buku-bukunya antara lain The Astrajingga, Serial Kiky Si Kancil, Antologi Everna Saga, Arassi dan Fantasy Fiesta.

3 tanggapan untuk “Mana yang lebih bagus Visual Studio atau Unity?

  • Agustus 24, 2016 pada 3:29 am
    Permalink

    Back to basic C# first.

    Balas
  • September 17, 2016 pada 2:14 am
    Permalink

    Apakah bisa membuat game di Unity dengan bahasa pemrograman JavaScript?

    Balas
    • September 19, 2016 pada 8:16 am
      Permalink

      Bisa, Unity saat ini mendukung 2 bahasa C# dan JavaScript (atau ada juga yang menyebutnya Unity Script)

      Balas

Tinggalkan Balasan

Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Shares
IndonesiaEnglish