
RollerCoaster Tycoon Optimizations are Insane
Audio Summary
AI Summary
यह वीडियो क्रिस सॉयर के बारे में है, जिन्हें सबसे बेहतरीन असेंबली कोड लिखने वालों में से एक माना जाता है। उन्होंने रोलर कोस्टर टाइकून जैसे महान गेम बनाए, जो 1999 में रिलीज़ हुआ था। यह गेम पूरी तरह से असेंबली भाषा में लिखा गया था, जबकि उस समय के कई गेम C जैसी भाषाओं में लिखे जाते थे।
रोलर कोस्टर टाइकून में कुछ अविश्वसनीय ऑप्टिमाइज़ेशन थे। यह गेम किसी भी सिस्टम पर बहुत आसानी से चलता था, जबकि इसमें हजारों NPC (एजेंट) पार्क में घूमते थे। उस समय इसकी सिस्टम आवश्यकताएँ बहुत कम थीं – केवल 16 मेगाबाइट रैम। इसकी तुलना में, आज एक साधारण 'वाइल लूप' चलाने के लिए भी नोड में 57.3 मेगाबाइट रैम की आवश्यकता होती है।
गेम में पहला ऑप्टिमाइज़ेशन पैसे के आकार से संबंधित था। पार्क में आने वाले प्रत्येक व्यक्ति को गुस्सा, मतली या भूख लगने जैसी विभिन्न स्थितियों के लिए अपनी मेमोरी की आवश्यकता होती थी। औसत पार्क आगंतुक को बहुत अधिक पैसे की आवश्यकता नहीं होती थी (आमतौर पर 256 से कम), इसलिए उनके पैसे के लिए केवल एक बाइट मेमोरी का उपयोग किया जाता था। इससे 2 से 4 हजार एजेंटों के लिए 2-4K मेमोरी बच जाती थी, जो 16 मेगाबाइट रैम वाले सिस्टम के लिए बहुत महत्वपूर्ण था।
दूसरा ऑप्टिमाइज़ेशन गुणा और भाग के लिए बिट शिफ्टिंग का उपयोग था। उस समय, एक साधारण गुणा में 3 से 8 CPU साइकिल लगते थे, और भाग में दसियों साइकिल लग सकते थे। इसके बजाय, क्रिस सॉयर ने गुणा और भाग के लिए बिट शिफ्टिंग का उपयोग किया (जैसे 2 से गुणा करने के लिए लेफ्ट शिफ्ट और 2 से भाग करने के लिए राइट शिफ्ट)। यह CPU साइकिल बचाता था और गेम को बहुत तेज़ बनाता था, क्योंकि बिट शिफ्टिंग बहुत कम साइकिल लेती थी।
तीसरा और सबसे महत्वपूर्ण ऑप्टिमाइज़ेशन पाथफाइंडिंग से संबंधित था। पार्क में मौजूद लोग वास्तव में कोई गंतव्य निर्धारित करके नहीं चलते थे; वे केवल यादृच्छिक दिशाओं में घूमते थे जब तक कि उन्हें कोई सवारी या भोजन नहीं मिल जाता था। पाथफाइंडिंग एक बहुत महंगा ऑपरेशन था, खासकर उस समय के धीमे CPU पर। गेम में पाथफाइंडिंग केवल दो स्थितियों में होती थी: जब एक मैकेनिक को टूटी हुई सवारी ढूंढनी होती थी, और जब कोई आगंतुक पार्क छोड़ना चाहता था। मैकेनिक को 8 गहराई तक पाथफाइंडिंग की अनुमति थी, और आगंतुकों को 5 गहराई तक। यदि वे बाहर निकलने का रास्ता नहीं ढूंढ पाते थे, तो वे गुस्सा हो जाते थे। हालांकि, जिन ग्राहकों ने नक्शे खरीदे थे, उन्हें 7 गहराई तक खोजने की अनुमति थी, जिससे वे बाहर निकलने का रास्ता आसानी से ढूंढ पाते थे। यह सब रोलर कोस्टर टाइकून को सुचारू रूप से चलाने के लिए किया गया था।