मेरे भगवान, यह सितारों से भरा है!
आर्थर सी। क्लार्कबचपन में हममें से कितने लोगों ने "ब्रह्मांड के विस्तार को हल करने" का सपना नहीं देखा था, कैप्टन पिकार्ड की तरह, दूर के दुनिया के अपरिवर्तित ग्रहों के चारों ओर टहलते हुए, डबल या ट्रिपल सितारों के डॉवन्स को पूरा करते हुए, गैस दिग्गजों के वायुमंडल में डुबकी लगाते हुए, जहाजों को ब्लैक होल में गिरा दिया? और मैं कोई अपवाद नहीं हूं। बेशक, आंशिक रूप से यह सपना किताबों, फिल्मों और "एलीट" खेलों द्वारा सन्निहित था। लेकिन प्रथम विश्व युद्ध के समय में हवाई जहाज की गति से "लिक्विड" स्थान में बैन खरीदने और बेचने और "पी-पीयू" द्वारा उनमें सभी रोमांस को नष्ट कर दिया गया था। और उन कुछ आभासी दुनिया में वास्तविक ब्रह्मांड की स्वतंत्रता, विस्तार और पैमाने का अभाव था।
सहस्राब्दी की शुरुआत में, मैं मोजोवर्ल्ड से मिला और इसकी क्षमताओं से हैरान था। अंत में, अन्य ग्रहों के चारों ओर घूमना और स्थानीय आकर्षण की तस्वीरें खींचना संभव था। वह पहला संकेत बन गया जिसने आशा व्यक्त की कि पूर्ण विकसित लौकिक दुनिया तकनीकी रूप से संभव है। लेकिन, दुर्भाग्य से, एक दशक पहले लोहे का प्रदर्शन वास्तविक समय में सभी सुंदरियों को प्रसारित करने के लिए पर्याप्त नहीं था। और ग्रह सिर्फ मृत परिदृश्य बने रहे।
लेकिन अब, एक साल पहले, मैंने गलती से अंतरिक्ष इंजन ब्रह्मांड पर ठोकर खाई थी, और इसने मेरे दिमाग को उड़ा दिया और इसे अपने पैमाने और अविश्वसनीय विस्तार के साथ फर्श पर धकेल दिया।
यह सब क्या दिखता है?
आपकी आंख को पकड़ने वाली पहली चीज हमारे ब्रह्मांड के वास्तविक आयाम हैं। उनमें से प्रत्येक में सैकड़ों अरबों आकाशगंगाएँ और करोड़ों तारे क्या हैं? - एक खगोल विज्ञान की पाठ्यपुस्तक में सिर्फ सूखी संख्या। लेकिन यहां, यह सब किसी की त्वचा में महसूस होता है। और आप समझने लगते हैं कि ब्रह्माण्ड की भयावहता और अतुलनीयता की तुलना में हमारी मानवता कितनी क्षुद्र समस्याओं और माउस युद्धों से ग्रस्त है। नहीं, हम रेत के दाने नहीं हैं, और धूल के छींटे भी नहीं हैं, हम कुछ भी नहीं हैं। और कोई यह भी ध्यान नहीं देगा कि अगर हमारा सूर्य कल अचानक निकल जाता है और एक और सभ्यता किसी भी विरासत को पीछे छोड़े बिना गुमनामी में डूब जाएगी।
इसके अलावा, आंदोलन की पूर्ण स्वतंत्रता आश्चर्यजनक है। आप ग्रहों, कक्षा, तारों और आकाशगंगाओं की सतह के बीच सहज बदलाव के साथ कहीं भी उड़ान भर सकते हैं।

हां, यह एक स्क्रीनसेवर नहीं है "ब्रह्मांड के पार", यहां आप हर गुजरते सितारे की यात्रा कर सकते हैं, अपने ग्रहों, उनके उपग्रहों और क्षुद्रग्रहों के आसपास घूम सकते हैं।
बेशक, अंतरिक्ष इंजन में, किसी भी अन्य स्वाभिमानी तारामंडल की तरह (उदाहरण के लिए, हाल ही में वर्णित सेलेस्टिया), लौकिक निकायों की कक्षाओं का प्रदर्शन और उन पर विस्तृत जानकारी, और समय प्रबंधन, और विभिन्न ग्रहण (ग्रहों के छल्ले सहित) शामिल हैं, और तारामंडल प्रोजेक्टर के लिए एक fisheye प्रक्षेपण में प्रस्तुत करने की क्षमता। लेकिन, सबसे महत्वपूर्ण बात यह है कि यह HIPPARCOS सितारों और NGC / IC आकाशगंगाओं (जो भी मौजूद है) के कैटलॉग तक ही सीमित नहीं है, बल्कि सभी प्रकार की वस्तुओं के साथ संपूर्ण अवलोकन ब्रह्मांड को उत्पन्न करता है जिसे आप इसमें पा सकते हैं। लेकिन एक ही समय में यह पूरी तरह से वैज्ञानिक डेटा और प्रासंगिक सिद्धांतों और मॉडलों पर आधारित है, जो अंतरिक्ष इंजन को खगोल विज्ञान पर एक पूर्ण (और insanely सुंदर) मैनुअल के रूप में उपयोग करने की अनुमति देता है।
यहाँ आप अपनी आँखों से ब्रह्मांडीय पीएसी-मैन को देख सकते हैं। हालांकि वास्तव में, यह एक सुपर सुपर की पृष्ठभूमि के खिलाफ गुरुत्वाकर्षण लेंस के साथ एक ब्लैक होल है:

एक डबल स्टार के उदय को पूरा करें (आठ बार के सितारे भी हैं):

पड़ोसी का दौरा करें और आकाशगंगाओं, नेबुला, तारा समूहों का नहीं। पता करें कि लाल दिग्गज, न्यूट्रॉन तारे और अधिक क्या दिखते हैं। मैं ज्यादा कुछ नहीं बिगाड़ पाऊंगा, बस कुछ तस्वीरें छोड़ दूंगा।





वैसे, आपको क्या लगता है कि एक ग्रह जैसा दिखेगा जो हमेशा अपने एक पक्ष का सामना कर रहा है? ज्वार-समकालिक (यह कहा जाता है) रेगिस्तान से मिलते हैं। एक ओर, रात और परमाफ्रॉस्ट, दूसरी ओर, एक तारे से घिरी सतह और एक विशाल सुपर-चक्रवात जो कभी नहीं रुकता।

सेलेस्टिया में, आप सौर प्रणाली के ग्रहों और उनके कुछ उपग्रहों के बनावट के लिए स्पेस इंजन के आधिकारिक परिवर्धन डाउनलोड कर सकते हैं। इसलिए, उदाहरण के लिए, मूल पैकेज "वजन" 500 एमबी है, और सभी ऐड-ऑन का कुल आकार लगभग 10 जीबी है।
और क्या याद आ रही है?
दुर्भाग्य से, बहुत अधिक। अंतरिक्ष सब कुछ है कि अंतरिक्ष इंजन में पहले से ही लागू किया गया है की तुलना में बहुत अधिक विविध और आश्चर्यजनक है, लेकिन प्रत्येक संस्करण के साथ लेखक ध्यान से वास्तविक के एक हिस्से को अपने ब्रह्मांड में स्थानांतरित करता है। उदाहरण के लिए, एक ब्लैक होल और एक नीली विशाल के साथ तस्वीर में, पूरी खुशी के लिए, पर्याप्त अभिवृद्धि डिस्क और जेट नहीं हैं, जो अभी भी योजनाओं में हैं। धूमकेतु, क्वासर, ग्रहों की रिंगों में व्यक्तिगत पत्थरों और दर्जनों अन्य विवरणों के लिए भी योजनाएं हैं जो ब्रह्मांड को और अधिक पूर्ण, सटीक और सुंदर बना देंगे। इसलिए अभी बहुत काम है।
और क्या किया जा सकता है?
फिलहाल, यह कार्यक्रम एक अंतरिक्ष यान सिम्युलेटर की शुरुआत के साथ एक नि: शुल्क संवादात्मक तारामंडल है (यानी, आप ग्रहों की सतहों के ऊपर एक शटल उड़ा सकते हैं और जहाजों को अब ब्लैक होल में छोड़ सकते हैं)।

भविष्य में, एक ही इंजन के आधार पर, अंतरिक्ष अन्वेषण, कलाकृतियों की खोज, निर्माण और ग्रहों, क्षुद्रग्रहों या गैस दिग्गजों की कक्षाओं पर विकास के साथ एक MMO गेम विकसित करने की योजना बनाई गई है। कोई टेलीपोर्टेशन नहीं, "लिक्विड" स्पेस और हॉलीवुड "पीयू-पीयू"। हाँ, और इतने विशाल ब्रह्मांड में क्या साझा करें?
ग्रहों और तारों के बीच उड़ान भरने के लिए, आपको कम से कम खगोल विज्ञान की मूल बातें, खगोलीय पिंडों के निशान, पहली, दूसरी, तीसरी ब्रह्मांडीय वेग, विशिष्ट वेग, विशिष्ट आवेग और वास्तविक अंतरिक्ष यात्रा की अन्य विशेषताओं के बारे में याद रखना होगा। आपको ईंधन की खपत और प्रतिक्रियाशील द्रव्यमान की निगरानी भी करनी होगी (हां, ये संभावित रूप से अलग चीजें हैं), इसलिए रहने की क्षमता के बिना बाहरी अंतरिक्ष में "अचानक" बने रहने के लिए नहीं। एक जहाज डिजाइनर की भी योजना बनाई गई है, जैसा कि मुख्य गतिशील विशेषताओं की गणना के साथ-साथ संरचना की ताकत और स्थायित्व के साथ, कार्बल स्पेस प्रोग्राम में भी है। केवल "शानदार" धारणा हाइपर ड्राइव है, जो सुपरलाइट फ्लाइट प्रदान करती है। इसके बिना, आईएमओ असंभव होगा।
यह सब कैसे संभव है?
स्पेस इंजन ब्रह्मांड लगभग एक व्यक्ति द्वारा बनाया गया है, सेंट पीटर्सबर्ग से हमारे हमवतन, व्लादिमीर
रोमानियुक (
स्पेसअंगाइनर )। वह शिक्षा और पेशे से एक खगोलशास्त्री है, इसलिए आप सभी नकली वस्तुओं और प्रक्रियाओं की वैज्ञानिक विश्वसनीयता के बारे में सुनिश्चित हो सकते हैं। उनके कार्यक्रम के आसपास का समुदाय आकाशगंगाओं, सितारों और एक्सोप्लैनेट्स के कैटलॉग को अद्यतन रखने में मदद करता है, क्योंकि वे लगभग हर दिन खोले जाते हैं। ब्रह्मांड को भरने के लिए प्रशंसक जहाजों, शटल और अन्य छोटी चीजों के मॉडल भी बनाते हैं।
निर्माता अपनी दुनिया के तकनीकी घटक से रहस्य नहीं बनाता है और मंच के सदस्यों के साथ अपने निष्कर्षों को साझा करता है। मैं कुछ प्रमुख बिंदुओं और समस्याओं को सूचीबद्ध करूंगा जिन्हें इंजन के कार्यान्वयन के लिए हल करना आवश्यक है।
निर्देशांक
समस्याओं में से एक ब्रह्मांड के भीतर वस्तुओं के निर्देशांक का प्रतिनिधित्व था। जो लोग फ्लोटिंग पॉइंट नंबरों के साथ मिलकर काम करते हैं, वे जानते हैं कि वे शून्य से दूरी के साथ सटीकता को कितनी जल्दी खो देते हैं। और ब्रह्मांड के किनारे पर कुछ किलोपर्सेक की सटीकता बिल्कुल भी नहीं है। इसलिए, निर्देशांक को संग्रहीत करने के लिए 64-बिट फिक्स्ड-पॉइंट संख्या और वस्तुओं के एक पदानुक्रमित प्रतिनिधित्व का उपयोग किया जाता है। यही है, आकाशगंगाओं के निर्देशांक बिल्कुल वर्णित हैं, तारे - आकाशगंगा के केंद्र के सापेक्ष, और ग्रह - तारे के सापेक्ष। बेशक, जब रेंडरिंग करते हैं, तो आपको सब कुछ फ्लोटिंग पॉइंट नंबरों में अनुवाद करना होता है, लेकिन कैमरे के सापेक्ष निर्देशांक में रूपांतरण की गणना पूरे नंबरों में की जाती है। और प्रतिपादन खुद परतों में होता है, क्योंकि जेड-बफर की कोई सटीकता ब्रह्मांड के आकार को ध्यान में रखने के लिए पर्याप्त नहीं है।
सितारे और आकाशगंगाएँ
दूसरी समस्या सितारों और आकाशगंगाओं की पीढ़ी है। आकाशगंगा में करोड़ों तारे हैं, जिसका अर्थ है कि उन सभी को प्रदर्शित करने के लिए, आपको डेटा के टेराबाइट्स को उत्पन्न और प्रस्तुत करना होगा। बेशक, यह वास्तविक समय के लिए उपयुक्त नहीं है। यह प्रतीत होता है, ठीक है, हम कैमरे के लिए दूरी को सीमित करेंगे और हम केवल थोड़ी मात्रा में तारों को उत्पन्न और प्रस्तुत करेंगे। लेकिन यहां दो और समस्याएं पैदा होती हैं। सबसे पहले, एल्गोरिथ्म को नियतात्मक होना चाहिए, अर्थात्, इस तथ्य के बावजूद कि सितारों को यादृच्छिक रूप से बनाया जाता है, उन्हें हमेशा एक ही स्थान पर दिखाई देना चाहिए। अन्यथा, यह अजीब होगा अगर हम तारे से दूर उड़ते हैं, और फिर इसके स्थान पर एक शून्य होगा। दूसरे, सितारों में अलग चमक होती है और विभिन्न दूरी पर दिखाई देते हैं। मंद भूरे रंग के बौने जल्दी से दृश्य से गायब हो जाते हैं, और चमकीले नीले दिग्गज आकाशगंगा के पार दिखाई देते हैं। दोनों समस्याओं को हल करने के लिए, एक ऑक्ट्री का उपयोग किया जाता है, जिनमें से नोड्स अंतर्निहित स्तर उत्पन्न करने के लिए बीज को स्टोर करते हैं, साथ ही साथ इस सेल में तारों की अधिकतम चमक भी। एक ही समय में, उज्जवल सितारों को पदानुक्रम के उच्च स्तर पर उत्पन्न किया जाता है, क्योंकि वे कम उज्ज्वल लोगों की तुलना में बहुत छोटे होते हैं। इस प्रकार, तारों की पीढ़ी पूरी तरह से नियतात्मक हो जाती है और केवल पेड़ की जड़ के बीज और आकाशगंगा में तारों के वितरण की बनावट पर निर्भर करती है। और यह आपको कैमरे से किसी भी दूरी पर एक निर्दिष्ट दृश्यमान चमक (जो दूरी और पूर्ण चमक पर निर्भर करता है) के साथ तारों को जल्दी से उत्पन्न करने की अनुमति देता है।
आकाशगंगाओं और नेबुला को प्रस्तुत करने की तकनीक वॉल्यूमेट्रिक बादलों के प्रतिपादन के समान है। यही है, यह स्प्राइट्स का एक सेट है, जो त्वरण के लिए, इंपॉस्टर या एक आकाश बॉक्स में परिवर्तित हो जाएगा, जहां हम हैं: यह अंदर या बाहर।
ग्रह
मॉडलिंग सिद्धांत MojoWorld के समान है। उनके विचारों को कई परियोजनाओं द्वारा उठाया गया था, जैसे कि ओउटर्रा और इन्फिनिटी। यह कैसे काम करता है? हम एक नियमित क्यूब लेते हैं, प्रत्येक चेहरे को कई खंडों में तोड़ते हैं, और फिर गोलाकार करते हैं, जैसे कि अंदर से फुलाते हुए। यह घन टोपोलॉजी के साथ एक गेंद को निकालता है। यह आपको अधिकतम दक्षता और न्यूनतम विरूपण के साथ वर्ग बनावट का उपयोग करने की अनुमति देता है।

लेकिन समान रूप से क्यूब को खंडों में तोड़ना पर्याप्त नहीं है। चूंकि ग्रह बड़ा है और सतह के ऊपर उड़ानों के लिए अधिकतम विस्तार के साथ इसे उत्पन्न करना संभव नहीं होगा (फिर से, डेटा के टेराबाइट्स की आवश्यकता होगी)। LOD बचाव के लिए आते हैं। उन्हें निम्नानुसार कार्यान्वित किया जाता है। क्यूब का प्रत्येक चेहरा क्वाड ट्री का मूल है। प्रत्येक ट्री नोड ग्रिड और बनावट के एक निश्चित संकल्प के साथ एक वर्ग है। यदि आवश्यक हो (जब कैमरा आ रहा है), तो नोड को चार में विभाजित किया जाता है, जिससे विस्तार दोगुना हो जाता है। और इसलिए जब तक आवश्यक विस्तार किसी दिए गए बिंदु पर नहीं पहुंच जाता है।

प्रत्येक ट्री नोड के लिए ऊंचाई का नक्शा और बनावट 3 जी संस्करण के पिक्सेल शेड का उपयोग करके पूरी तरह से GPU पर बनाई गई है (इसलिए, आप वीडियो कार्ड पर एसई को चलाने में सक्षम नहीं होंगे जो उनका समर्थन नहीं करते हैं)। MojoWorld के रचनाकारों की एक पुस्तक में पीढ़ी के एल्गोरिदम का खूबसूरती से वर्णन किया गया है - "
बनावट और मॉडलिंग: एक प्रक्रियात्मक दृष्टिकोण "। यही है, यह पेरलिन और वोरले की अधिकांश ध्वनियों से परिचित है, साथ ही साथ उनकी विविधताएं और भिन्नाभरण के विभिन्न तरीके भी हैं। एक अलग एल्गोरिथ्म ज्वार-समन्वित ग्रहों के लिए बड़े चक्रवात बनाता है।
लेकिन, विशुद्ध रूप से प्रक्रियात्मक परिदृश्य आमतौर पर बहुत कृत्रिम लगते हैं। तथ्य यह है कि एक वायुमंडल के साथ ग्रहों पर, वे महत्वपूर्ण क्षरण से गुजरते हैं, जो पहाड़ों और घाटियों की रूपरेखा में काफी बदलाव करता है। दुर्भाग्य से, क्लासिक पुनरावृत्ति कटाव एल्गोरिदम एलओडी के बीच पैमाने पर होने के लिए काफी कठिन हैं, और अभी तक लागू नहीं हुए हैं। लेकिन इस घटना का अनुकरण करने के लिए एक सरल (स्थिति) तरीका है।
लेख में विस्तार से वर्णित इन विशेष प्रकार के शोर हैं। संक्षेप में, न केवल पेरलिन शोर का उपयोग परिदृश्य को उत्पन्न करने के लिए किया जाता है, बल्कि इसके व्युत्पन्न भी है, जो आपको परिदृश्य के प्रत्येक बिंदु पर एक ढाल बनाने और लीचिंग का अनुकरण करने की अनुमति देता है, या, इसके विपरीत, इस ढाल के साथ बेस शोर के निर्देशांक को स्थानांतरित करके मिट्टी की आमद। यह दृष्टिकोण पहले से ही आपको बहुत अच्छे ग्रह बनाने की अनुमति देता है।

वायुमंडल का अनुकरण करने के लिए,
एरिक ब्रूनटन की विधि का उपयोग किया जाता है, जिसे विभिन्न दबावों और रचनाओं के साथ अन्य ग्रहों के लिए अनुकूलित किया गया था।
एक निष्कर्ष के बजाय
पहले से ही, अंतरिक्ष इंजन अंतरिक्ष की समृद्धि और सुंदरता के लिए अधिकांश तारामंडल और यथार्थवादी अंतरिक्ष सिमुलेटर (Celestia, Stellarium, Orbiter) के बेल्ट में फिसल रहा है। और यह केवल यात्रा की शुरुआत है। यदि
योजना बनाई गई है, तो कम से कम आधे का एहसास होता है, अंतरिक्ष इंजन हमारे ब्रह्मांड का सबसे पूरा मॉडल बन जाएगा, जो मानव जाति के सभी आधुनिक ज्ञान को खगोल विज्ञान के क्षेत्र से जोड़ देगा। और, इस तथ्य के बावजूद कि लेखक ने कोड को बंद करने की योजना बनाई है, हर कोई मौजूदा लोगों की सबसे बड़ी आभासी दुनिया बनाने में एक उल्लेखनीय योगदान दे सकता है।
पुनश्च: कार्यक्रम के लेखक
SpaceEngineer के लिए सभी धन्यवाद। मुझे लगता है कि वह इंजन पर कुछ सवालों के जवाब देने में सक्षम होगा, यदि कोई हो।
संदर्भ