20 poin oleh GN⁺ 2025-04-19 | 2 komentar | Bagikan ke WhatsApp
  • Mesin game berfokus pada 2D yang ringan dan berperforma tinggi, serta juga mendukung fitur 3D
  • Mengendalikan seluruh logika game berbasis skrip Lua, dan meningkatkan kecepatan pengembangan dengan build cepat serta hot reload
  • Tersedia gratis, tanpa biaya lisensi maupun royalti
  • Dukungan lintas platform yang kuat memungkinkan distribusi ke berbagai platform dengan sekali pengembangan
  • Menyediakan alat yang ramah bagi artis seperti scene editor dan GUI tool untuk mempermudah produksi visual
  • Dapat diperluas dan diterapkan di lingkungan produksi melalui ekstensi native seperti C/C++ dan integrasi berbagai SDK

Fitur utama Defold

  • Tidak perlu instalasi: bisa langsung digunakan tanpa instalasi atau konfigurasi
  • Editor visual dan kode: memungkinkan pekerjaan kreatif melalui editor visual dan editor kode
  • Debugger Lua: menyediakan alat untuk melakukan debugging skrip Lua
  • Editor scene dan partikel: menyediakan berbagai editor untuk pengembangan game 2D dan 3D
  • Tanpa biaya: tidak ada biaya awal, biaya lisensi, royalti, maupun biaya runtime

Dukungan lintas platform

  • Berbagai platform: dapat menerbitkan game ke platform utama seperti PlayStation, Nintendo Switch, Android, iOS, macOS, Linux, Windows, Steam, HTML5, Facebook, dan lainnya
  • Tanpa alat eksternal: mendukung semua platform dengan satu codebase tanpa alat eksternal

Arsitektur engine berfokus pada 2D, namun juga mendukung 3D

  • Defold dioptimalkan untuk pengembangan game 2D, tetapi juga memiliki fitur 3D bawaan
  • Desain berbasis komponen memperkuat performa dan modularitas
  • Komponen 2D: sprite 2D, model Spine, tilemap editor
  • Komponen 3D:
    • Memuat model dan animasi 3D
    • Membuat dan memodifikasi mesh 3D saat runtime
    • Material kustom dan shader berbasis GLSL
  • Efek partikel
    • Editor partikel dengan pratinjau real-time
    • Penyesuaian parameter dengan curve editor
    • Mendukung emitter partikel 2D/3D

Fitur animasi

  • Sistem animasi yang kuat untuk sprite, model, GUI, dan lainnya
  • Animasi flipbook: digunakan untuk sprite, node GUI, dan partikel
  • Animasi Spine dan model
    • Mendukung blending
    • Menangani event keyframe
    • Dapat menerapkan inverse kinematics dan kontrol melalui skrip
  • Animasi properti
    • Dapat menganimasikan semua properti sprite dan GUI
    • Animasi properti berbasis skrip kustom
    • Menggunakan fungsi easing kustom atau bawaan

Alat yang ramah bagi artis

  • GUI editor
    • Menyusun layer seperti teks, gambar, pie node, dan lainnya
    • Fitur clipping dan mask
    • Mendukung layout otomatis dan perubahan orientasi layar
    • Tekstur 9-slice, font bitmap/distance field
    • Dapat menggunakan template untuk memakai ulang elemen UI
  • Scene editor
    • Editor visual untuk merakit dan menata aset
    • Penyusunan game object berbasis prefab
    • Pengelompokan objek dengan struktur hierarki

Simulasi fisika

  • Integrasi penuh engine fisika 2D/3D berbasis Box2D dan Bullet
  • Objek statis/dinamis/kinematik
  • Deteksi tabrakan berbasis bentuk dan ray cast
  • Deteksi tabrakan presisi untuk tilemap
  • Mendukung trigger, joint, dan motor

Semua bisa dilakukan dengan skrip Lua

  • Skrip Lua
    • Termasuk editor kode, syntax highlighting, autocompletion, dan LSP
    • Debugger bawaan dan inspeksi variabel
    • Pipeline rendering dapat sepenuhnya ditulis dengan skrip
    • Mendukung penambahan tipe menggunakan bahasa Teal
  • Gaya kode reaktif
    • Mendukung gaya Lua reaktif sambil mempertahankan performa tinggi
    • Struktur komunikasi asinkron antar game object

Dukungan lintas platform

  • Lintas platform sejati
    • Deploy sekali klik dengan basis kode yang sama
    • Steam, Facebook Instant, dan lainnya didukung melalui ekstensi
    • Editor mendukung macOS, Windows, dan Linux
    • Distribusi mobile dimungkinkan tanpa Xcode atau Android Studio
    • Mendukung WebGL, OpenGL, Vulkan, dan Metal
  • Sangat ringan
    • Manajemen resource otomatis yang hanya menyertakan aset yang digunakan
    • Packing sprite atlas
    • Pengaturan kompresi tekstur per platform
    • Batching dinamis di pipeline rendering

Performa dan stabilitas

  • Ukuran biner jauh lebih kecil dibanding engine lain
    • Sekitar 10% dari ukuran biner Unity 6 dan Godot 4.3 (di Android, iOS, HTML5, dan Windows)
  • Performa unggul
    • Dapat merender puluhan ribu objek (contoh: Bunnymark)
    • Berjalan lancar bahkan di perangkat lama dan browser mobile
  • Versi stabil
    • Siklus rilis 4 minggu, termasuk periode beta 2 minggu
    • Hampir tidak ada perubahan yang merusak kompatibilitas mundur
    • Crash engine sangat jarang terjadi

Alur kerja cepat

  • Hot reload
    • Aset/logika diterapkan secara real-time
    • Mendukung hot reload dan debugging perangkat secara nirkabel
    • Dapat menangani reload kustom melalui Lua hook
  • Workflow kustom
    • Dapat menggunakan pipeline build mandiri
    • Mendukung build headless yang terintegrasi dengan CI
    • Dapat berbagi library antarproyek
    • Menjalankan Asset Portal yang berisi aset resmi dan komunitas
    • Semua data dikelola sebagai file teks sehingga mudah digabungkan
  • Build dan refactoring
    • Semua build termasuk HTML5 selesai dalam hitungan detik
    • Mendukung loading asinkron dan sinkron
    • Refactoring aset otomatis
  • Optimasi dan debugging
    • Profiler visual real-time
    • Frame sampling jarak jauh berbasis web
    • Dapat merekam video game
    • Menyediakan API log crash native

Menambahkan fitur dengan ekstensi native

  • Dapat memperluas fungsi engine Defold dengan C, C++, ObjectiveC, Java, dan JavaScript
  • Pembuatan engine kustom otomatis di cloud
  • Contoh penggunaan
    • Komputasi performa tinggi dan pemrosesan data
    • Akses ke perangkat keras seperti kamera mobile
    • Integrasi dengan SDK eksternal seperti iklan dan analitik

Penerapan nyata dan integrasi pihak ketiga

  • Defold adalah engine game siap produksi yang menyediakan integrasi dengan SDK tepercaya
  • Push notification: Google, Apple
  • Pembelian dalam aplikasi: Google, Apple, Amazon, Facebook
  • Layanan game: Facebook SDK, Google Play, Firebase
  • Iklan: dukungan mediasi seperti AdMob, IronSource, dan lainnya
  • Jaringan: WebSockets, Nakama, PlayFab, Colyseus, dan lainnya
  • Ekstensi lainnya dapat dilihat di Asset Portal

Mengapa Defold?

  • Defold tidak mengklaim sebagai pilihan terbaik untuk semua game
  • Namun, untuk sebagian game, ini bisa menjadi pilihan terbaik
  • Memiliki keunggulan khusus dalam produktivitas pengembangan, ringan, lintas platform, dan iterasi cepat

2 komentar

 
viel214 2025-04-21

Bukan sekadar Lua, tetapi LuaJIT sehingga sangat cepat.

 
GN⁺ 2025-04-19
Komentar Hacker News
  • Mereka memilih solusi lisensi yang menarik. Saya suka bahwa mereka menyebutnya lisensi source-available alih-alih open source

    • Anda bisa membuat perubahan proprietari pada engine dan tidak perlu memublikasikannya (berbeda dengan GPL)
    • Anda bebas memonetisasi game yang dibuat dengan engine ini, dan ini memberikan jaminan bahwa tidak akan ada bait-and-switch
    • Alasannya bukan Apache 2.0 adalah karena Anda tidak bisa memonetisasi engine game itu sendiri
    • Terasa adil dan dipertimbangkan dengan matang. Salut untuk timnya
  • Pujian besar karena menyebutnya "source-available" dan tidak salah memakai istilah "open source". Bagus juga bahwa mereka menekankan bagian tambahan di atas lisensi berbasis Apache

  • Saya punya ketertarikan pada Defold. Ini unik di ranah pengembangan game. Misalnya, editor GUI bawaannya ditulis dalam Clojure

    • Setahu saya, ini berawal dari studio pengembang game di Swedia (mungkin King)
    • Alat build/rilis platform konsol bisa menimbulkan biaya bagi pengembang game. Itu karena SDK platformnya sendiri memberlakukan pembatasan
    • Organisasi Defold tampaknya benar-benar berupaya untuk bersikap adil kepada pengembang game dalam hal lisensi dan sebagainya
  • Defold sudah ada sejak lama. Saya tidak tahu kenapa ini ada di halaman utama sekarang. Bagaimanapun, Defold itu bagus. Komunitas, dokumentasi, dan sebagainya masih di bawah Godot

    • Opsi lain termasuk MonoGame (Stardew Valley dibuat dengan ini) dan engine besar seperti Unity dan Unreal
    • Ini sangat bergantung pada seberapa besar investasi Anda untuk belajar, set fitur yang diinginkan, trade-off atau platform yang dipertimbangkan, serta bahasa/gaya pemrograman yang ingin digunakan
  • Saya ingat kesan saat Unity pertama kali muncul. Rasanya seperti ini akan jadi sesuatu

    • Rasanya mirip. Dari semangat komunikasi dan bahasanya, Anda bisa tahu bahwa tim ini punya sesuatu yang bagus
    • Fakta bahwa ekspor multi-platform saat ini sangat komprehensif adalah hal besar. Salah satu hambatan terbesar Godot adalah dukungan konsol
    • Satu-satunya keluhan saya adalah hanya mendukung Lua. Kalau C#, mungkin akan lebih menarik. Tapi setidaknya ini bukan recompile C++ penuh seperti beberapa engine lain
  • Ada kiriman terkait yang sedang berjalan. Tentang game yang dibuat dengan engine ini dalam 60k LOC Lua

  • Saya baru sadar ini tidak ada di Nixpkgs

  • Saya ingin melihat perbandingan yang lebih mendalam dengan Godot dari sisi fitur. Setidaknya untuk kemampuan 3D, yang terakhir tampaknya jauh lebih maju

  • Saya mengikuti engine ini beberapa tahun lalu. Ini adalah engine game buatan King, yang kemudian mereka rilis secara bebas setelah tidak lagi berinvestasi sendiri di dalamnya

  • Dibandingkan dengan Löve 2D, saya penasaran apa perbedaannya selain karena datang dengan IDE. Defold tampaknya mendukung lebih banyak platform, tetapi memaketkan game ke berbagai konsol bisa melibatkan dependensi yang sangat tertutup