← नवीनतम पेपर
⚡ electrical engineering

Using Assembly Language for Creating Games

यह शोध पत्र विजुअल स्टूडियो 2015 का उपयोग करके एक "Arkanoid" गेम के विकास का विवरण देते हुए x86 असेंबली भाषा की क्षमताओं को प्रदर्शित करता है, जो दिलचस्प एल्गोरिदम और विंडोज ओएस कंसोल में चलने वाले सॉफ़्टवेयर बनाने के लिए इस भाषा की क्षमता को उजागर करता है।

मूल लेखक: Haris Turkmanović, David Vukoje, Aleksandra Lekić, Milan Prokin

प्रकाशित 2026-04-24
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Haris Turkmanović, David Vukoje, Aleksandra Lekić, Milan Prokin

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक घर बनाने की कोशिश कर रहे हैं। अधिकांश लोग एक आधुनिक कंस्ट्रक्शन किट का उपयोग करते हैं जिसमें पहले से बने हुए दीवारें, खिड़कियाँ और दरवाजे होते हैं जो आसानी से आपस में जुड़ जाते हैं। यह हाई-लेवल प्रोग्रामिंग भाषाओं (जैसे Python या C++) की तरह है। वे तेज़, सुरक्षित हैं, और आपके लिए सभी जटिल विवरणों को खुद संभाल लेती हैं।

लेकिन यह पेपर इस बारे में है कि केवल कच्ची ईंटों और गारे का उपयोग करके, एक-एक करके, अपने हाथों से घर कैसे बनाया जाए। यह असेंबली लैंग्वेज (Assembly Language) है। यह कंप्यूटर के दिमाग (प्रोसेसर) से सीधे बात करने का "लो-लेवल" तरीका है। यह आपको हर एक ईंट (मेमोरी के हर बाइट) पर पूर्ण नियंत्रण देता है, लेकिन यह बहुत कठिन काम है।

यहाँ इस कहानी का विवरण है कि कैसे लेखकों ने "कच्ची ईंट" पद्धति का उपयोग करके "Arkanoid" (क्लासिक ब्रिक-ब्रेकिंग गेम) नामक एक वीडियो गेम बनाया:

1. लक्ष्य: "कच्ची ईंटों" में गेम क्यों बनाएं?

लेखक यह सिद्ध करना चाहते थे कि आप असेंबली लैंग्वेज के साथ भी शानदार और जटिल चीजें कर सकते हैं, भले ही यह पुराना तरीका हो। उन्होंने यह गेम दिखाने के लिए बनाया कि:

  • पूर्ण नियंत्रण (Total Control): उन्होंने केवल कंप्यूटर को "एक गेंद बनाओ" नहीं कहा। उन्होंने कंप्यूटर को ठीक से बताया कि एक पिक्सेल दिखाने के लिए मेमोरी के किस स्थान को बदलना है।
  • दक्षता (Efficiency): असेंबली एक स्पोर्ट्स कार की तरह है; यह तेज़ और सीधी है, उन चीजों के लिए एकदम सही है जिन्हें तुरंत होना चाहिए (जैसे गेम हारने पर रुकना)।
  • शिक्षा (Education): वे छात्रों को दिखाना चाहते थे कि यह समझना कि कंप्यूटर "हुड के नीचे" (अंदरूनी रूप से) कैसे काम करता है, बहुत मूल्यवान है।

2. परिवेश: "कंसोल" एक ग्रिड के रूप में

यह गेम किसी फैंसी विंडो या स्मूथ ग्राफिक्स में नहीं चलता। यह विंडोज कंसोल (Windows Console) में चलता है (वह काला टेक्स्ट बॉक्स जो आप कमांड प्रॉम्प्ट खोलते समय देखते हैं)।

  • उपमा (Analogy): कल्पना कीजिए कि स्क्रीन एक विशाल चेकरबोर्ड है। बोर्ड के प्रत्येक वर्ग में एक अक्षर, एक संख्या या एक प्रतीक हो सकता है, और यह किसी भी रंग का हो सकता है।
  • जादू: लेखकों ने इस चेकरबोर्ड को एक कैनवास की तरह उपयोग करने के लिए कोड लिखा। उन्होंने केवल टेक्स्ट प्रिंट नहीं किया; उन्होंने वेलकम स्क्रीन और गेम मेनू बनाने के लिए "बिग स्ट्रिंग्स" (छोटे ब्लॉकों से बने बड़े अक्षर) को पेंट किया।

3. गेम मैकेनिक्स: ईंट के घर के नियम

गेम क्लासिक नियमों का पालन करता है:

  • पैडल (The Paddle): आप नीचे एक बार (bar) को नियंत्रित करते हैं।
  • गेंद (The Ball): यह इधर-उधर उछलती रहती है।
  • ईंटें (The Bricks): ऊपर रंगीन ब्लॉक होते हैं।
  • ट्विस्ट: कुछ ईंटें "मजबूत" होती हैं। उन्हें तोड़ने के लिए आपको उन्हें दो बार मारना होगा। यदि वे गिरती हैं और आप उन्हें अपने पैडल से पकड़ लेते हैं, तो आपको बोनस अंक मिलते हैं!

4. उन्होंने इसे कैसे काम करने लायक बनाया (गुप्त नुस्खा)

चूंकि वे गेम इंजन (जैसे Unity या Unreal) का उपयोग नहीं कर सकते थे, इसलिए उन्हें तीन मुख्य उपकरणों का उपयोग करके अपना इंजन खुद बनाना पड़ा:

A. "बिग स्ट्रिंग्स" (कला)

सामान्य अक्षर टाइप करने के बजाय, उन्होंने "बिटमैप्स" (Bitmaps) बनाए।

  • उपमा: एक पिक्सेलेटेड इमेज की कल्पना करें जो छोटे वर्गों से बनी एक अक्षर "A" है। उन्होंने ऐसे पिक्सेल-आर्ट अक्षरों की एक लाइब्रेरी बनाई। जब वे "WELCOME" लिखना चाहते थे, तो कंप्यूटर केवल टेक्स्ट प्रिंट नहीं करता था; वह चेकरबोर्ड पर अक्षरों का आकार बनाने के लिए सैकड़ों छोटे रंगीन वर्ग रखता था।

B. "ट्रैफिक पुलिस" (तर्क/Logic)

गेम को जानने की आवश्यकता है कि सब कुछ कहाँ है। उन्होंने डेटा रखने के लिए स्ट्रक्चर (Structures) (डिजिटल फोल्डर की तरह) बनाए:

  • बॉल फोल्डर: इसमें गेंद कहाँ है, वह किस दिशा में जा रही है, और उसकी गति कितनी है, यह शामिल है।
  • ब्रिक फोल्डर: इसमें ईंट का रंग, उसका स्कोर मान, और एक "हिट काउंटर" (कितनी बार टकराया गया) शामिल है।
  • पैंडल फोल्डर: पैडल की स्थिति को ट्रैक करता है।

C. "बाउन्सर" (टकराव का पता लगाना/Collision Detection)

यह सबसे कठिन हिस्सा है। हर बार जब गेंद चलती है, तो कोड को पूछना पड़ता है: "क्या मैंने दीवार को टकराया? क्या मैंने ईंट को टकराया? क्या मैंने पैडल को टकराया?"

  • उपमा: कल्पना कीजिए कि गेंद एक आंखों पर पट्टी बंधी हुई डांसर है। हर कदम से पहले, कोड फर्श के नक्शे की जांच करता है।
    • यदि गेंद दीवार से टकराती है, तो कोड उसे उसी कोण पर वापस उछलने के लिए कहता है।
    • यदि वह ईंट से टकराती है, तो कोड ईंट के "हिट काउंटर" में से 1 घटा देता है। यदि काउंटर शून्य हो जाता है, तो ईंट गायब हो जाती है।
    • यदि वह स्क्रीन के निचले हिस्से से टकराती है, तो गेम समाप्त हो जाता है।

5. "टाइम ट्रैवल" ट्रिक (गति नियंत्रण)

लेखक चाहते थे कि कुछ चीजें दूसरों की तुलना में धीमी चलें बिना पूरे गेम को धीमा किए।

  • उपमा: कल्पना कीजिए कि एक ड्रमर ताल (beat) बनाए रख रहा है।
    • पैंडल हर बीट पर चलता है (तेज़)।
    • गेंद हर बीट पर चलती है (तेज़)।
    • गिरती हुई ईंटें हर तीसरी बीट पर चलती हैं।
  • उन्होंने कुछ वस्तुओं को कुछ फ्रेम के लिए ड्रा करने से बचने के लिए एक "टाइम वेक्टर" (टाइमर) का उपयोग किया। इसने गिरती हुई ईंटों को ऐसा दिखाया जैसे वे धीरे-धीरे तैर रही हों, जिससे जटिल भौतिकी (physics) के बिना एक अच्छा विजुअल इफेक्ट मिला।

6. परिणाम

अंतिम उत्पाद एक साधारण काले विंडो में चलने वाला पूरी तरह से खेलने योग्य गेम है। यह रेट्रो दिखता है, लेकिन इसके अंदरूनी हिस्से में, यह मैन्युअल नियंत्रण का एक मास्टरपीस है।

यह क्यों मायने रखता है?
लेखक तर्क देते हैं कि भले ही आज हमारे पास आसान उपकरण हैं, हमें चीजों को शुरुआत से बनाना नहीं भूलना चाहिए। असेंबली को समझना कार चलाने के बजाय उसके इंजन को ठीक करने का तरीका जानने जैसा है। ये समान लॉजिक ट्रिक्स (कोलिजन डिटेक्शन, मूविंग ऑब्जेक्ट्स, इनपुट हैंडलिंग) वीडियो गेम से लेकर स्मार्ट टोस्टर और अंतरिक्ष यान (एम्बेडेड सिस्टम) तक सब कुछ में उपयोग किए जाते हैं।

संक्षेप में: उन्होंने यह साबित करने के लिए कि पर्याप्त धैर्य और कौशल के साथ, आप कंप्यूटर से लगभग कुछ भी करवा सकते हैं, यहाँ तक कि आधुनिक शॉर्टकट के बिना भी, कंप्यूटर की मूल भाषा का उपयोग करके एक वीडियो गेम बनाया।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →