इस प्रोजेक्ट के बारे में

पर्माफ्रॉस्ट इंजन C में लिखा गया एक OpenGL 3.3 रियल-टाइम स्ट्रैटेजी (RTS) गेम इंजन है। इसे आधुनिक विचारों को शामिल करते हुए क्लासिक RTS गेम्स की नकल करने के लिए डिज़ाइन किया गया है। यह इंजन EVERGLORY की नींव है, जो Steam पर उपलब्ध एक प्रमुख RTS गेम है, जिसमें एक मुफ्त डेमो शामिल है जो सीखने और संशोधन के लिए सभी गेमप्ले स्क्रिप्ट्स तक पहुंच प्रदान करता है। मुख्य विशेषताएं शामिल हैं: - OpenGL 3.3 प्रोग्रामेबल पाइपलाइन जिसमें आधुनिक एक्सटेंशन उपलब्ध हैं - टूल इंटरऑपरेबिलिटी के लिए कस्टम टेक्स्ट मॉडल प्रारूप और तेज़ रनटाइम लोडिंग के लिए बेक्ड बाइनरी प्रारूप - GPU स्किनिंग के साथ कंकाल एनीमेशन, बड़ी संख्या में एनिमेटेड इकाइयों के कुशल रेंडरिंग के लिए एनीमेशन पोज़ डेटा को टेक्सचर में बैच करना - सामग्री के साथ फोंग रिफ्लेक्शन मॉडल, दिशात्मक प्रकाश छाया मैपिंग, बंप/नॉर्मल/पैरालैक्स मैपिंग - टेरेन टेक्सचर स्प्लैटिंग, स्काईबॉक्स, दूरी-आधारित मेश LOD रेंडरिंग, डायनामिक बैचों के साथ बैच्ड रेंडरिंग, GPU को रिंगबफर-आधारित स्ट्रीमिंग - RTS और FPS कैमरे, कस्टम फ़ाइल प्रारूप के साथ टाइल-आधारित मानचित्र रेंडरिंग - प्रतिबिंब, अपवर्तन और नरम किनारे प्रभावों के साथ पानी रेंडरिंग - इमेज क्विल्टिंग का उपयोग करके प्रोग्रामेटिक टेक्सचर संश्लेषण, वांग टाइलिंग का उपयोग करके एपेरियोडिक टाइलिंग - स्क्रिप्टिंग के लिए Python 2.7 को उजागर इंजन आंतरिक, एम्बेडेड इंटरैक्टिव Python कंसोल, इवेंट सिस्टम, नुक्लियर-आधारित UI फ्रेमवर्क - कुशल रेकास्टिंग, मानचित्र/दृश्य संपादक, पॉज़/रीज़्यूम सिस्टम, विशाल मानचित्रों का तेज़ रेंडरिंग - मानचित्र नेविगेशन ग्राफ/ग्रिड जनरेशन, बॉयड्स स्टीयरिंग/फ्लॉकिंग, पदानुक्रमित प्रवाह क्षेत्र पाथफाइंडिंग, गतिशील बाधा हैंडलिंग - हाइब्रिड रेसिप्रोकल वेलोसिटी ऑब्स्टैकल्स और ClearPath एल्गोरिदम का उपयोग करके गतिशील टकराव से बचाव, गठन-आधारित इकाई आंदोलन, हंगेरियन एल्गोरिदम का उपयोग करके इष्टतम गठन पुनर्व्यवस्था - नेविगेशन परतों का उपयोग करके विभिन्न इकाई प्रकारों/आकारों के लिए पाथफाइंडिंग, भूमि/जल/वायु इकाइयां, समानांतर आंदोलन और पाथफाइंडिंग गणना - कंप्यूट शेडर्स के साथ GPU-आधारित भीड़ सिमुलेशन, SIMD-त्वरित बिटमैप ग्रिड स्थानिक अनुक्रमण, गतिशील स्थानिक क्षेत्रों के लिए इकाई सदस्यता की वास्तविक समय ट्रैकिंग - स्थितीय प्रभावों और कई वैश्विक प्रभाव चैनलों के साथ ऑडियो सिस्टम - RTS विशेषताएं: मिनिमैप, इकाई चयन, युद्ध, युद्ध-अंधकार, आधार-निर्माण, कार्यकर्ता/उत्पादन स्वचालन, संसाधन संग्रह/परिवहन, गैरीसन/परिवहन तंत्र, प्रोजेक्टाइल भौतिकी सिमुलेशन के साथ रेंज्ड युद्ध - विभिन्न रिज़ॉल्यूशन और पहलू अनुपात के लिए समर्थन, कॉन्फ़िगर करने योग्य ग्राफिक्स सेटिंग्स - संपूर्ण Python इंटरप्रेटर स्थिति का सीरियलाइज़ेशन/डिसीरियलाइज़ेशन, Python-परिभाषित स्थिति सहित किसी भी इंजन सत्र को सहेजना/पुनर्स्थापित करना - 2-चरण पाइपलाइन में मल्टीथ्रेडेड सिमुलेशन और रेंडरिंग, उन्नत डीबग विज़ुअलाइज़ेशन और प्रोफाइलिंग इंस्ट्रूमेंटेशन, हल्का मेमोरी अकाउंटिंग - यूजरस्पेस में शेड्यूल किए गए हल्के कार्यों के लिए फाइबर सिस्टम, सहकारी मल्टीटास्किंग के लिए फाइबर-समर्थित Python कार्य, पेज-स्तरीय कॉपी-ऑन-राइट सेमेंटिक्स का उपयोग करके शून्य-कॉपी फोर्किंग - क्रॉस-प्लेटफ़ॉर्म (Linux और Windows), त्रुटियों पर स्वचालित मिनिडंप और लॉग कैप्चर के लिए Windows लॉन्चर निर्भरताओं में SDL2, GLEW, Python 2.7, OpenAL Soft, mi-malloc, stb_image, khash और nuklear शामिल हैं। सभी को स्रोत से बनाया जा सकता है और गेम बाइनरी के साथ वितरित किया जा सकता है। Linux और Windows के लिए बिल्ड निर्देश प्रदान किए गए हैं (mingw-w64 या MSYS2 का उपयोग करके, Visual Studio 2022 समाधान भी उपलब्ध है)। इंजन GPLv3 के तहत एक विशेष लिंकिंग अपवाद के साथ लाइसेंस प्राप्त है, और वैकल्पिक लाइसेंसिंग मामले-दर-मामले आधार पर दी जा सकती है। विकास YouTube डेवलॉग्स की एक श्रृंखला के माध्यम से प्रलेखित है जिसमें Python इंटरप्रेटर को सहेजना, समूह पाथफाइंडिंग, युद्ध-अंधकार, प्रदर्शन अनुकूलन, फाइबर, आधार-निर्माण और अधिक जैसे विषय शामिल हैं। परियोजना में चर्चा के लिए एक सक्रिय Discord समुदाय है।