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