इस प्रोजेक्ट के बारे में
माइंडस्ट्री एक ओपन-सोर्स रियल-टाइम स्ट्रैटजी गेम है जो टावर डिफेंस को ऑटोमेशन के साथ मिलाता है: खिलाड़ी अपनी रक्षा को भोजित करने के लिए उत्पादन चैन को बनाते हैं और तार लगाते हैं, न कि केवल टर्रेट रखते हैं। यह जावा में लिखा गया है और GitHub पर खुले स्रोत में विकसित किया जा रहा है, जहाँ README इसे सरल रूप से "ऑटोमेशन टावर डिफेंस RTS" के रूप में वर्णित करता है।
प्लेटफॉर्म और वितरण
प्रोजेक्ट डेस्कटॉप क्लाइंट, एंड्रॉइड क्लाइंट और एक अलग सर्वर बिल्ड में कंपाइल होता है। प्रीबिल्ट रिलीज़ GitHub पर प्रकाशित किए जाते हैं, और README इच्छा.आईओ, गूगल प्ले, एफ-ड्रॉइड और फ्लैटहब पर डाउनलोड के लिए लिंक भी देता है। प्रत्येक कमिट के लिए अलग बिल्ड रिपॉजिटरी में ऑटोमेटिक ब्लीडिंग-एज बिल्ड उत्पन्न किए जाते हैं, ताकि टेस्टर बिना कंपाइल के विकास का पालन कर सकें।
सोर्स से बिल्ड करना
योगदान के लिए JDK 17 की आवश्यकता होती है, जो README में स्पष्ट रूप से बताया गया है (अन्य JDK संस्करण काम नहीं करेंगे)। बिल्ड सिस्टम Gradle है जिसमें Windows और Linux/Mac के लिए वर्पर स्क्रिप्ट हैं। सामान्य कमांड `gradlew desktop:run` चलाने के लिए, `gradlew desktop:dist` डेस्कटॉप JAR के लिए, `gradlew server:dist` सर्वर रिलीज़ के लिए, और `gradlew tools:pack` स्प्राइट पैकिंग के लिए हैं। Android बिल्ड Android SDK कमांड-लाइन टूल्स के माध्यम से होते हैं, जिन्हें `ANDROID_HOME`, sdkmanager के माध्यम से लाइसेंस स्वीकृति और डिवाइस पर डेवलपर मोड की आवश्यकता होती है; `gradlew android:assembleDebug` एक असाइन्ड APK उत्पन्न करता है और `gradlew android:installDebug android:run` एक जुड़े हुए डिवाइस पर स्थापित और लॉन्च करता है। आउटपुट स्थान `desktop/build/libs/Mindustry.jar` और `server/build/libs/server-release.jar` के रूप में दस्तावेज़ीकृत हैं। README में एक सामान्य अनुमति-निषेध समाधान (`chmod +x ./gradlew`) और चेतावनी दी गई है कि पहली Gradle रन को निर्भरताओं को डाउनलोड करने में कुछ मिनट लग सकते हैं।
कोड जनरेशन और आर्किटेक्चर
प्रोजेक्ट का एक नोट बनाने वाला हिस्सा यह है कि `mindustry.gen` पैकेज बिल्ड समय पर उत्पन्न किया जाता है और रिपॉजिटरी में नहीं मौजूद है। README इसके स्रोतों को स्पष्ट करता है: `Call` और पैकेट क्लास `@Remote` एनोटेटेड मेथड से आते हैं; एंटिटी क्लास जैसे `Unit`, `EffectState` और `Posc` `mindustry.entities.comp` में कंपोनेंट क्लास से उत्पन्न किए जाते हैं और `mindustry.content.UnitTypes` में परिभाषाओं के माध्यम से संयोजित किए जाते हैं; और `Sounds`, `Musics`, `Tex` और `Icon` क्रमशः संबंधित एसेट फोल्डरों से उत्पन्न किए जाते हैं। इस उत्पन्न पैकेज को दस्तावेज़ीकृत रूप से हाथ से संपादित नहीं किया जाना चाहिए।
समुदाय और योगदान
प्रोजेक्ट एक योगदान गाइड बनाए रखता है जो कोड स्टाइल और पुल रिक्वेस्ट की अपेक्षाओं को शामिल करता है। नए योगदानकारी को अलग Mindustry-Suggestions रिपॉजिटरी में 'candidate' लेबल वाले मुद्दों की ओर इंगित किया जाता है, जहाँ फीचर रिक्वेस्ट और प्रतिक्रिया फाइल की जाती है। README से जुड़े अतिरिक्त संसाधन एक Trello बोर्ड, प्रोजेक्ट विकी और उत्पन्न Javadoc, साथ ही सक्रिय Discord समुदाय को शामिल करते हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.