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

आर्किटेक्चर का घोषणापत्र: फालतू चीजों से पूरी दूरी
इंटरनेट पर रफ्तार अपने आप नहीं आती। यह गैर-जरूरी चीजों को साफ तौर पर मना करने से आती है।
सोमवार सुबह काम शुरू करने से पहले ही हमने पांच सख्त नियम तय कर लिए थे:
1. एक सेकंड से भी कम समय में खेल शुरू होना। यदि कोई खिलाड़ी धीमे मोबाइल नेटवर्क पर भी किसी गेम पर क्लिक करता है, तो पूरा बोर्ड एक सेकंड के भीतर सामने खुलकर तैयार होना चाहिए।
2. किसी भी बाहरी भारी गेम इंजन का इस्तेमाल न करना। फेज़र, यूनिटी वेबजीएल या गोडोट जैसी किसी बाहरी चीज का सहारा न लेना। साधारण ताश और बोर्ड गेम के लिए ऐसे इंजन केवल फालतू का बोझ बढ़ाते हैं।
3. शुद्ध एचटीएमएल5 कैनवस 2डी और स्वतंत्र लॉजिक इंजन। गेम का पूरा हिसाब-किताब गणितीय नियमों की तरह चलना चाहिए, बिना वेब पेज की बनावट को हिलाए।
4. सभी मुख्य पेजों को सर्वर पर पहले से पूरी तरह तैयार रखना। हर गेम, नियम और रणनीति की जानकारी पहले से बने एचटीएमएल रूप में मौजूद होनी चाहिए ताकि सर्च इंजन उसे तुरंत पढ़ सकें और स्क्रीन पर कोई झटका न लगे।
5. स्क्रीन के लेआउट में कोई अचानक बदलाव न होना (सीएलएस = 0)। पेज खुलने के बाद कोई भी बटन या हिस्सा अपनी जगह से नहीं हिलना चाहिए।
इन नियमों ने हमारी तकनीकी दिशा तय की: पन्नों को तेजी से परोसने के लिए नेक्स्ट.जेएस, गेम के नियमों के लिए शुद्ध टाइपस्क्रिप्ट, तेज और सुंदर ग्राफिक्स के लिए एचटीएमएल5 कैनवस 2डी, और हल्का डाटा रखने के लिए फायरबेस।

7 दिनों की दौड़: तकनीकी काम का दैनिक ब्योरा
एक सौ अड़सठ घंटों में इतना बड़ा प्रोजेक्ट पूरा करने के लिए हर दिन को एक पूरा पड़ाव मानना जरूरी था।
पहला दिन: स्वतंत्र गेम इंजन और पक्के नियम
ताश के खेल तब तक आसान लगते हैं जब तक आप उनके नियम कोड में नहीं लिखते। सॉलिटेयर या फ्रीसेल केवल स्क्रीन पर पत्तों को हिलाना नहीं है: यह नियमों का एक कड़ा चक्र है जो हर चाल पर सही और गलत की जांच करता है।
हमने सोमवार का पूरा दिन ताश के बुनियादी नियमों का ढांचा बनाने में लगाया, जिसे पूरी तरह टाइपस्क्रिप्ट में लिखा गया।
हमने सिस्टम को तीन परतों में बांटा:
नियमों को स्क्रीन के दिखावे से अलग रखने के कारण, हमने कोई भी चित्र बनाए बिना ही नोड.जेएस में लाखों बाजियों की स्वचालित जांच कर ली।
दूसरा दिन: सॉलिटेयर परिवार (क्लोन्डाइक, फ्रीसेल और स्पाइडर)
मंगलवार का दिन पत्तों को सुंदर रूप में दिखाने और टच स्क्रीन पर सही से चलाने के काम को समर्पित था।
एचटीएमएल5 कैनवस पर ताश के पत्ते बनाना आसान नहीं होता:
नए फोन की स्क्रीनों पर पत्ते धुंधले दिख सकते हैं। यदि सीधे कैनवस पर काम किया जाए तो कार्ड के किनारे साफ नहीं दिखते। हमने स्क्रीन की बनावट को खुद जांचने वाला कोड लिखा, जो स्क्रीन की क्षमता के अनुसार पत्तों को ज्यादा बारीक बनाकर दिखाता है। इससे पत्ते और उन पर लिखे नंबर एकदम साफ दिखने लगे।
टच और माउस को एक जैसा चलाना जरूरी था। चाहे खिलाड़ी माउस से खेले, डिजिटल पेन से या उंगली से, सभी इशारे एक ही केंद्र पर जाते हैं। जब खिलाड़ी स्क्रीन को छूता है, सिस्टम तुरंत पहचान लेता है कि कौन सा पत्ता चुना गया है और उसे सहजता से उठाकर आगे बढ़ाता है।
मंगलवार की रात तक क्लोन्डाइक, फ्रीसेल और स्पाइडर सॉलिटेयर पूरी तरह तैयार थे, और साठ फ्रेम प्रति सेकंड की रफ्तार पर बिना किसी रुकावट के चल रहे थे।
तीसरा दिन: चाल वाले खेल और होशियार कंप्यूटर साथी
बुधवार को हमने चाल वाले खेलों पर काम किया: हार्ट्स और स्पेड्स।
ऐसे खेलों का असली आनंद इस बात पर निर्भर करता है कि कंप्यूटर के खिलाड़ी कितनी समझदारी से खेलते हैं। यदि कंप्यूटर बिना सोचे चाल चले, तो मजा खत्म हो जाता है। यदि वह बहुत ज्यादा सोचने लगे, तो खेल अटक जाता है।
हमने कंप्यूटर खिलाड़ियों के लिए समझदार और तुरंत फैसला लेने वाले नियम बनाए:
स्पेड्स में कंप्यूटर पत्ते मिलते ही अपने बड़े पत्तों, इक्कों और खाली रंगों को देखकर सटीक बोली तय करता है। यदि साथी खिलाड़ी निल बोलता है, तो कंप्यूटर तुरंत उसकी रक्षा करने में लग जाता है: वह अपने लंबे रंगों को चलता है ताकि साथी खिलाड़ी अपने खतरनाक पत्ते फेंक सके।
हार्ट्स में कंप्यूटर ध्यान रखता है कि किस खिलाड़ी के पास कौन सा रंग खत्म हो चुका है। हुकुम की बेगम से बचने के लिए वह छोटे पत्ते चलकर दूसरों की सुरक्षा तोड़ता है और अपने बड़े पत्ते बचाकर रखता है।
ये सारे फैसले दो मिलीसेकंड से भी कम समय में हो जाते हैं, जिससे खेल बिना किसी रुकावट के तुरंत आगे बढ़ता है।

चौथा दिन: गणितीय पहेलियां (माइनस्वीपर और 2048)
गुरुवार को हम ताश से हटकर गणितीय ग्रिड वाले खेलों पर आए।
माइनस्वीपर में खिलाड़ी की पहली चाल पर हार न होने का नियम सबसे जरूरी है:
पहला क्लिक कभी भी बम पर नहीं होना चाहिए। खेल खिलाड़ी के पहले क्लिक के बाद ही बाकी खानों में बम बिछाता है, जिससे पहली चाल हमेशा सुरक्षित रहती है।
एक साथ कई खाली डिब्बे खोलने के लिए हमने बीएफएस तकनीक का उपयोग किया। यह तरीका बड़े से बड़े बोर्ड पर भी बिना रुके तीन मिलीसेकंड में सारे खाली डिब्बे खोल देता है।
2048 के लिए हमने चौकोर बोर्ड को घुमाकर हल करने का तरीका निकाला। चारों दिशाओं के लिए अलग-अलग नियम लिखने के बजाय, हर चाल पर बोर्ड को इस तरह घुमा दिया जाता है कि पत्ते हमेशा बाईं ओर खिसकें, और जुड़ने के बाद बोर्ड वापस अपनी जगह आ जाता है।
पांचवां दिन: कई भाषाएं और पक्के वेब पेज
शुक्रवार का दिन भाषा, पहुंच और दुनिया भर के खिलाड़ियों के लिए दरवाजे खोलने का था।
केवल अंग्रेजी में गेम बनाना दुनिया के बाकी अस्सी प्रतिशत खिलाड़ियों को छोड़ देने जैसा है। हमने पोर्टल को दस पूरी भाषाओं में तैयार किया: अंग्रेजी, स्पेनिश, जर्मन, फ्रेंच, इतालवी, पुर्तगाली, डच, पोलिश, चीनी और हिंदी।
ब्राउज़र में भारी फाइलें डाउनलोड करवाकर भाषा बदलने के बजाय, हमने नेक्स्ट.जेएस के जरिए हर भाषा का पूरा पेज पहले से ही तैयार रखा।
हर गेम, नियम और लेख दस अलग-अलग भाषाओं में पहले से तैयार रहता है। चाहे कोई दिल्ली से वेबसाइट खोले या पेरिस से, उसके सामने उसकी अपनी भाषा का पेज चालीस मिलीसेकंड के भीतर हाजिर हो जाता है।
छठा दिन: टच सुधार, तेज मेमोरी और अपनी आवाजें
शनिवार का दिन खेल की हर छोटी रुकावट को खत्म करने और मेमोरी को साफ रखने का था।
इस दिन तीन बड़े तकनीकी सुधार किए गए:
पहला: पत्तों की आवाजों में होने वाली देरी को खत्म किया गया। इंटरनेट से आवाज की फाइलें डाउनलोड करने पर पत्ते चलने की आवाज देर से आती है। एमपी3 फाइलों के बजाय हमने ब्राउज़र के अंदर ही कोड के जरिए आवाज पैदा की। बिना किसी फाइल डाउनलोड के पत्ते चलने की आवाज तुरंत सुनाई देती है।
दूसरा: फोन की मेमोरी पर पड़ने वाले झटकों को रोका गया। खेल के दौरान लगातार नए डाटा ऑब्जेक्ट बनाने से ब्राउज़र बीच-बीच में सफाई करने के लिए अटकता है। हमने पुरानी चीजों को ही बार-बार इस्तेमाल करने का नियम बनाया, जिससे खेल की रफ्तार एकदम स्थिर हो गई।
तीसरा: क्लाउडफ्लेयर के जरिए दुनिया भर में गेम की कॉपियां सुरक्षित की गईं ताकि खिलाड़ी के सबसे नजदीकी सर्वर से ही गेम तुरंत खुल सके।
सातवां दिन: दुनिया के सामने शुरुआत और जांच
रविवार को पोर्टल को दुनिया के सामने पेश करने का दिन था। हमने वेबसाइट का नाम जोड़ा, सोशल मीडिया पर दिखने वाली तस्वीरें जोड़ीं और गूगल के नियमों पर पूरी जांच की।
हर पेज गूगल के कोर वेब वाइटल्स मानकों पर पूरी तरह खरा उतरा:
रविवार रात तक यूनिकॉर्न गेम्स पूरी दुनिया के लिए चालू था: दस से ज्यादा शानदार खेल, फोन और कंप्यूटर पर तुरंत खुलने वाले, बिना किसी विज्ञापन की परेशानी के।
क्या हमने जानबूझकर नहीं बनाया
एक अच्छी इंजीनियरिंग परियोजना इस बात से भी पहचानी जाती है कि उसने किन चीजों को छोड़ दिया।
हमने इन तरीकों को जांचा और साफ मना कर दिया:
हमने वेबजीएल और थ्री.जेएस जैसी भारी 3डी तकनीकों को छोड़ दिया। 3डी में ताश के पत्ते घूमते हुए दिखने में भले अच्छे लगें, लेकिन वे फोन की बैटरी बहुत जल्दी खत्म कर देते हैं। सामान्य 2डी गेम्स के लिए हमारा कैनवस तरीका बेहद कम बिजली खाकर भी पूरी रफ्तार देता है।
हमने जासूसी करने वाले फालतू मार्केटिंग कोड्स को नकार दिया। वे कोड खिलाड़ियों का डाटा चुराते हैं और साइट को धीमा कर देते हैं। हमने केवल जरूरी संख्या गिनने वाला अपना साफ-सुथरा तरीका चुना।
हमने लेखों और गाइडों के लिए भारी सिंगल-पेज तकनीक नहीं चुनी। साधारण पक्के एचटीएमएल पेज सर्च इंजन द्वारा तुरंत पढ़े जाते हैं और पहली ही सेकंड में खुल जाते हैं।
इस काम में एआई की असली भूमिका
हम बिना एआई की मदद के सात दिनों में यह काम कभी पूरा नहीं कर पाते। लेकिन हमारे काम करने का तरीका आम धारणा से बहुत अलग था।
हमने कभी एआई से पूरा गेम अपने आप बनाने को नहीं कहा। ऐसा करने पर टूटा-फूटा कोड मिलता है जो जरा सी मुश्किल आते ही बंद हो जाता है।
हमने एआई को एक समझदार साथी की तरह केवल तीन खास कामों में लगाया:
पहला: खेल के नियमों की कड़ी जांच के लिए सैकड़ों कठिन परिस्थितियां तैयार करवाना।
दूसरा: गणितीय सूत्रों और पहेलियों के शुरुआती ढांचे का खाका बनवाना, जिसे बाद में हमने खुद ठीक करके अपने सिस्टम में जोड़ा।
तीसरा: कई भाषाओं में सटीक अनुवाद। दस भाषाओं में हजारों शब्दों के तकनीकी नियम लिखना इंसानों के लिए महीनों का काम था। एआई ने सही गेमिंग शब्दों के साथ यह काम कुछ ही मिनटों में कर दिया।
लेकिन एआई गेम के अनुभव और हाथ के स्पर्श को नहीं समझ सकता: स्क्रीन पर पत्ता खींचने का खिंचाव, पत्ते का सही जगह पर टिकना और फोन पर छूने का सही समय तय करना, यह सब इंसानी हाथों और लगातार खेलकर देखने से ही संभव हुआ।
आंकड़ों में परिणाम
इस एक हफ्ते की कड़ी मेहनत का नतीजा साफ आंकड़ों में दिखता है:
यूनिकॉर्न गेम्स पर क्लोन्डाइक सॉलिटेयर खेलने के लिए जरूरी पूरे कोड का साइज नब्बे किलोबाइट से भी कम है। यह आम गेमिंग साइटों पर दिखने वाले एक छोटे से विज्ञापन से भी छोटा है।
दुनिया में कहीं से भी गेम खुलने का समय आठ सौ मिलीसेकंड से कम रहता है। जैसे ही पेज आता है, गेम स्क्रीन पर खेलने के लिए तैयार होता है।
इंटरनेट को ऐसे भारी-भरकम पोर्टल्स की जरूरत नहीं है जो खिलाड़ियों को केवल विज्ञापन दिखाने का जरिया समझते हैं। इंटरनेट को खुले, तेज, साफ और सम्मानजनक सॉफ्टवेयर की जरूरत है।

Game developer and founder at Unicorn Games. Specializes in combinatorial game theory, solvability algorithms, and classic card & puzzle game development. Every guide is fact-checked against mathematical game states and empirical play benchmarks.



