20 पॉइंट द्वारा GN⁺ 2025-04-19 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • यह एक हल्का और हाई-परफ़ॉर्मेंस 2D-केंद्रित गेम इंजन है, और 3D फीचर्स भी सपोर्ट करता है
  • पूरे गेम लॉजिक को Lua स्क्रिप्ट के आधार पर नियंत्रित करता है, और तेज़ build तथा hot reload से डेवलपमेंट स्पीड बेहतर होती है
  • यह मुफ़्त उपलब्ध है, और इसमें कोई लाइसेंस फ़ीस या royalty नहीं है
  • क्रॉस-प्लेटफ़ॉर्म सपोर्ट बहुत मज़बूत है, इसलिए एक बार डेवलप करके कई प्लेटफ़ॉर्म पर डिप्लॉय किया जा सकता है
  • scene editor, GUI tool जैसे artist-friendly टूल्स देकर visual production को आसान बनाता है
  • C/C++ जैसी native extension और कई SDK integration के ज़रिए अच्छी extensibility और production use की सुविधा देता है

Defold की मुख्य विशेषताएँ

  • इंस्टॉलेशन की ज़रूरत नहीं: बिना इंस्टॉल या सेटअप के तुरंत इस्तेमाल किया जा सकता है
  • विज़ुअल और कोड एडिटर: visual editor और code editor के ज़रिए रचनात्मक काम किया जा सकता है
  • Lua डिबगर: Lua स्क्रिप्ट को डिबग करने के लिए टूल उपलब्ध है
  • सीन और पार्टिकल एडिटर: 2D और 3D गेम डेवलपमेंट के लिए कई तरह के एडिटर उपलब्ध हैं
  • कोई लागत नहीं: शुरुआती लागत, लाइसेंस फ़ीस, royalty या runtime cost कुछ भी नहीं है

क्रॉस-प्लेटफ़ॉर्म सपोर्ट

  • कई प्लेटफ़ॉर्म: PlayStation, Nintendo Switch, Android, iOS, macOS, Linux, Windows, Steam, HTML5, Facebook आदि प्रमुख प्लेटफ़ॉर्म पर गेम डिप्लॉय किया जा सकता है
  • बाहरी टूल की ज़रूरत नहीं: बाहरी टूल के बिना एक ही code base से सभी प्लेटफ़ॉर्म सपोर्ट किए जा सकते हैं

2D-केंद्रित, लेकिन 3D भी सक्षम इंजन संरचना

  • Defold 2D गेम डेवलपमेंट के लिए ऑप्टिमाइज़ है, लेकिन इसमें 3D फीचर्स भी built-in हैं
  • component-based design से परफ़ॉर्मेंस और modularity बेहतर होती है
  • 2D components : 2D sprite, Spine model, tilemap editor
  • 3D components :
    • 3D model और animation loading
    • runtime के दौरान 3D mesh बनाना और संशोधित करना
    • custom material और GLSL-आधारित shader
  • particle effects
    • real-time preview वाला particle editor
    • curve editor से parameter adjustment
    • 2D/3D particle emitter सपोर्ट

एनीमेशन फीचर्स

  • sprite, model, GUI आदि में इस्तेमाल के लिए शक्तिशाली animation system
  • flipbook animation : sprite, GUI node, particle में उपयोग
  • Spine और model animation
    • blending सपोर्ट
    • keyframe event handling
    • inverse kinematics लागू किया जा सकता है और script control भी संभव
  • property animation
    • सभी sprite और GUI properties पर animation संभव
    • custom script-आधारित property animation
    • custom या pre-defined easing function का उपयोग

आर्टिस्ट-फ्रेंडली टूल्स

  • GUI editor
    • text, image, pie node आदि से layer composition
    • clipping और mask फीचर्स
    • auto layout और screen orientation switching सपोर्ट
    • 9-slice texture, bitmap/distance field font
    • template के ज़रिए UI elements को फिर से इस्तेमाल किया जा सकता है
  • scene editor
    • assets को assemble और place करने के लिए visual editor
    • prefab-आधारित game object संरचना
    • hierarchy के ज़रिए object grouping

फ़िज़िक्स सिमुलेशन

  • Box2D, Bullet-आधारित 2D/3D physics engine पूरी तरह integrated
  • static/dynamic/kinematic objects
  • shape-आधारित collision और ray cast detection
  • tilemap के लिए सटीक collision detection
  • trigger, joint, motor सपोर्ट

सब कुछ Lua स्क्रिप्ट से संभव

  • Lua script
    • code editor, syntax highlighting, autocomplete, LSP शामिल
    • built-in debugger और variable inspection
    • rendering pipeline को पूरी तरह script किया जा सकता है
    • Teal भाषा के ज़रिए type annotation संभव
  • reactive code style
    • reactive-style Lua सपोर्ट से हाई परफ़ॉर्मेंस बनाए रखी जाती है
    • game object के बीच asynchronous communication संरचना

क्रॉस-प्लेटफ़ॉर्म सपोर्ट

  • वास्तविक क्रॉस-प्लेटफ़ॉर्म
    • एक ही code base से one-click deployment
    • Steam, Facebook Instant आदि extension के रूप में सपोर्ट होते हैं
    • editor, macOS, Windows, Linux तीनों पर सपोर्टेड है
    • Xcode या Android Studio के बिना भी mobile deployment संभव
    • WebGL, OpenGL, Vulkan, Metal सपोर्ट
  • बहुत हल्का
    • सिर्फ़ इस्तेमाल किए गए assets को शामिल करने वाला automatic resource management
    • sprite atlas packing
    • platform-specific texture compression settings
    • render pipeline में dynamic batching

परफ़ॉर्मेंस और स्थिरता

  • दूसरे इंजनों की तुलना में बहुत छोटा binary size
    • Unity 6, Godot 4.3 की तुलना में लगभग 10% binary size (Android, iOS, HTML5, Windows सभी पर)
  • शानदार परफ़ॉर्मेंस
    • हज़ारों-लाखों objects render किए जा सकते हैं (उदाहरण: Bunnymark)
    • पुराने hardware और mobile browser पर भी सुचारु रूप से चलता है
  • Stable version
    • 4 हफ्ते का release cycle, जिसमें 2 हफ्ते का beta period शामिल
    • backward compatibility तोड़ने वाले बदलाव लगभग नहीं होते
    • engine crash बहुत कम होते हैं

तेज़ workflow

  • hot reload
    • assets/logic का real-time application
    • wireless device hot reload और debugging सपोर्ट
    • Lua hook के ज़रिए custom reload handling संभव
  • custom workflow
    • अलग build pipeline का उपयोग संभव
    • CI के साथ integrated headless build सपोर्ट
    • projects के बीच library sharing संभव
    • official और community assets के साथ Asset Portal उपलब्ध
    • सारा data text file के रूप में मैनेज होता है, इसलिए merge करना आसान है
  • build और refactoring
    • HTML5 सहित सभी build कुछ सेकंड में पूरे हो जाते हैं
    • asynchronous और synchronous loading सपोर्ट
    • automatic asset refactoring
  • optimization और debugging
    • real-time visual profiler
    • remote web-based frame sampling
    • game video capture संभव
    • native crash log API उपलब्ध

native extension से फीचर जोड़ें

  • C, C++, ObjectiveC, Java, JavaScript से Defold engine की functionality बढ़ाई जा सकती है
  • cloud में user-customized engine अपने आप generate किया जा सकता है
  • उपयोग के उदाहरण
    • high-performance computation और data processing
    • mobile camera जैसे hardware access
    • ad, analytics जैसे external SDK integration

production use और third-party integration

  • Defold एक production-ready game engine है और भरोसेमंद SDK integration देता है
  • push notification: Google, Apple
  • in-app purchase: Google, Apple, Amazon, Facebook
  • game service: Facebook SDK, Google Play, Firebase
  • विज्ञापन: AdMob, IronSource आदि mediation सपोर्ट
  • network: WebSockets, Nakama, PlayFab, Colyseus आदि
  • और अधिक extension Asset Portal में देखे जा सकते हैं

Defold क्यों?

  • Defold यह दावा नहीं करता कि यह हर गेम के लिए सबसे उपयुक्त है
  • लेकिन कुछ गेम्स के लिए यह सबसे अच्छा विकल्प हो सकता है
  • डेवलपमेंट प्रोडक्टिविटी, हल्केपन, क्रॉस-प्लेटफ़ॉर्म सपोर्ट और तेज़ iteration में इसकी विशेष मज़बूती है

2 टिप्पणियां

 
viel214 2025-04-21

यह सिर्फ़ Lua नहीं बल्कि LuaJIT है, इसलिए यह बहुत तेज़ है।

 
GN⁺ 2025-04-19
Hacker News राय
  • इन्होंने एक दिलचस्प लाइसेंस समाधान चुना है। अच्छा लगा कि इसे open source के बजाय source-available license कहा गया है

    • आप इंजन में proprietary बदलाव कर सकते हैं और उन्हें सार्वजनिक करने की ज़रूरत नहीं है (GPL से अलग)
    • इस इंजन से बने गेम्स को आप स्वतंत्र रूप से monetize कर सकते हैं, और यह भरोसा देता है कि बाद में bait-and-switch नहीं होगा
    • Apache 2.0 न होने की वजह यह है कि गेम इंजन खुद को monetize नहीं किया जा सकता
    • यह निष्पक्ष और सोच-समझकर किया गया फैसला लगता है। टीम को सराहना
  • इसे "source-available" कहना और गलत तरीके से "open source" शब्द का इस्तेमाल न करना बहुत सराहनीय है। Apache-आधारित लाइसेंस में जो अतिरिक्त बातें जोड़ी गई हैं, उन्हें उभारना भी अच्छा लगा

  • Defold के लिए लगाव है। गेम डेवलपमेंट क्षेत्र में यह अलग पहचान रखता है। उदाहरण के लिए, इसका built-in GUI editor Clojure में लिखा गया है

    • मेरी जानकारी के अनुसार इसकी शुरुआत स्वीडन के एक game development studio में हुई थी (संभवतः King)
    • console platform build/release tools गेम डेवलपर्स के लिए महंगे पड़ सकते हैं। इसकी वजह platform SDKs द्वारा लगाए गए प्रतिबंध हैं
    • लगता है Defold संगठन licensing वगैरह में गेम डेवलपर्स के प्रति निष्पक्ष रहने की गंभीर कोशिश करता है
  • Defold काफी समय से मौजूद है। पता नहीं यह अभी main page पर क्यों है। खैर, Defold अच्छा है। community, documentation वगैरह Godot की तुलना में कुछ कमज़ोर हैं

    • दूसरे विकल्पों में MonoGame (जिससे Stardew Valley बनाया गया था) और Unity, Unreal जैसे बड़े इंजन शामिल हैं
    • यह बहुत हद तक इस पर निर्भर करता है कि आप सीखने में कितना निवेश करना चाहते हैं, आपको कौन-सा feature set चाहिए, किन trade-offs या platforms पर विचार कर रहे हैं, और किस programming language/style का उपयोग करना चाहते हैं
  • मुझे याद है जब Unity पहली बार आया था। तब लगा था कि इसमें कुछ बड़ा बनने की क्षमता है

    • यहाँ भी वैसी ही भावना आती है। टीम के communication और भाषा के अंदाज़ से पता चलता है कि उनके पास कुछ अच्छा है
    • अभी इसका multi-platform export बहुत व्यापक होना बड़ी बात है। Godot की सबसे बड़ी बाधाओं में से एक console support रही है
    • मेरी एकमात्र शिकायत यह थी कि यह सिर्फ Lua को support करता है। अगर C# होता तो और दिलचस्प होता। लेकिन कम से कम कुछ इंजनों की तरह पूरा C++ recompilation तो नहीं है
  • इससे संबंधित एक चल रही submission है। यह उस गेम के बारे में है जो इस इंजन का उपयोग करके 60k LOC के Lua में लिखा गया है

  • मैंने देखा कि यह Nixpkgs में नहीं है

  • मैं features के लिहाज़ से Godot के साथ इसका और गहरा comparison देखना चाहूँगा। कम से कम 3D capabilities में बाद वाला काफ़ी अधिक विकसित लगता है

  • मैंने कुछ साल पहले इस इंजन को follow किया था। यह King द्वारा बनाया गया game engine था, जिसे उन्होंने खुद निवेश जारी न रखने के बाद स्वतंत्र रूप से जारी कर दिया

  • Löve 2D की तुलना में, IDE के साथ आने के अलावा यह कैसे अलग है, यह जानने की जिज्ञासा है। Defold शायद अधिक platforms को support करता है, लेकिन अलग-अलग consoles के लिए गेम को package करना बहुत निजी dependencies के साथ आ सकता है