Street Fighter II, The World Warrior (2021)
(fabiensanglard.net)- आर्केड गेम Street Fighter II के उपशीर्षक ‘World Warrior’ में रिलीज़ से ठीक पहले तक ‘World Warrier’ जैसी टाइपो मौजूद थी, इस दिलचस्प घटना का वर्णन किया गया है
- ग्राफ़िक डिज़ाइनर Akiman GFX ROM पहले से बर्न हो जाने के कारण इसे सीधे ठीक नहीं कर सकते थे, इसलिए उन्होंने sprite combination से ‘e’ को ‘o’ जैसा दिखाने के लिए समायोजन किया
- उन्होंने ‘World’ के कुछ tiles को फिर से इस्तेमाल करके ‘ier’ को बदलने की कोशिश की, लेकिन इसके परिणामस्वरूप ‘The World Warrlor’ जैसी एक नई समस्या पैदा हो गई
- इसके बाद उन्होंने Guile की पिंडली वाले tile(0x96) का उपयोग करके pixel स्तर पर ‘l’ के ऊपरी हिस्से को काटकर उसे ‘i’ जैसा दिखाने वाला अस्थायी सुधार पूरा किया
- बाद के वर्ज़न में इस सुधार को औपचारिक रूप से बदल दिया गया, और यह गेम डेवलपमेंट में बारीक तकनीकी प्रतिक्रिया और रचनात्मक समस्या-समाधान का उदाहरण दिखाता है
टाइपो की खोज और सुधार की शुरुआत
- Street Fighter II के उपशीर्षक ‘World Warrior’ को गलती से ‘World Warrier’ लिखा गया था, और यह बात रिलीज़ से 3 दिन पहले पता चली
- Akiman ने याद करते हुए कहा, “मैंने एक भयानक गलती खोजी,” और बताया कि GFX ROM पहले ही बर्न हो चुका था, इसलिए उसमें बदलाव असंभव था
- GFX ROM ग्राफ़िक डेटा स्टोर करता था, जबकि 68000 ROM निर्देशों को संग्रहीत करता था, और ग्राफ़िक ROM को संशोधित नहीं किया जा सकता था
- Akiman ने sprites को एक-दूसरे पर चढ़ाकर ‘e’ को ‘o’ जैसा दिखाने की कोशिश की और इस तरह दृश्य स्तर पर सुधार लागू किया
tile बदलकर अस्थायी समाधान
- लोगो 16 tiles(
0xC8~0xDF) से बना था, और Akiman ने आख़िरी तीन tiles(0xDD~0xDF) हटाकर उनकी जगह0xCD,0xCEलगाए - इससे ‘World Warrier’ बदलकर ‘World Warrlor’ हो गया, लेकिन ‘l’ का ‘i’ जैसा न दिखना एक समस्या बना रहा
- क्योंकि 68000 CPU tiles को सीधे संशोधित नहीं कर सकता था, इसलिए pixel स्तर पर समायोजन ज़रूरी था
Guile tile का उपयोग कर pixel सुधार
- समाधान की कुंजी Guile कैरेक्टर की पिंडली वाले tile(
0x96) में थी- उस tile में नीचे-बाएँ कोने पर केवल एक pixel दिखाया गया था
- 68000 CPU palette को स्वतंत्र रूप से चुन सकता था, इसलिए Guile palette और लोगो palette की तुलना करके रंगों के अंतर का उपयोग किया गया
- Guile palette में index 14 गहरा हरा था, जबकि लोगो palette में वही गहरा नीला था
- इस tile को लोगो palette के साथ इस्तेमाल कर 255 pixels को transparent और सिर्फ 1 pixel को ‘पेंसिल’ की तरह इस्तेमाल किया गया
- तीन draw commands के ज़रिए ‘l’ के ऊपरी हिस्से को काटा गया ताकि वह ‘i’ के dot जैसा दिखाई दे
परिणाम और बाद के वर्ज़न
- इस अस्थायी सुधार की वजह से अंतिम स्क्रीन पर इसे ‘World Warrior’ की तरह दिखाई देने लायक बना दिया गया
- बाद के वर्ज़न में सही ‘IOR’ tile set शामिल कर दिया गया, लेकिन उपशीर्षक बदलकर ‘Champion Edition’ और ‘Hyper Fighting’ हो जाने के कारण उसका उपयोग नहीं हुआ
तकनीकी महत्व
- यह उदाहरण दिखाता है कि ROM-आधारित आर्केड हार्डवेयर की सीमाओं के भीतर भी रचनात्मक समस्या-समाधान संभव है
- सिर्फ एक pixel का उपयोग करके किया गया यह सुधार सूक्ष्म ग्राफ़िक नियंत्रण और हार्डवेयर की गहरी समझ के मेल का उदाहरण माना जाता है
- टाइपो सुधार की यह प्रक्रिया गेम डेवलपमेंट में बारीक debugging और व्यावहारिक प्रतिक्रिया-क्षमता का प्रतीक बन गई
1 टिप्पणियां
Hacker News की राय
असली social media तो arcade थे
sports center में bowling ball के लुढ़कने की आवाज़ों के बीच भी मैं तुरंत पहचान लेता था कि मेरी game cabinet कौन-सी है
लोग आसपास घेरा बनाकर देखते थे, मज़ाक करते थे, और वहाँ एक साथ एकाग्रता और जयकार का माहौल होता था
कुछ देर के लिए joystick पकड़े हुए बच्चे पर सम्मान बरसता था, फिर एक परफेक्ट ड्रैगन पंच के साथ सिंहासन बदलते ही सब चीखकर खुश होते थे
सिक्का फिर से मशीन पर रखकर अगली बारी का इंतज़ार करते हुए अजनबियों के साथ dopamine साझा करने वाले दिन थे
आज हम दुनिया में पहले से ज़्यादा connected हैं, लेकिन अजीब तरह से एक-दूसरे से ज़्यादा दूर महसूस करते हैं
मैं Vietnam War के बाद आकर बसे Hmong परिवारों की दूसरी पीढ़ी के दोस्तों के साथ खेलता था; मैं Ken चुनता था और वे Ryu
एक-दूसरे को moves सिखाते हुए, मुकाबला करते हुए और हँसते हुए बिताया गया वह समय सच में सामाजिक मेलजोल की पाठशाला था
private school जाने वाले दोस्तों ने शायद ऐसा अनुभव खो दिया होगा
SF2 arcade में था, लेकिन ज़्यादा ध्यान मुकाबले पर नहीं बल्कि single-player पर था
एक game बहुत महँगी पड़ती थी, इसलिए सब मिलकर single-player का मज़ा लेते थे, और Gauntlet या Knights of the Round जैसे PvE games लोकप्रिय थे
यह बिल्कुल अलग संस्कृति थी
Japan में अभी भी arcade culture ज़िंदा है
इसलिए इस तरह की यादें थोड़ी ironic लगती हैं
दीवार साझा होने की वजह से अजनबियों से स्वाभाविक बातचीत होने लगती है, और कुछ ही घंटों का समय देकर भी इसका भरपूर आनंद लिया जा सकता है
मुझे लगता है कि अलग-अलग उम्र के लोगों के लिए ऐसे कई और social sports होंगे
यह सच में बहुत दिलचस्प कहानी थी
मेरी पसंदीदा मिसालों में से एक है कि Naughty Dog ने EULA का इस्तेमाल करके Ratchet and Clank को modify किया था
इसके बारे में विस्तार से इस ब्लॉग पोस्ट में देखा जा सकता है
पास के burger restaurant में एक SF2 cabinet है, जिस पर sticker की जगह हाथ से बनाई गई पेंटिंग है
ऊपर ‘HYRER FIGHTING’ लिखा है, और ‘WORLD WARRIER’ वाली typo को सोचकर यह और भी फिट लगता है
पूछ रहे हैं कि क्या आपने हाल का कोई संबंधित YouTube वीडियो देखा है
उसका शीर्षक था “It sounds dumb but they really fixed a typo with a human leg”, और वीडियो लिंक भी है
काफ़ी अच्छी तरह बनाया गया वीडियो था
आज यह कहानी देखकर मुझे text rendering के तरीकों को लेकर जिज्ञासा हुई
इससे फिर याद आया कि पहले
drawTextजैसी function कोई स्वाभाविक चीज़ नहीं थीशुरुआती machines के दौर में text output तक खुद implement करना पड़ता था
“Thank you for playing Wing Commander! ” यह पंक्ति याद आ गई
यह उस दौर की भावना को बिल्कुल सही तरह से छूती थी
वह memory management system के conflict से बचने के लिए डाली गई एक अस्थायी पंक्ति थी
मुझे Continental Circus नाम का game याद आ गया
Arcade Museum लिंक में trivia section है
Japanese में ‘Circuit’ को サーキット कहा जाता है, और ‘サーカス’ का उच्चारण उससे पूरी तरह अलग है
ऊपर से F1 को ‘circus’ कहना सिर्फ Japan में नहीं, दुनिया भर में आम है
Guile की पिंडली बनाने के लिए 3 pixels पर 3 draw calls इस्तेमाल किए गए थे, यह बात बहुत मज़ेदार लगी
उस समय न operating system था, न graphics API; सीधे hardware memory को access किया जाता था
कोई मज़ाक में कह रहा था कि काश Double Dragon की “Bimmy and Jimmy” typo भी कोई ठीक कर देता