2 पॉइंट द्वारा GN⁺ 2025-08-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Librebox एक ओपन सोर्स Luau-आधारित 3D गेम इंजन है, जिसका लक्ष्य Roblox के साथ API compatibility रखना है
  • डेवलपर्स इंजन से लेकर कोड तक अपने गेम पर पूर्ण स्वामित्व रख सकते हैं
  • अभी यह demo stage में है, और core scene rendering, camera movement, तथा basic part creation जैसी सुविधाएँ समर्थित हैं
  • भविष्य के versions में physics, user input, multi-platform support आदि जोड़े जाने की योजना है
  • इसका license MIT है, इसलिए यह पूरी तरह मुफ़्त है और इसमें स्वतंत्र रूप से modification तथा distribution किया जा सकता है

Librebox परिचय

  • Librebox Luau इंजन पर बना एक open source 3D गेम इंजन है
  • इसका मुख्य लक्ष्य Roblox जैसा API प्रदान करना है, ताकि मौजूदा Luau code compatibility को अधिकतम स्तर तक बनाए रखा जा सके
  • डेवलपर्स इंजन और गेम logic दोनों पर ownership और freedom रखते हैं, जिससे platform dependency से बाहर विकास संभव होता है

Librebox क्यों?

  • इंजन का स्वतंत्र उपयोग और ownership सुनिश्चित की जा सकती है
  • Roblox या Luau से परिचित डेवलपर्स लगभग बिना बदलाव के code reuse कर सकते हैं
  • अपना प्लेटफ़ॉर्म बनाना और स्वतंत्र distribution, modification, monetization संभव है

मुख्य उदाहरण कोड

  • उदाहरण: part बनाना, rotation और color transform करना
    • examples/part_example.lua फ़ाइल देखें
    • मौजूदा Luau/Roblox code की लगभग समान शैली में part creation, color, position, rotation, loop handling संभव है

समर्थित फीचर्स का सारांश (demo version के आधार पर)

  • scene rendering, lighting, shadows, skybox
  • game.Workspace के भीतर objects rendering
  • basic camera movement features
  • Instance System और प्रमुख data types support
    • CFrame, Vector3, Color3, Random आदि
    • Instance.new, part clone/destroy, property control
  • client-side services
    • Workspace, Camera, Lighting, RunService आदि
    • RenderStep/HeartBeat events support
  • Luau script support और scheduler
    • coroutine, events, async tasks (task.spawn, task.wait आदि)
  • window handling और fullscreen optimization

प्लेटफ़ॉर्म और विस्तार

  • वर्तमान में केवल Windows support
  • raylib का उपयोग, इसलिए अन्य OS पर port करना आसान है
  • standalone executable के रूप में distribution

आगे आने वाले फीचर्स

  • physics engine और collision detection
  • model/mesh, image, GUI, material support
  • onscreen GUI, Replication/Multiplayer (server)
  • UserInputService, ContextActionService आदि
  • अपना editor, तथा server/client का पूर्ण ecosystem

विज़न और भविष्य

  • एक पूर्ण स्वतंत्र open source इंजन, जिसका लक्ष्य Godot, Unity जैसे इंजन के समान है
  • platform dependency के बिना, मेरे गेम/मेरा code के साथ स्वतंत्र development को संभव बनाना
  • editor, server, distribution और monetization तक सभी क्षेत्रों में विस्तार की योजना
  • user API और source code को फिर से लिखा जा सकने योग्य बनाना

लाइसेंस और कॉपीराइट

  • MIT license
  • केवल open source licenses का उपयोग, जैसे Luau (Roblox इंजन-आधारित, MIT), raylib (zlib/libpng)
  • commercial platforms और third party से असंबंधित independent project
  • कोई external source/asset/proprietary code शामिल नहीं

संपर्क और कम्युनिटी

  • ईमेल: librebox.developers@gmail.com
  • कोई भी इसका उपयोग कर सकता है, feedback दे सकता है, संशोधन कर सकता है और योगदान कर सकता है

टेक स्टैक

  • C++, Lua, Luau, Python, C, CMake आदि से निर्मित

महत्व और तुलनात्मक बढ़त

  • Roblox/Lua ecosystem के लिए स्वतंत्र open source इंजन
  • मौजूदा commercial platforms में सीमित रहने वाली निर्माण/स्वामित्व/monetization की स्वतंत्रता प्रदान करता है
  • पूर्ण source सार्वजनिक, API compatibility, Windows-आधारित demo के साथ यह Lua-आधारित 3D गेम/कॉन्टेंट निर्माण के लिए उपयुक्त है

निष्कर्ष

  • मुफ़्त, open source, compatibility, freedom—इन सबको साथ लाने वाला यह गेम इंजन junior developers और cross-platform game development के लिए एक आकर्षक विकल्प है

1 टिप्पणियां

 
GN⁺ 2025-08-24
Hacker News की राय
  • Librebox अभी डेमो चरण में है, Roblox API का सिर्फ़ बहुत छोटा हिस्सा ही implement करता है, और server या networking जैसी कई सुविधाएँ अभी गायब हैं
    • अगर मैं dev team में होता, तो server और networking से implement करना शुरू करता, क्योंकि बाद में जोड़ना आम तौर पर बहुत मुश्किल होता है
  • यह एक नया और दिलचस्प प्रयास लगता है, और उम्मीद है कि Roblox की legal team इसका पीछा न करे; Linux native client की दिशा में इसका अच्छा उपयोग हो सकता है। अभी काफ़ी इस्तेमाल होने वाला Sober proprietary software है, और पहले इस्तेमाल होने वाला Vinegar को Linux hackers की वजह से block कर दिया गया था
    • Roblox कानूनी कार्रवाई की कोशिश कर सकता है, लेकिन व्यक्तिगत रूप से मुझे यह project साफ़ तौर पर क़ानूनी लगता है। वैधता के पैमाने पर देखें तो मैं इसे VLC Media Player (patent issues) से भी ऊँचा स्कोर दूँगा, और NES emulator से तो काफ़ी ज़्यादा। Android से नीचे रखूँगा, लेकिन फिर भी Oracle ने Android पर मुक़दमा किया था। (मैं वकील नहीं हूँ)
    • Roblox legal team की प्राथमिकताओं को देखें तो लगता है कि ऐसे projects, Roblox के भीतर बच्चों के शोषण की समस्या से भी ज़्यादा ऊपर handle किए जाते हैं
  • यह बात उठाई गई कि इसमें :WaitForChild() नहीं है, लेकिन किसी ने कहा कि यह शायद अच्छी बात ही है
    • वास्तव में यह कोई बड़ी समस्या नहीं, बस थोड़ा convenience feature है, और busy waiting से बेहतर है। कई बार यह guarantee नहीं होती कि code चलने से पहले कोई object मौजूद होगा, और ऐसी स्थिति में आप इस तरह का मिलता-जुलता behavior खुद implement कर सकते हैं: while not parentObj:FindFirstChild("childObj name") do wait() end. मेरी जानकारी में wait() function कम से कम 1/30 सेकंड प्रति frame है, इसलिए अगर पूरी तरह तुरंत करना हो तो हर heartbeat पर चलाना होगा
  • Roblox में बहुत बड़ी मात्रा में user content बंद पड़ी है, सच में बहुत सारे resources वहाँ फँसे हुए लगते हैं
    • खासकर Club जैसे content को तो ज़रूर मुक्त किया जाना चाहिए
  • repository (github) में developer के बारे में जितना भी खोजो, कुछ नहीं मिलता। यहाँ तक कि Discord server में भी channels में कुछ नहीं है, और developer role वाला account भी project के लिए बना सिर्फ़ एक account है। source code देखकर लगता है कि असली काम हुआ है, सिर्फ़ README डालकर नहीं छोड़ा गया। फिर भी कुल मिलाकर कुछ अजीब-सा एहसास होता है
    • one-man projects अक्सर ऐसे ही होते हैं
    • अगर मैं इसे उदारता से पढ़ूँ, तो अपनी पहचान छिपाना शायद क़ानूनी जोखिम के डर की वजह से है। Roblox खुद 81 अरब डॉलर मूल्य की बड़ी कंपनी है
  • अगर Robux इस्तेमाल नहीं किया जा सकता, तो मुझे व्यक्तिगत रूप से इसमें ज़्यादा दिलचस्पी नहीं है। असली मुद्दा Robux (currency system) है; engine अपने-आप में इतना खास नहीं है
    • बहुत से developers ROBLOX से इसलिए बाहर नहीं निकल पाते क्योंकि उन्होंने बचपन से ROBLOX tools सीखे और उनमें दक्षता हासिल की, और फिर वही कौशल ज़्यादातर दूसरे game engines में काम न आने वाली niche skill बन गए। अब विकल्प या तो Unity जैसे नए environment में फिर से beginner बनकर शुरू करना है, या पहले की तरह ROBLOX के अंदर ही high-level results देते रहना। ऐसा इसलिए भी है क्योंकि हर community में उनके दोस्त और reputation बने हुए हैं। सच कहूँ तो हैरानी इस बात की है कि API-compatible replacement इतना देर से आया
    • यह developers के लिए अपने Roblox games को standalone game के रूप में release करने और platform lock-in से निकलने का मौका भी हो सकता है। बेशक, मौजूदा users साथ आएँगे या नहीं, यह अलग सवाल है
    • मुझे Roblox खास पसंद नहीं, लेकिन मैंने सुना है कि Roblox के creation tools वास्तव में काफ़ी polished हैं
  • मुझे यह repository काफ़ी बढ़िया लगती है
  • मैं जानना चाहता हूँ कि क्या यह local testing या QA सुधारने में व्यावहारिक रूप से मददगार है। हाल ही में मैंने react-lua app पर jest tests चलाने के लिए Lune में Lemur (archived) को चलाने की कोशिश की थी, और in-game output दिखाने वाला test runner भी बनाया था। समस्या यह थी कि Roblox Studio अभी भी Linux पर vinegar package के साथ ठीक से नहीं चलता, इसलिए अगर बस RobloxStudio.exe --place game.rbxlx --script test_runner.lua --keep-open option के साथ लगातार console output मिलता रहता तो यह बहुत सुविधाजनक होता
    • मैं Lemur repository में loadPlaceFile जोड़ने वाला था, लेकिन फिर रुक गया क्योंकि समझ नहीं आया कि उसे वहीं डालना सही है या नहीं। तभी मुझे Librebox के बारे में पता चला, और अब उम्मीद है कि इससे react-lua app के लिए Jest के साथ local CI testing संभव हो पाएगी
    • जानकारी के लिए, Roblox में place के अंदर Luau code चलाने के लिए Open Cloud Engine API beta भी है। [Beta] Open Cloud Engine API for Executing Luau
    • tests को local पर चलाने के फ़ायदे: test fail होने पर screenshot और video capture, तुरंत feedback, और -i option या interactive mode के साथ fail होने पर सीधे game session में जाना संभव है