Artikel ini adalah lanjutan dari tulisan sebelumnya. Saya lagi nyari2 game engine yang cocok untuk game hobby dan melakukan sedikit riset. Hasilnya 2 kandidat teratas adalah Godot vs Defold.
Godot mungkin adalah game engine yang muncul di pikiran banyak orang ketika ngomongin tentang open-source alternatif dari Unity. Namun, Defold juga ga kalah bagus. Apalagi mereka baru saja jadi ‘open source‘ tahun ini. (Walau diperdebatkan bahwa Defold ga ‘open source’ per definisi dari OSI, tapi menurut saya udah cukup open-source buat keperluan saya)
Godot dan Defold dua-duanya keren, sampe-sampe bikin kesulitan untuk memilih salah satunya.
Di bawah ini adalah kesan yang saya dapatkan tentang perbandingan kedua engine ini. Silakan jika anda punya pendapat juga untuk membantu saya memilih, juga mohon koreksi jika ada data / asumsi saya yang salah.
Fitur
Godot punya fitur lebih banyak. Banyak hal udah built-in di editornya. Perkembangan development engine ini juga sangat cepet dan keliatan ambisius. Terus-terusan nambah fitur baru. Ini bagus si, tapi kadang juga jadi bikin bingung dan kuwalahan.
Defold terlihat lebih basic dan berfokus ke fitur inti aja. Misalnya, ia ga punya animation timeline editor, jadi anda masi butuh aplikasi 3rd party semacam Spine atau DragonBones.
3D Support
Godot udah support 3D built in. Dan komunitas saat ini sedang menantikan Godot versi 4.0 (yang digaungkan bakal makin sebanding dengan engine komersial mainstream)
Sedangkan Defold support 3D nya terbatas. Sepertinya developernya masi ngembangin itu.
Pendanaan
Hal ini penting untuk keberlangsungan engine ini ya, karena sifatnya yang open source. Godot disupport oleh komunitas dan ada dibawah naungan Software Freedom Conservancy. Ia juga memiliki skema corporate sponsorship (Kalo diperhatikan, ada 1 sponsor yang merupakan perusahaan judi, yang mungkin sebagian dari anda ada personal concern terhadap hal ini). Setahu saya, perusahaan gede juga menyeponsori developernya utnuk menggarap fitur tertentu, misalnya Microsoft untuk support C#, lalu Mozilla untuk web version dari Godot editor. Yang menarik juga, Godot juga menerima pendanaan dari Epic Games melalui Epic MegaGrant. Epic kan adalah pembuat Unreal Engine, yang mana juga game engine, walo bukan direct competitornya Godot.
Defold dulunya adalah bagian dari King, perusahaan yang terkenal lewat game populer Candy Crush Saga. Namun sekarang udah dilepas dan berdiri sendiri. King masi mensupport Defold dengan menjadi corporate sponsor. Jadi skema pendanaan development lumayan mirip dengan Godot yang mengandalkan sponsor dan komunitas.
Lisensi
Godot itu open source pakai lisensi MIT. Sedangkan Defold punya lisensi ‘open’ sendiri (berbasis Apache), namun ga kompatibel dengan definisi dari OSI. Jadi orang berpendapat Defold ga boleh mengklaim open source. Defold sendiri bilangnya open game engine. Pada dasarnya baik Godot maupun Defold source codenya sama-sama terbuka. dan anda bebas mengubah dan bikin game pake itu. Ga perlu royalti, ga perlu pasang splash screen wajib. Bebas pokoknya.
Hal yang agak beda dari lisensi Defold adalah: anda ga bole mengkomersialkan Defold editor (inget, editornya ya, bukan game yang dibuat pake editornya). Hal ini wajar aja si. karena kita mo bikin game kan, bukan bikin versi defold tandingan lalu menjualnya.
Editor platform support
Sama sih. keduanya tersedia di Windows, Linux, and macOS
Ukuran Editor
Kalo ukuran editor, Godot punya ukuran download yang lebih kecil. Tapi ketika anda ingin export game ke platform (misal bikin APK android), anda harus download package tambahan. Sedangkan pada Defold, hal ini udah built-in, jadi satu ama editor. Jadi kira-kira 2 engine ini ukuran editornya sebanding lah.
Godot berasa lebih enteng. UI nya ga native, karena Godot editor ini aselinya adalah Godot game berbentuk aplikasi. keren yah.
Defold editornya berbasis JVM, jadi berasa sedikit lebih berat di PC saya.
Supported Output platforms
Godot: Linux, macOS, Windows, BSD, Android, iOS, BlackBerry 10, HTML5, UWP. Tidak ada dukungan Konsol resmi, tetapi dapat dilakukan melalui pihak ke-3 (Switch, PS4, Xbox)
Defold: Android, iOS, macOS, Linux, Windows, HTML5, Nintendo Switch.
Console support, semisal Nintendo Switch bukanlah sesuatu yang kompatibel ama open-source. Untuk membuat game switch, anda harus terikat kontrak dengan Nintendo, lalu game engine perlu dimodifikasi untuk bekerja dengan tools dan devkit dari Nintendo, di mana semua proses ini berada di bawah NDA (non disclosure agreement alias dirahasiakan antara Nintendo dan developer yang bersangkutan).
Dengan Godot, ga ada official support. Anda harus melakukannya sendiri atau bekerja dengan studio pihak ketiga spesialis konversi game godot ke konsol.
Defold punya paket berlangganan berbayar untuk versi Nintendo Switch, Jadi bagi Nintendo approved developer, harusnya lebih mudah, karena official dari Defoldnya.
Pada dasarnya Jika anda adalah dev indie kecil atau baru memulai, mending lupakan saja tentang console support ini, kecuali jika Anda benar-benar serius. Karena ada proses berbelit yang harus dilalui untuk jadi nintendo approved developer.
Output build size
Kedua engine ini memungkinkan untuk meng exclude/stripping fitur dari engine yang ga diperlukan untuk menghasilkan final build game yang lebih ramping.
Tapi disinilah Defold terlihat lebih bersinar, soalnya ia bisa menghasilkan ukuran game yang kecil banget. Sekecil apa? Hingga 1.6MB APK size dan 735kb html5 (jika dikompres pake gzip). Impresif banget.
Perbandingannya bisa dicek di tautan berikut:
Defold: https://forum.defold.com/t/build-size-auto-stripping-or-manual-configuration/1819/65
Godot: https://github.com/Calinou/godot-size-benchmarks
Asumsi saya sih, ukuran engine ini mencerminkan ke performa juga, terutama di device low-end. Belum ngecek sendiri si, tapi baca-baca di forum memang ada concern tentang issue performa Godot di device android yang jadul atau low end.
Ukuran Defold yang kecil membuatnya ideal untuk web based game, karena ukurannya mendekati JS engine native kayak Phaser.
Bahasa Pemrograman yang Dipakai
Godot pake GDScript sebagai bahasa utama. Jika anda belum pernah denger, wajar aja, karena emang bahasa ini cuma ada di Godot. Sintaksnya agak mirip Python si, tapi bukan Python juga. Kita juga bisa koding Godot pake beberapa bahasa lain: C#, C++, Rust, Nim, JS, dll.
Walaupun Godot support banyak bahasa pemrograman, pada dasarnya itu adalah effort dari komunitas dan kebanyakan blm cukup mature, dan production ready, serta belum tentu support semua target platformnya Godot. Jadi orang banyak merekomendasikan pake bahasa resmi, yaitu GDScript aja si. Walaupun GDScript lambat, tapi bahasa ini support banyak platform, build size yang lebih kecil (karna ga perlu runtime tambahan di gamenya, kek mono untuk C#), dan lebih sedikit issue-issue kejutan ketika develop game. Namun sepertinya C# belakangan makin populer. Ini bagus sih, terutama buat yang familiar dengan Unity.
Defold menggunakan Lua. Ada juga proyek komunitas untuk support bahasa lain kayak haxe dan typescript, tapi melalui proses transpilation (artinya ujung2nya diconvert ke lua juga dan diproses oleh Defold sebagai lua).
Saya pribadi sih lebih prefer JavaScript tetapi sayangnya 2 engine ini ga ada yang support resmi. Namun, Lua dan GDScript adalah bahasa yang relatif sederhana dan mudah dipelajari kok.
Popularity
Godot jauh lebih populer dibanding Defold dengan basis pengguna setia & fanatik. Godot ini kemunculannya punya momentum bagus, dan diterima dengan baik oleh komunitas. hingga seperti sekarang dikenal sebagai alternatif open source dari Unity, sama halnya kayak Inkscape dari CorelDraw atau Gimp dari Photoshop.
Defold saat ini memiliki basis pengguna yang lebih kecil. Tapi forum mereka komunitasnya ramah dan membantu. Semoga komunitasnya juga terus berkembang ya.
Resources dan Tutorial
Mengapa popularitas itu penting? Jelas, ini berhubungan dengan ketersediaan tutorial, artikel, diskusi, kursus, aset, plugin, dukungan aplikasi eksternal, integrasi layanan pihak ketiga, dan lain-lain, intinya ecosystem di seputar game enginenya. Di sinilah Godot lebih bersinar. Ada lebih banyak tutorial dan kursus di internet yang gampang dicari. Defold artikelnya lebih langka, walaupun gitu, di website resminya terdapat manual dan tutorial yang rapi dan bagus.
Kesimpulan
Jadi menurut pendapat saya, Defold adalah engine yang lebih sederhana dengan fokus ke performa yang cocok untuk game mobile dan web. Sedangkan Godot lebih ke engine serba bisa dengan fitur yang melimpah dan powerful, namun cenderung lebih mengutamakan desktop, sedangkan versi mobilenya walaupun disupport penuh, tapi berasa versi scaled down nya.
Saya sih suka karna mereka fokus utamanya berbeda dan ga bersaing secara langsung.
Jadi kalau saya pribadi memilih:
- Godot untuk game desktop atau game desktop 3D.
- Defold untuk game html5 dan mobile, yang mengutamakan size dan performa.
Kita beruntung ya karena saat ini bisa memiliki banyak pilihan game engine gratis, saking banyaknya, bahkan pas memilihnya aja bikin kewalahan, dan butuh energi untuk research, haduh. Saya bahkan belum sampe koding beneran. Mungkin nanti saya bakal menulis artikel lain setelah nyoba langsung.