- Duke Nukem: Zero Hour के Nintendo 64 ROM को पूरी तरह डीकॉम्पाइल करने वाले एक ओपन सोर्स परियोजना का परिचय
- इस रिपॉज़िटरी ने मूल गेम सॉफ़्टवेयर के सभी स्रोत कोड को पुनर्जीवित करने का कार्य 100% पूरा कर लिया है
- उपयोगकर्ता को गेम का अपना ROM होना चाहिए, और मूल US या फ्रेंच ROM के जरिए पूर्ण बिल्ड और टेस्टिंग संभव है
- पहले मौजूद डीकॉम्पाइलिंग परियोजनाओं की तुलना में, इसमें पूरी तरह से फंक्शनल संगतता और डिबगिंग टूल सपोर्ट के कारण तकनीकी बढ़त है
- यह परियोजना गेम इंजन रिसर्च, मॉडिंग, पोर्टिंग और इंजन विश्लेषण के लिए अत्यंत उपयोगी संसाधन है
परियोजना का महत्व और प्रतिस्पर्धी बढ़त
- Duke Nukem: Zero Hour एक प्रसिद्ध एक्शन गेम है जो केवल Nintendo 64 प्लेटफ़ॉर्म पर रिलीज़ हुआ था
- यह ओपन सोर्स परियोजना गेम की पूरी ROM को C, Python आदि में पूरी तरह डीकॉम्पाइल करके स्रोत कोड स्तर पर फिर से संरचित करती है
- अन्य N64 डीकॉम्पाइल परियोजनाओं से अलग, इसमें पूरी संगतता सुनिश्चित की गई है—सही ROM बिल्ड और रनटाइम एक्सीक्यूशन, स्रोत-कोड आधारित डिबगिंग और मल्टी-वर्ज़न सपोर्ट तक उपलब्ध है
- 1990 के दशक के कंसोल गेम डेवलपमेंट नॉलेज और गेम इंजन की संरचना को समझने के लिए यह असाधारण अध्ययन सामग्री है
- कई स्वचालित एनालिसिस/डीकॉम्पाइलिंग टूल (asm-differ, mips2c, splat, decomp-permuter आदि) परियोजना में इंटीग्रेट किए गए हैं, जिससे डेवेलपर्स की उत्पादकता अधिकतम होती है
मुख्य सुविधाएँ और संरचना
कुल संरचना
- परियोजना मल्टी-लैंग्वेज आधारित है, जिसमें C (95% से अधिक), Python, Roff, C++, Makefile और Shell के हिस्से अलग-अलग विभाजित हैं
- प्रमुख डायरेक्टरी:
- .github/workflows: CI और ऑटोमेशन सेटअप
- include, libs, src: गेम स्रोत, लाइब्रेरी और हेडर मैनेजमेंट
- tools: एनालिसिस, एक्सट्रैक्शन, ट्रांसफ़ॉर्मेशन टूल
- versions: US/FR आदि कई गेम वर्ज़नों का साथ-साथ सपोर्ट देने वाली संरचना
- लगभग 370 कमिट के साथ यह परियोजना सक्रिय रूप से मेंटेन की जा रही है
बिल्ड और उपयोग विधि का संक्षेप
- Ubuntu 20.04 बेस्ड वातावरण और Docker सपोर्ट
- ROM एक्सट्रैक्शन, बिट-स्तर तुलना, गैर-संगत (NON_MATCHING) मोड सपोर्ट
- फ्रेंच वर्ज़न और US वर्ज़न ROM दोनों का समर्थन, आवश्यकता के अनुसार विकल्प चुने जा सकते हैं
- Docker वातावरण और Mutagen Extension के साथ विभिन्न OS (WIN/Mac/Linux) संगतता प्रदान की गई है
डिबगिंग और डेवलपमेंट टूल
- gdb और mupen64plus आधारित स्रोत-कोड स्तर की डिबगिंग सपोर्ट (वर्तमान में Windows प्राथमिक)
- Visual Studio Code तथा Native Debug Extension के साथ इंटीग्रेशन सपोर्ट
- प्रमुख स्वचालित एनालिसिस टूल:
- asm-differ: असेंबली स्तर पर सोर्स/टार्गेट तुलना
- decomp-permuter: कोड रीऑर्गनाइज़ेशन और ऑटो स्कोरिंग
- mips2c: MIPS असेंबली को C में बदलना
- splat: ROM स्ट्रक्चर एनालिसिस टूल
उपयोग परिदृश्य
- गेम रिवर्स इंजीनियरिंग, पोर्टिंग, इंजन विश्लेषण और क्लासिक गेम सुधार परियोजनाओं में स्रोत का उपयोग
- ऐतिहासिक संरक्षण और शैक्षिक शोध के लिए भी यह परियोजना बेहद उपयुक्त है
- विभिन्न प्लेटफ़ॉर्म और वर्ज़न के लिए मेंटेनेंस व अपडेट्स सक्रियता से जारी हैं
निष्कर्ष
- यह ओपन सोर्स परियोजना 1990 के दशक के क्लासिक कंसोल गेम सॉफ़्टवेयर का पूर्ण स्रोत सार्वजनिक होने का दुर्लभ उदाहरण है
- गेम और कंसोल रिवर्स इंजीनियरिंग शोधकर्ता, नई पीढ़ी के डेवलपर्स, गेम पोर्टर्स और फैन गेम मेकर सभी के लिए यह कीमती संसाधन है
1 टिप्पणियां
Hacker News की राय