1 पॉइंट द्वारा GN⁺ 2023-07-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • यह Factorio बेस को नए सिरे से खेलने का टूल नहीं है, बल्कि मौजूदा 2D बेस के कामकाज को UE5 के 3D स्पेस में देखने वाला एक प्रयोगात्मक प्रोजेक्ट है
  • एसेट बनाने की प्रक्रिया गेम स्प्राइट्स के आधार पर Cinema4D मॉडलिंग, Photoshop टेक्सचर, FBX export, और UE5 shader लागू करने के क्रम में की गई
  • FUE5 exporter mod जब Factorio के अंदरूनी डेटा को JSON में export करता है, तो FUE5 building type, दिशा, और cable connection पढ़कर बेस को विज़ुअली फिर से बनाता है
  • belt, train, और logistics robot को UE5 blueprint और spline की मदद से लागू किया गया है, और train Factorio द्वारा पहले से गणना किए गए route को लेकर चलती है
  • बड़े बेस में FPS गिरावट और blueprint event की अस्थिरता आई, इसलिए polygon, texture, particle, on-tick update, और LOD कम करके 30~60 FPS लक्ष्य के लिए optimization किया गया

FUE5 का उद्देश्य

  • FUE5 का मतलब Factorio in Unreal Engine 5 है, और यह Factorio की 2D दुनिया को 3D स्पेस में विज़ुअलाइज़ करने वाला एक प्रयोगात्मक प्रोजेक्ट है
  • इसे 3D artist Hurricane और Factorio modder Nuke ने 10 जनवरी 2023 से लगभग 5 महीने तक बनाया
  • यह Factorio बेस को import करके उसके कामकाज को विज़ुअली पुनर्निर्मित करने वाला 3D visualization environment है, इसमें gameplay शामिल नहीं है
  • उपयोगकर्ता अपने बेस के आसपास 3D स्पेस में उड़कर उसे देख सकते हैं

एसेट निर्माण और UE5 इंटीग्रेशन

  • Factorio की assembling machine, inserter जैसे एसेट्स के लिए गेम स्प्राइट्स के आधार पर 3D model और animation नए सिरे से बनाने पड़े
  • निर्माण pipeline इस क्रम में बनी
    • Cinema4D में 3D modeling
    • Adobe Photoshop में texture बनाना
    • Cinema4D से FBX format में export
    • Unreal Engine 5 में import करने के बाद glass, metal, chimney smoke जैसे shader लागू करना
  • belt, train, और logistics system जैसी मुख्य logic को UE5 के मूल blueprint node system से लागू किया गया
  • चलती train और belt पर items की alignment सही रखने के लिए सटीक आकार वाले 3D model चाहिए थे, इसलिए ज़्यादातर modeling पूरी करने के बाद system logic बनाया गया
  • Factorio बेस को सीधे गेम से export करके Unreal Engine environment में लाने से UE5 के भीतर हाथ से बेस बनाने में लगने वाला समय बहुत कम हो गया

Factorio डेटा को FUE5 में लाने का तरीका

  • structure system, Factorio के भीतर building रखने के तरीके जैसा ही structure बनाता है
  • FUE5 exporter mod गेम के अंदरूनी डेटा को पढ़कर JSON file में export करता है
    • building type
    • building direction
    • cable connection
  • FUE5 इस JSON file को पढ़कर असली बेस की संरचना और वाहनों की चाल को विज़ुअली कॉपी करता है

belt, train, logistics system

  • transport belt

    • सिर्फ अलग-अलग transport belt के 3D model ही नहीं, बल्कि items के belt के साथ चलने वाले mechanism की भी ज़रूरत थी
    • transport belt को spline के रूप में दिखाया गया है
    • जब FUE5 exporter बेस को export करता है, तो जुड़े हुए transport belt के वे लगातार हिस्से जो tunnel पर खत्म होते हैं, अपने आप खत्म होते हैं, या loop बनाते हैं, उन्हें अलग-अलग system के रूप में संभाला जाता है
    • FUE5 हर section के लिए spline बनाता है, और items असली गेम की तरह उसी path पर चलते हैं
  • train

    • train schedule, signal, और locomotive pathfinding को सीधे दोहराना कठिन था, इसलिए Factorio के मूल pathfinding system का उपयोग किया गया
    • FUE5 में train generate होकर चल सके, इसके लिए बेस export करने से पहले destination सेट करना और green signal देना ज़रूरी है
    • इसके बाद Factorio द्वारा पहले से गणना किया गया train route पढ़कर spline बनाई जाती है, और FUE5 के भीतर train movement नियंत्रित की जाती है
  • logistics robot

    • construction robot शामिल नहीं किए गए, और building generation UE5 के मूल Construction Script system से संभाला गया
    • इसके बजाय, आधे विकसित Factorio बेस का महत्वपूर्ण visual element माने जाने वाले logistics robot के implementation पर ध्यान दिया गया
    • हर roboport एक निश्चित संभावना के आधार पर logistics robot cluster को random तरीके से बनाता है
    • हर robot आसपास के logistics chest को खोजकर उनके बीच उड़ता है और resource transport को विज़ुअली पुनर्निर्मित करता है
    • transport काम खत्म होने पर वह सबसे नज़दीकी roboport की ओर जाता है और फिर गायब हो जाता है

प्रदर्शन समस्याएँ और optimization

  • बड़े बेस को FUE5 में import करने पर FPS काफी गिर गया और blueprint event के नतीजे अस्थिर हो गए
  • 30~60 FPS पर चलाने के लिए इन तत्वों को कम करने वाली optimization ज़रूरी थी
    • polygon count
    • texture resolution
    • particle
    • on-tick update की संख्या
  • शुरुआत में बहुत सा stutter transport belt system से आता था, और इसी हिस्से को हल्का करके performance सुधारी गई
  • structures के animated parts में LOD समायोजित करके अतिरिक्त FPS हासिल किया गया
    • उदाहरण: centrifuge का घूमने वाला cylinder
    • उदाहरण: assembling machine की छत के gear और piston
  • Factorio डेवलपर Wube Software की मंज़ूरी भी ज़रूरी थी, और सिर्फ non-commercial उपयोग की शर्त पर प्रोजेक्ट को सार्वजनिक करने की अनुमति मिली

ट्रेलर और विज़ुअल प्रस्तुति

  • निर्माण के पहले दो महीनों में बुनियादी idea और ज़्यादातर prototyping व्यवस्थित हो जाने के बाद, कई Factorio एसेट और system को दोहराना आसान हो गया
  • इसके बाद ध्यान कुल visual quality और main release trailer बनाने पर चला गया
  • trailer, FUE5 exporter से बने बड़े पैमाने के बेस और FUE5 environment में संभव कई तत्वों को दिखाता है
  • सिर्फ Factorio गेम के भीतर के बेस को export करने से साफ़ और cinematic नतीजा नहीं मिलता था, इसलिए camera के हिसाब से कई हिस्सों को हाथ से समायोजित किया गया
  • बहुत ऊँचे SPM के लिए एकल building को लंबा बिछाने वाली संरचना की तुलना में, उलझी हुई spaghetti base विज़ुअली ज़्यादा दिलचस्प लगी

उपयोग शर्तें और सार्वजनिक रिलीज़ योजना

  • FUE5 कोई गेम नहीं है, और इसमें user interface भी नहीं है, इसलिए इसे इस्तेमाल करने के लिए बुनियादी UE5 knowledge चाहिए
  • उपयोग विधि GitHub page पर दी गई है
  • मूल प्रक्रिया UE5 install और project run करने के बाद export करने वाले base chunk को चुनकर FUE5 में export करने की है
  • विस्तृत प्रक्रिया how-to guide में देखी जा सकती है
  • प्रोजेक्ट को GitHub के ज़रिए open source के रूप में साझा किया गया है, ताकि Factorio community परिचित दुनिया को एक नए आयाम में अनुभव कर सके और नए परिणाम बना सके
  • मौजूदा system को अधिक उपयोगी और बड़े बेस पर बेहतर चलने लायक बनाने का काम जारी है, और आगे mod content जोड़ने पर भी विचार हो रहा है

1 टिप्पणियां

 
GN⁺ 2023-07-03
Hacker News टिप्पणियाँ
  • यहाँ थोड़ी देर के लिए दिखाया गया और render किया गया Space Exploration एक जबरदस्त Factorio mod है, और यह उन सबसे गहरे games में से एक था जो मैंने खेले हैं
    Factorio में rocket launch करते ही जीत मिल जाती है, लेकिन Space Exploration वहाँ से आगे चलता है। आप solar system के कई planets पर bases बनाते हैं, हर planet के unique resources का इस्तेमाल करके solar system को develop करते हैं, फिर interstellar space और दूसरे solar systems तक expand करते हैं
    बीच में एक “एक-चौथाई बिंदु” victory screen है, लेकिन एक और victory screen भी है जिसमें पूरे ज्ञात universe में फैले रहस्य की खोज करनी होती है और काफ़ी गणित की समझ भी चाहिए। यह सैकड़ों घंटों का playthrough है और बहुत polished भी है
    इसने game को इस तरह बदल दिया है कि stars और solar system maps का इस्तेमाल करके planets के बीच spaceship से आ-जा सकें, और कुल मिलाकर यह बहुत अच्छी तरह काम करता है। बस biters को काफ़ी कम करना बेहतर है। यह mod patience माँगता है, लेकिन combat intensity उस flow के साथ अच्छी तरह fit नहीं बैठती, और mod खुद भी शुरुआत में popup के ज़रिए biters कम करने को कहता है
    • Space Exploration की सिफारिश मैं तभी करूँगा जब आपने base game को कुछ बार खत्म कर लिया हो और अभी भी और खेलना चाहें। महसूस तो ऐसा होता है कि base पर ज़रूरी parts की संख्या कम हो जाती है, लेकिन उसकी जगह complexity बहुत ज़्यादा बढ़ जाती है
      अगले stage तक पहुँचने के लिए जिन factories और production lines को बनाना पड़ता है उनकी संख्या लगातार बढ़ती जाती है। शायद लगभग 100 घंटे खेलने के बाद ही मैं उस बिंदु तक पहुँचा था जहाँ अगले science stage के लिए ज़रूरी दो product lines को दूसरे planet से import करना था
      एक अतिरिक्त tip के तौर पर मैं science cost बढ़ाने की सलाह दूँगा। अगले expansion stage तक पहुँचने में कई घंटे लगते हैं, इसलिए अक्सर research करने की चीज़ें पहले ही खत्म हो जाती हैं, और तब factory सच में करने को कुछ न होने की वजह से रुकी हुई लगती है
    • व्यक्तिगत रूप से, मुझे biters को पूरी तरह बंद कर देना ज़्यादा अच्छा लगता है। दूसरे planets पर वे फिर भी रहते हैं, लेकिन homeworld पर महसूस होने वाली बेचैनी खत्म हो जाती है
    • मैं अभी Space Exploration खेल रहा हूँ और यह सच में भव्य है। लेकिन Dosh Doshington, जिसे मैं Factorio के दुनिया के सबसे बेहतरीन खिलाड़ियों में मानता हूँ, उसे भी मदद लेते हुए SE पूरा करने में 300 घंटे लगे थे
      SE शानदार है, लेकिन यह बहुत बड़ा time sink है। मैंने Factorio में 3500 घंटे से ज़्यादा लगाए हैं, लगता है कुछ गड़बड़ है
      फिर भी, Factorio को 3D में देखना सच में बहुत शानदार और प्रभावशाली था
    • अगर “interplanetary Factorio” आपकी पसंद है, तो Dyson Sphere Program पर भी विचार किया जा सकता है: https://store.steampowered.com/app/1366540/Dyson_Sphere_Prog...
    • यहाँ ज़िक्र करने लायक एक और modpack pyanodons है। यह Space Exploration की तरह rocket launch के बाद game को बहुत बड़ा बनाता है, लेकिन उससे पहले भी content जोड़ता है। असल में rocket launch खुद काफ़ी कम महत्वपूर्ण हो जाता है, और शुरुआत में यह एक optional blue science technology के ज़्यादा करीब लगता है
      pyanodons बहुत realistic ore processing chains, petrochemical processes, power generation mechanics, electronics components का overhaul, और plants व animals समेत agriculture elements जोड़ता है। इसके मुख्य developer pyanodon का day job chemical engineer का है
      पूरा py playthrough आसानी से 1500 घंटे पार कर जाता है। vanilla players में से ज़्यादातर के लिए यह विशेष रूप से मज़ेदार न हो, लेकिन अगर आपको Space Exploration या Nullius जैसे mods पसंद आए हों, तो इसमें मज़ा मिल सकता है
      [0]: https://mods.factorio.com/user/pyanodon
  • एक game developer के रूप में, Factorio का original source code उन चीज़ों में से है जिन्हें मैं सच में देखना चाहूँगा
    और जिन लोगों के मन में पहले “यह legal कैसे है?” आया, उनके लिए उद्धरण है: “जब इस काम की legality के बारे में पूछा गया, तो Factorio पक्ष ने काफ़ी समझदारी दिखाई और project को इस शर्त पर public करने की अनुमति दी कि इसका commercial purpose के लिए इस्तेमाल न हो”
    • Factorio टीम आम तौर पर ऐसी चीज़ों को लेकर काफ़ी relaxed लगती है, और शायद इसी वजह से उन्होंने game को शुरू से इतना mod-friendly बनाया। मुझे याद है कि उन्होंने legal action बस तब लिया था जब stolen keys की resale जैसी चीज़ों से निपटना था। उनके यहाँ यह समझ मौजूद है कि अगर community कुछ cool बनाती है, तो वह Factorio के लिए भी अच्छा है
      original source code देख चुके व्यक्ति के तौर पर कहूँ तो, code काफ़ी ठीक-ठाक है, लेकिन कोई चमत्कारिक चीज़ नहीं। यह multiple inheritance इस्तेमाल करने वाला C++ है, game objects कई layers में एक-दूसरे पर methods call करते हैं, और ऐसा code भी काफ़ी है जो “शायद यह सबसे अच्छा नहीं, लेकिन काम करता है और अभी इसे नहीं बदलेंगे” जैसी भावना देता है
      इस सबको सही चलाते रखने वाली चीज़ है व्यापक automated testing, और ऐसी culture जिसमें अगर आप कम optimized code के साथ PR भेज दें तो Rseding उसे तुरंत ठीक कर देता है। दिलचस्प हिस्सा algorithms हैं, और वे Friday Facts में कवर किए जाते हैं
    • GitHub पर Factorio source code का कुछ हिस्सा मौजूद है — https://gist.github.com/Rseding91
      और https://old.reddit.com/r/factorio/comments/13bsf3s/technical... भी पढ़ने में काफ़ी दिलचस्प है। वहाँ doubly linked lists और multiple inheritance जैसी बातों का ज़िक्र आता है
    • Factorio का एक शानदार development blog है। यह code नहीं दिखाता, लेकिन जिन चुनौतियों को उन्हें हल करना पड़ा, उन पर काफ़ी गहराई से बात करता है
      https://www.factorio.com/blog/
    • भोलेपन में मेरे मन में तो उल्टा सवाल आया था। यह illegal क्यों होना चाहिए? और यह ज़रूरी क्यों है कि यह सिर्फ प्रेम से किया गया श्रम ही हो? ऐसा लगता है कि Factorio की intellectual property का इस्तेमाल visual inspiration और file format parsing तक सीमित है, और कानूनी मायने में भी यह साफ़ तौर पर transformative use दिखता है
  • “अगर coding नहीं आती, तो बस nodes को जोड़ते जाओ, और जब काम न करे तो और जोड़ते जाओ, फिर यह धीरे-धीरे और उलझता जाता है। हाल में जो factory game खेल रहा था, उससे यह संदिग्ध रूप से मिलता-जुलता है” — इस हिस्से पर मैं ज़ोर से हँस पड़ा
    • मुझे भी वह हिस्सा पसंद आया। खासकर इसलिए कि coding आना भी अंत में ठीक वही काम करने से नहीं रोकता। बस कुछ चीज़ें थोड़ी कम verbose हो जाती हैं, और कभी-कभी अब भी spaghetti बहुत होती है
    • वह तो कुछ भी नहीं। LabVIEW का color scheme भी काफ़ी मिलता-जुलता है!
      https://physics.highpoint.edu/~bbarlow/courses/phy2100/docum...

नारंगी, और ‘GUI’ व्यू में ग्रे टाइलें भी दिखती हैं

  • मैंने Factorio को 4 बार इंस्टॉल किया और 3 बार हटा दिया
    शुरुआत की धीमी रफ्तार और कुछ फीके से 2D isometric graphics मुझे जमे नहीं। लेकिन ब्लॉग पोस्ट दिलचस्प थीं और लोग इसकी लगातार बहुत तारीफ़ कर रहे थे, इसलिए चौथी बार इंस्टॉल करने पर मैंने टिके रहकर इसे सच में थोड़ा आगे तक खेलने का फैसला किया
    अब मैं इसे अब तक के सबसे बेहतरीन गेम्स में से एक मानता हूँ। तकनीकी तौर पर यह अविश्वसनीय रूप से प्रभावशाली है, और ट्रेन, बेल्ट, रोबोट, inserter वगैरह से भरे बेहद विशाल बेस भी 60FPS पर चला सकता है। क्रैश भी नहीं होता, बेहद मज़ेदार है और बहुत लत लगाने वाला भी। इसके mods भी शानदार हैं और community भी अच्छी है
    expansion pack का सच में इंतज़ार है। लगता है यह मान लेना ठीक होगा कि वह शुरू से ही Factorio जितना polished होगा
    • ज़िंदगी बर्बाद करने वाले खतरे से परिचय कराने के लिए पहले ही माफ़ी, लेकिन मैं Captain of Industry की ज़ोरदार सिफारिश करता हूँ
      इसकी शुरुआत ज़्यादा तेज़ है, यह वास्तविक दुनिया की processes से जुड़ा है, इसमें terrain modification भी है, और मेरी नज़र में हर मायने में Factorio से बेहतर है। मुझे लगता है Factorio ने इस genre को परिभाषित किया, और Satisfactory व Dyson Sphere Program लगभग इसे पार कर ही चुके थे, लेकिन 3D होने की वजह से puzzles ज़्यादा आसानी से सुलझ जाते हैं
      Captain of Industry में dimensions ज़्यादा हैं, फिर भी यह Factorio जितने कठिन puzzles बनाता है, और इसमें manage करने के लिए resources भी कहीं ज़्यादा हैं
    • अगर आपको शानदार graphics वाला Factorio चाहिए, तो Satisfactory खेलिए
    • Satisfactory पर भी विचार किया जा सकता है
  • सटीक रूप से कहें तो यह Factorio client जैसी चीज़ नहीं, बल्कि एक visualization tool है। फिर भी यह वाकई बहुत शानदार है
    • जैसा कि पोस्ट में कहा गया है, यह देखना बेहद दिलचस्प होगा कि community के Factorio creators इसे आधार बनाकर क्या-क्या hack करके बना डालते हैं
      लगता है किसी तरह का UE5-स्टाइल Factorio-जैसा combat system निकल सकता है
      ज़रा ऐसा गेम सोचिए जिसमें आपको factory चलानी और उसकी maintenance करनी हो। उसी समय PvP first-person shooter players फैक्टरी के भीतर दौड़ते-भागते लड़ रहे हों और लगातार supply lines बिगाड़ रहे हों, और आपको उन्हें ठीक करना पड़े। आप factory maintenance team में हो सकते हैं, या PvP player बनकर दुश्मनों को साफ़ करते हुए साथ-साथ विरोधी टीम की factory supply lines भी तबाह कर सकते हैं
  • इससे Dwarf Fortress में देखी गई 3D visualization याद आती है। कुछ चीज़ें “ड्रॉ” करके बनाई गई थीं, और कुछ ने real-time updates की कोशिश की थी
  • वाह, सिर्फ 5 महीनों में इतने सारे 3D models बना देना कमाल की प्रतिभा है। सोचने पर मजबूर करता है कि आजकल 3D modeling tools सच में कितने अच्छे हो गए हैं
    • मैंने पहले desk decoration के लिए 3D print करने हेतु Factorio की कुछ मशीनों को model किया था, और हर एक में लगभग 6 घंटे लगे थे। इसलिए कुछ महीनों में यह सब पूरा कर लेना पूरी तरह संभव लगता है
      हाँ, 3D printing वाले models में सही UV mapping या texturing की ज़रूरत नहीं होती, इसलिए मेरा काम काफ़ी आसान था
    • “Remodeling process वाकई बहुत मज़ेदार था, लेकिन अगली बार अपनी बची-खुची मानसिक सेहत बचाने के लिए original Factorio models माँग लेना बेहतर होगा”
      कुछ tools सच में काफ़ी बेहतर हो गए हैं। उदाहरण के लिए, texturing के लिए Substance 3D खास तौर पर तब बहुत मददगार होता है जब auto-UV ठीक-ठाक नतीजे दे दे। लेकिन मूल 3D modeling tools अपने आधार में पहले की तुलना में इतने अलग भी नहीं हैं
      screenshots में दिख रहे models की topology भी काफ़ी dense लगती है, इसलिए लगता है काम की मात्रा काफी रही होगी
  • या फिर नए Unreal 5 Experimental branch वाला Satisfactory खेल लीजिए
  • सच कहूँ तो मैंने पोस्ट पढ़ी ही नहीं। लेकिन अगर आप जानना चाहते हैं कि programming को गेम बना दिया जाए तो वह कैसा लगेगा, तो Factorio खेलिए। इसमें refactoring, low coupling, debugging सब कुछ है
    मैं इसे 3 हफ्तों तक पागलों की तरह खेलता रहा और फिर खुद को जबरन रोकना पड़ा। सच में बेजोड़ गेम
  • अगर आप सच में 3D वाला Factorio-जैसा गेम खेलना चाहते हैं, तो मैं Satisfactory की सिफारिश करूँगा
    • Satisfactory भी ऐसा है कि खेलते-खेलते कई दिन कब निकल जाएँ पता नहीं चलता। Factorio की तरह यह भी बेहद मज़ेदार गेम है
    • या फिर Dyson Sphere Program भी है