5 मार्च 2026 · मिखाइल वासिलयेव
Nexus डेवलॉग: इंजन का प्रोटोटाइप
डेढ़ महीने पहले मैंने साइट पर स्टूडियो की योजनाएँ डाली थीं - Nexus इंजन को लेकर: यह क्या है और हम इस पर कौन-कौन से प्रोजेक्ट बनाएँगे, रणनीतियों और अपनी मिस्री सीरीज़ की अगली कड़ियों तक। वहीं एक रोडमैप भी था। इंजन पेचीदा है, और जोखिम कम करने के लिए मैं इसे धीरे-धीरे बनाना चाहता था। पर खिलाड़ियों ने कमेंट में सीधे कह दिया: ऐसा कुछ बनाना नामुमकिन है। इसलिए मैंने एक प्रोटोटाइप से शुरुआत करने का फ़ैसला किया - यह दिखाने के लिए कि ऐसा इंजन बनाया तो जा सकता है। वही दिखाता हूँ।

अभी इंजन ऐसा दिखता है। ऊपर से यह एक काफ़ी सादा कंसोल ऐप्लिकेशन है। पर यह सबसे ज़रूरी बात अच्छी तरह दिखा देता है - कि अलग-अलग मैकेनिक्स एक ही सार्वभौमिक इंजन पर चलती हैं।
फ़िलहाल इस पर चार सिमुलेशन चल रही हैं। पहली है Stone Age, स्टूडियो की सबसे पहली गेम, 2013 की। बाकी तीन दूसरों के प्रोजेक्ट के आधार पर हैं। इन्हें न मैं कॉपी करने वाला हूँ, न रिलीज़ करने - ये यहाँ सिर्फ़ यह दिखाने के लिए हैं कि एक ही इंजन पर बिल्कुल अलग-अलग गेम मैकेनिक्स चल सकती हैं।
Stone Age
Stone Age को इंजन पर पूरा का पूरा उतार दिया गया है। वही खूबियाँ, साल और चालें, आबादी, ज़मीनें। मज़दूरों को जंगल भेजते हो, वे खाना जुटाते हैं, आबादी बढ़ती है, तकनीकें आती हैं - उन्हें शोधते हो, इमारतें और विकास का पेड़ खुलता है, ऑस्ट्रेलोपिथेकस से होमो हैबिलिस तक और आगे। घटनाएँ, अंत - मूल गेम का सब कुछ अपनी जगह मौजूद है।

Slay the Spire
आगे है Slay the Spire, एक बढ़िया कार्ड रोगलाइक, आप में से कई ने ज़रूर खेली होगी। इंजन पर सिर्फ़ लड़ाई है: खिलाड़ी के पास कार्ड, ऊर्जा और सेहत है, दुश्मन का अपना इरादा। Strike (हमला) मारता है, Defend (बचाव) ब्लॉक लगाता है। ऊर्जा खर्च करते हो, चाल ख़त्म करते हो, और इसी तरह बारी-बारी से, जब तक कोई जीत न जाए।

GURPS
तीसरी सिमुलेशन है GURPS, एक टेबलटॉप सिस्टम, काफ़ी पेचीदा। इसमें से मैंने सिर्फ़ एक मॉड्यूल लिया, तारा-मंडल जनरेटर। मज़े की बात यह है कि यह मॉड्यूल खुद कोई गेम है ही नहीं, बल्कि एक पेचीदा जनरेटर है। इसने एक तारे और ढेर सारे गुणों वाला एक मंडल बना दिया: दस कक्षाएँ, उन पर अलग-अलग दुनियाएँ। पहली, छोटी और पथरीली, बुध जैसी है - अपने द्रव्यमान, वायुमंडलीय दबाव और बाकी सबके साथ। कुल मिलाकर इस सिमुलेशन में छह हज़ार से ज़्यादा तथ्य हैं। यह एक अच्छा स्ट्रेस-टेस्ट है: दिखता है कि इंजन कितने आँकड़े झेल लेता है।

Oregon Trail
चौथी है Oregon Trail, 1971 की क्लासिक और सबसे शुरुआती कंप्यूटर गेम्स में से एक। यह बैलगाड़ियों पर अमेरिका पार करते बसने वालों का सफ़र है: रास्ते से पहले रसद ख़रीदते हो - बैल, खाना, गोला-बारूद, कपड़े - और फिर शिकार करते हो, राशन बाँटते हो और घटनाओं से निपटते हो। हम पर तो अभी हमला हो गया। और इसी तरह सफ़र के आख़िर तक।

चारों गेम एक ही इंजन पर चलती हैं, और किसी के लिए भी कोड लिखना नहीं पड़ा।
चलते-चलते बदलाव
पर इंजन सिर्फ़ इन गेम्स को चलाता ही नहीं - इन्हें चलते-चलते बदला भी जा सकता है, कोड को छुए बिना। चलो Slay the Spire को लेते हैं।

Strike (हमला) कार्ड का नुकसान बदलता हूँ, 100 कर देता हूँ:
/set Strike.CalcDamage Value 100यह गुण इन दोनों कार्ड में एक साथ बदल गया, क्योंकि इनकी श्रेणी एक ही है।

और एक बिल्कुल नया कार्ड भी जोड़ा जा सकता है, Fireball (आग का गोला):
/add Fireball Is DirectDamage
/set Fireball.CostEnergy Value 2
/add Fireball Has CalcDamage
/set Fireball.CalcDamage Value 20
/add Fireball Has ApplyDamage
/add Fireball.ExecutionEffects Has CostEnergy
/add Fireball.ExecutionEffects Has CalcDamage
/add Fireball.ExecutionEffects Has ApplyDamageयह था ही नहीं, और अब गेम में है - हाथ में रहता है, खेला जाता है, 20 नुकसान करता है और किसी आम कार्ड की तरह डिस्कार्ड ढेर में चला जाता है:

ख़ुद नियमों को भी बदला जा सकता है, एक ही कमांड से। मैं वह नियम हटाता हूँ जिसके चलते खेले हुए कार्ड डिस्कार्ड ढेर में चले जाते हैं।
/remove PlayCard Has MovePlayedCardअब वे हाथ में ही रहते हैं। मैंने Defend (बचाव) खेला: ब्लॉक लग गया, ऊर्जा खर्च हुई, पर कार्ड वहीं रह गया।
![नियम बदलने के बाद: Defend (बचाव) खेला गया - ऊर्जा 0/3, ब्लॉक 5 - पर खेले हुए सारे कार्ड हाथ में ही रह गए, [X] से चिह्नित](/_next/image?url=%2Fvblog1_slayrule.jpg&w=3840&q=75)
किसी प्रोग्रामिंग भाषा में लिखी आम गेम में इसके लिए कोड में घुसना पड़ता और प्रोजेक्ट दोबारा बिल्ड करना पड़ता। यहाँ इसकी ज़रूरत नहीं।
इसी तरह गेम में वह भी जोड़ा जा सकता है जो उसमें पहले था ही नहीं। मसलन सोना - इसे बनाता हूँ और बताता हूँ कि यह कैसे खर्च होता है:
/set Player.Gold Value 100
/add CostGold Output Owner.Gold
/add CostGold Math.Subtract.Apply trueएक ऐसी खूबी आ जाती है जो अभी-अभी थी ही नहीं - सोना, और सीधे पूरी एक सौ।

इस सोने के सहारे एक नया एक्शन भी बनाया जा सकता है - Bribe (रिश्वत)। यह ऊर्जा नहीं, बल्कि सोना खर्च करता है:
/add Bribe Is DirectDamage
/set Bribe.CostEnergy Value 0
/set Bribe.CostGold Value 30
/add Bribe Has CalcDamage
/set Bribe.CalcDamage Value 15
/add Bribe Has ApplyDamage
/add Bribe Has CostGold
/add Bribe.ExecutionEffects Has CostGold
/add Bribe.ExecutionEffects Has CalcDamage
/add Bribe.ExecutionEffects Has ApplyDamage
/create Bribe Player.HandBribe (रिश्वत) तीस सोने में पड़ता है और पंद्रह नुकसान करता है - और तुरंत काम करता है।

लग सकता है कि ये चीट हैं और ऐसी कमांड टाइप करना झंझट भरा है। पर ये चीट नहीं हैं। यह उन तार्किक तथ्यों और आँकड़ों को बदलना है जिन पर पूरी गेम टिकी है - उसकी वस्तुएँ, गुण और मैकेनिक्स। दरअसल यही वह भाषा है जिसमें गेम लिखी गई है।
इस भाषा को सीखना ज़रूरी नहीं। AI से कहा जा सकता है कि वह एक आम वाक्य को उन कमांड में बदल दे जिन्हें Nexus समझता है। मसलन:
give 999 goldहिंदी में इसका मतलब बस इतना है - «999 सोना जोड़ दो»।

AI सोचता है, सही कमांड ढूँढता है और चला देता है, और हमारे पास 999 सोना आ जाता है।
इसे और तरह से भी कहा जा सकता है, «सोना 100» - यह भी काम कर जाता है। «मुझे भगवान बना दो» - AI अमरता थमा देता है। चाल ख़त्म करना, मारना, ख़ुद को ठीक करना - यह सब शब्दों से किया जा सकता है, इंजन समझ लेता है। और इनमें से कुछ भी स्क्रिप्ट किया हुआ नहीं है, सब सचमुच काम करता है।
योजनाएँ
कमांड को मैं आसान बनाना चाहता हूँ। अभी वही Fireball (आग का गोला) बनाने में करीब आठ कमांड लगती हैं, और सोच रहा हूँ इसे तीन-चार तक ले आऊँ। और अगले वीडियो में कुछ ज़्यादा देखने लायक दिखाने की कोशिश करूँगा - एक 2D रेंडर।
इंजन और योजनाओं के बारे में और जानकारी Nexus सेक्शन में है।
स्पष्टीकरण: Stone Age स्टूडियो की गेम है। Slay the Spire, GURPS और Oregon Trail अपने-अपने अधिकार-धारकों के हैं और यहाँ सिर्फ़ इंजन की झलक दिखाने के लिए हैं - ये बिल्ड कहीं भी वितरित नहीं किए जाते।
