जेड-मशीन

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

इतिहास
Z-मशीन का Z, Infocom के पहले एडवेंचर गेम Zork के लिए है। Z-कोड फ़ाइलों में आमतौर पर .z1, .z2, .z3, .z4, .z5, .z6, .z7, या .z8 में समाप्त होने वाले नाम होते हैं, जहां संख्या Z-मशीन की संस्करण संख्या होती है जिस पर फ़ाइल चलाने का इरादा है, जैसा कि कहानी फ़ाइल के पहले बाइट द्वारा दिया गया है। हालाँकि, यह एक आधुनिक सम्मेलन है। Infocom ने स्वयं .dat (डेटा) और .zip (ZIP = Z-मशीन इंटरप्रेटर प्रोग्राम) के एक्सटेंशन का उपयोग किया, लेकिन बाद वाला ZIP फ़ाइल स्वरूप के लिए .zip के व्यापक उपयोग से टकरा गया। PKZIP-संगत संग्रह फ़ाइलें 1990 के दशक में शुरू हुईं एक्टिविज़न ने इन्फोकॉम को बंद कर दिया। इन्फोकॉम ने जेड-मशीन के छह संस्करण तैयार किए। संस्करण 1 और 2 का उपयोग करने वाली फ़ाइलें बहुत दुर्लभ हैं। केवल दो संस्करण 1 फ़ाइलों को इन्फोकॉम द्वारा जारी किया गया है और संस्करण 2 के केवल दो को जाना जाता है। संस्करण 3 में इन्फोकॉम के जारी किए गए अधिकांश गेम शामिल हैं। बाद के संस्करणों में अधिक क्षमताएं थीं, संस्करण 6 में कुछ ग्राफिक समर्थन में समापन हुआ।

संकलक (जिल्च कहा जाता है) जिसे इन्फोकॉम ने अपनी कहानी फ़ाइलों का उत्पादन करने के लिए इस्तेमाल किया था, कभी भी जारी नहीं किया गया है, हालांकि इस्तेमाल की जाने वाली कंप्यूटर भाषा का प्रलेखन (ZIL, एक लिस्प (प्रोग्रामिंग भाषा)-एमडीएल (प्रोग्रामिंग भाषा) के समान पारिवारिक भाषा) अभी भी मौजूद है, और एक ओपन-सोर्स प्रतिस्थापन ZILF लिखा गया है। 1989 में मेडियाजेनिक के इन्फोकॉम को कैलिफोर्निया ले जाने के बाद, कंप्यूटर गेमिंग वर्ल्ड ने कहा कि ZIL ... कार्यात्मक रूप से मर चुका है, और एक पूरी तरह से नए पार्सर की अफवाह की सूचना दी जिसका उपयोग कभी नहीं किया जा सकता है। मई 1993 में, ग्राहम नेल्सन ने अपने सूचित करना कंपाइलर का पहला संस्करण जारी किया, जो इसके आउटपुट के रूप में जेड-मशीन स्टोरी फाइल्स भी उत्पन्न करता है, भले ही इनफॉर्म सोर्स लैंग्वेज ZIL से काफी अलग है।

इंटरैक्टिव फिक्शन समुदाय में सूचना लोकप्रिय हो गई है। इंटरएक्टिव फिक्शन का एक बड़ा हिस्सा जेड-मशीन स्टोरी फाइलों के रूप में है। बड़ी गेम फ़ाइलों को बनाने की क्षमता की मांग ने नेल्सन को जेड-मशीन के संस्करण 7 और 8 को निर्दिष्ट करने के लिए प्रेरित किया, हालांकि संस्करण 7 का उपयोग शायद ही कभी किया जाता है। जिस तरह से पतों को संभाला जाता है, उसके कारण संस्करण 3 कहानी फ़ाइल लंबाई में 128K तक हो सकती है, संस्करण 5 कहानी लंबाई में 256K तक हो सकती है, और संस्करण 8 कहानी लंबाई में 512k तक हो सकती है। हालांकि ये आकार आज के कंप्यूटिंग मानकों से छोटे लग सकते हैं, केवल-पाठ रोमांच के लिए, ये विस्तृत खेलों के लिए काफी बड़े हैं।

1990 के दशक के दौरान, ग्राहम नेल्सन ने मौजूदा इन्फोकॉम फाइलों के विस्तृत अध्ययन के आधार पर एक जेड-मशीन मानक तैयार किया। मानक में उनके नए संस्करणों द्वारा उपयोग किए जाने वाले एक्सटेंशन भी शामिल हैं, साथ ही साथ इन्फोकॉम द्वारा उपयोग किए जाने वाले ब्लॉर्ब संसाधन प्रारूप के लिंक और क्वेटज़ल फ़ाइल स्वरूप सेवफाइल प्रारूप भी शामिल है। 2006 में, नेल्सन ने Inform 7 के लिए Z-मशीन को 32-बिट Glulx प्रारूप में विस्तारित किया। 2016 में स्थापित इंटरएक्टिव फिक्शन टेक्नोलॉजी फाउंडेशन, इन सभी मानकों का प्रबंधन करता है।

ZIL (Zork इम्प्लीमेंटेशन लैंग्वेज)
ZIL MIT से MDL (प्रोग्रामिंग लैंग्वेज) पर आधारित है। यहाँ Zork I के पीतल के लालटेन की परिभाषा कुछ इस तरह दिखती है:

<वाक्यविन्यास प्रकाश लैंग = क्लोजर> <वस्तु लालटेन (एलओसी लिविंग-रूम) (पर्यायवाची दीपक लालटेन प्रकाश) (विशेषण पीतल) (डीईएससी पीतल लालटेन) (फ्लैग्स टेकबिट लाइटबिट) (कार्रवाई लालटेन-एफ) (FDESC बैटरी से चलने वाला लालटेन ट्रॉफी केस पर है।) (LDESC यहाँ एक पीतल का लालटेन (बैटरी से चलने वाला) है।) (साइज़ 15)> 

एंड्र्यू प्लॉटकिन द्वारा 2019 के ब्लॉग पोस्ट में इसके MDL Zork समकक्ष के साथ युद्ध से जुड़ा एक अधिक जटिल उदाहरण प्रस्तुत किया गया है। विशेष रूप से, जेड-मशीन के पास कचरा संग्रह (कंप्यूटर विज्ञान) के लिए कोई समर्थन नहीं है और ज़िल के पास लिस्प की सूची प्रणाली की कोई अवधारणा नहीं है।

दुभाषिया
जेड-कोड फाइलों के लिए दुभाषिया (कंप्यूटिंग) विभिन्न प्रकार के प्लेटफॉर्म पर उपलब्ध हैं। इनफॉर्म वेबसाइट 15 डेस्कटॉप ऑपरेटिंग सिस्टम के लिए स्वतंत्र रूप से उपलब्ध दुभाषियों के लिंक सूचीबद्ध करती है (1980 के दशक के 8-बिट माइक्रो कंप्यूटर जैसे कि Apple II श्रृंखला, TRS-80, और ZX Spectrum, और यूनिक्स और विंडोज को एक-एक के रूप में समूहित करना), 10 मोबाइल ऑपरेटिंग सिस्टम (पाम ओएस और खेल का लड़का सहित), और चार दुभाषिया प्लेटफॉर्म (Emacs, Java, JavaScript और Scratch)। नेल्सन के अनुसार, यह संभवतः अब तक निर्मित सबसे पोर्टेबल वर्चुअल मशीन है। लोकप्रिय दुभाषियों में निटफ़ोल और फ्रॉट्ज़ शामिल हैं। Nitfol Glk (सॉफ़्टवेयर) अप्लिकेशन प्रोग्रामिंग अंतरफलक का उपयोग करता है, और Z-मशीन के संस्करण 1 से 8 तक का समर्थन करता है, जिसमें संस्करण 6 ग्राफिकल Z-मशीन शामिल है। सेव फाइल्स को मानक Quetzal फाइल फॉर्मेट सेव फॉर्मेट में स्टोर किया जाता है। क्लासिक मैक ओएस, यूनिक्स जैसे सिस्टम, डॉस और माइक्रोसॉफ़्ट विंडोज़ सहित कई अलग-अलग ऑपरेटिंग सिस्टम के लिए निष्पादन योग्य फाइलें उपलब्ध हैं। Frotz को DOS के लिए 1995 में Stefan Jokisch द्वारा C (प्रोग्रामिंग लैंग्वेज) में लिखा गया था। समय के साथ इसे अन्य प्लेटफार्मों पर पोर्ट किया गया, जैसे कि यूनिक्स-जैसी प्रणालियाँ, जोखिम, और आईओएस। ध्वनि प्रभाव और ग्राफिक्स अलग-अलग डिग्री के लिए समर्थित थे। 2002 तक, विकास ठप हो गया और इस कार्यक्रम को डेविड ग्रिफिथ ने चुना। कोड बेस को वर्चुअल मशीन और प्रयोक्ता इंटरफ़ेस भागों के बीच इस तरह विभाजित किया गया था कि वर्चुअल मशीन किसी भी यूजर इंटरफेस से स्वतंत्र हो गई। इसने फ्रॉट्ज़ को पोर्ट करने में अधिक विविधता की अनुमति दी। अजनबी बंदरगाहों में से एक सबसे सरल में से एक है: एक तात्कालिक संदेशन इंटरनेट बॉट फ्रॉट्ज़ के एक संस्करण के चारों ओर लपेटा जाता है जिसमें न्यूनतम इनपुट/आउटपुट | आई/ओ कार्यक्षमता एक बॉट बनाती है जिसके साथ एक का उपयोग करके अधिकांश जेड-मशीन गेम खेल सकते हैं। त्वरित संदेश क्लाइंट। MacOS और अन्य यूनिक्स जैसी प्रणालियों के लिए एक अन्य लोकप्रिय ग्राहक ज़ूम है। यह एक ही Quetzal फाइल फॉर्मेट सेव-फॉर्मेट को सपोर्ट करता है, लेकिन फाइल-स्ट्रक्चर की पैकेजिंग अलग है।

यह भी देखें

 * Glulx - Z-मशीन के समान, लेकिन कई पुरानी सीमाओं से छुटकारा दिलाता है
 * सूचित करें - एक कंप्यूटर भाषा जो जेड-मशीन प्रोग्राम तैयार कर सकती है
 * SCUMM - Z-मशीन के समान एक ग्राफिकल सिस्टम, लुकासआर्ट्स द्वारा पागल हवेली के लिए स्क्रिप्ट निर्माण उपयोगिता
 * TADS - Glulx की तरह, इसकी कुछ सीमाओं को दूर करने के लिए बनाया गया है
 * Motorola 68000 सीरीज़ - चुंबकीय स्क्रॉल के एडवेंचर गेम्स में वर्चुअल मशीनों के लिए इस्तेमाल किया जाने वाला बेस आर्किटेक्चर

बाहरी संबंध

 * The Z-Machine standards document
 * (PDF) is the Infocom ZIL manual from 1989
 * (PDF) the Z-Language Interpreter Program (Infocom Internal Document) from 1989
 * Interpreters
 * How to Fit a Large Program Into a Small Machine describes the creation and design of the Z-machine