Saya putuskan untuk bisa familiar dan biasa make satu game engine dulu sebelum mempelajari yang lain-lain, jadi saya mulai belajar Godot. Unity masih jadi standar industri dan Unreal masa depannya cerah, jadi mengapa Godot? Open Source. Itu aja. Saya ingin coba bertaruh waktu dan usaha agar proyek open source bisa sukses seperti Blender. Kenapa ingin dukung, mungkin dijelaskan kapan-kapan. Anggap saja ini satu dari seribu keputusan irasional saya.
Untuk pengenalan awal, saya pakai video tutorial dari Brackeys di YouTube, yang kembali dari pensiunnya setelah kasus kebijakan profit sharing Unity yang kontroversial beberapa bulan ke belakang. Video ini menjelaskan cara penggunaan fitur-fitur dasar dari engine yang cukup buat bikin game yang bisa dimainkan. Aset disediakan, sehingga tutorial bisa diikuti dengan enak.
Kesan pertama, Godot ini punya fitur yang lebih memudahkan, kalau tidak bisa dibilang lebih sederhana dibanding Unity. Soalnya begini, salah satu aspek paling njelimet dari coding di game adalah saat mau make suatu fungsi, perlu prosedur pemanggilan fungsi-fungsi lain dalam struktur tertentu. Misal, untuk ‘sekedar’ ngasih kontrol input agar objek bisa maju saat tekan tombol panah di keyboard, perlu fungsi untuk menerima input keybobard, fungsi menerima kunci yang ditekan, fungsi yang memerintahkan objek untuk bergerak saat kunci ditekan, fungsi tampilan objek, dll. Bahkan di Unreal yang pakai visual coding Blueprint, prosedur seperti ini tetap ada.
Di Godot, input cukup diset di setting proyek. Skrip pergerakan objek bahkan ada templatenya. Hampir semudah Construct. Bisa dibilang, Godot ini kerumitannya ada di antara Construct dan Unity.

Di Godot, satuan utama elemen dalam game disebut Node. Bisa dibilang, kalau di Unity disebut Game Object, kalau di Godot disebut Node. Namun, Component di Unity kadang sepadan sama Node juga. Kumpulan Node dalam satu file disebut Scene. Bingung ga tuh? Pokoknya, perlu pembiasaan istilah dan struktur objek di Godot. Mungkin Node ini lebih sepadan dengan Behavior di Construct.

Fitur lain yang oke salah satunya naruh objek dari tilemap dengan sistem grid. Kayaknya sih di Unity juga ada, tapi gak ngeh. Ya, sejauh ini cukup enak lah makenya. Ada beberapa hal yang biasa di Unity tapi belum nemu fiturnya di Godot. Saya masih mau membiasakan diri make Godot ini sebelum lanjut ke video keduanya Brackey yang akan bahas coding lebih dalam.

Oh iya, codingnya ini pakai bahasa scripting sendiri (GDScript). Sepertinya wrapper dari C++? Entahlah. Strukturnya masih mirip Unity dengan blok fungsi _ready() (start()) dan _process() (update()), tapi secara umum bahasanya mirip Python; ga pake semikolon di akhir baris dan sensitif terhadap indentasi. Ada beberapa fitur dalam coding seperti Signal yang menghasilkan code tapi kalau code-nya disalin ke file skrip lain, belum tentu jalan. Ibaratnya, menghasilkan code itu harus lewat menu fitur, ga bisa ketik langsung.
Selanjutnya saya mau coba melanjutkan game dari tutorial dengan bikin beberapa level dan mekanik tambahan pakai aset yang ada.
