आपके द्वारा बताए गए ये चरण सबसे अलग इंजनों में होने की संभावना है। यह सिर्फ इतना है कि साधारण गेम इंजन आमतौर पर एक पास में होते हैं। आपका क्रम
for each object
do physics
do game logic
draw
हो जाता है
call physics subsystem
call game logic subsystem
call drawing subsystem
भौतिकी इंजन पदों और आकारों का ध्यान रखता है।
गेम लॉजिक इंजन यह व्याख्या करने का ध्यान रखता है कि भौतिक विज्ञान इंजन क्या बदल गया (वह कुछ तरह से बाधा डाल सकता है ...), लक्ष्यों के पात्रों में क्या है और उन्हें क्या व्यवहार करना चाहिए , वह अनुसूचित स्क्रिप्ट (यह कार्य सोचते हैं) चलाता है ।
ड्रॉइंग इंजन ऐसी वस्तुएं बनाता है जो वस्तुएं दिखाई देती हैं, और वह जानती है कि कौन सी वस्तुएं दिखाई देती हैं क्योंकि क्वेक इंजन यहां धोखा देते हैं (ड्रा अनुभाग देखें)।
आपको मेरी सलाह यह है कि उस गेम इंजन के बजाय सिमुलेशन का अध्ययन कैसे किया जाए। खेल विकास से संबंधित एक विशाल पॉप-संस्कृति है और खेल इंजन अनिवार्य भाषाओं (परंपरा और गति के कारण) में बने हैं; इसलिए मेरे लिए यह अच्छा था कि मैं अच्छी पाठ्यपुस्तकें (बल्कि सिद्धांत) प्राप्त करूं और इंजनों (पज़ल) को देखने की बजाय इंजन और पहेली को देखूं कि उन्होंने यह कैसे किया।
भौतिक विज्ञान
सभी संस्थाओं को पुनरावृति करने की पूरी धारणा और {सोचना, आकर्षित करना} शायद समस्याओं को जन्म देगा। संघर्ष वगैरह होंगे। मुझे विश्वास है कि वाल्व में हॉक है और मुझे लगता है कि हॉक पर्याप्त-सही भौतिकी का ख्याल रखता है।
सोच
थिंक फंक्शन तब चलाया जाता है जब गेम में एक समय नेक्थिंक में समय के बराबर होता है । यह क्वेक इंजन में इस तरह से काम करता है, और क्वेक इंजन हाफ लाइफ इंजन के लिए आधार है। यह हर बार नहीं चलाया जाता है।
आंतरिक रूप से यह संस्थाओं की एक सूची के माध्यम से एक सरल पुनरावृत्ति होना चाहिए और यह सोचने के लिए कि क्या फ़ंक्शन को कॉल करने के लिए समय बीत गया है। समय जटिलता ओ (एन) होगी, जहां एन संस्थाओं की संख्या है।
यदि बहुत बड़ी संख्या में इकाइयाँ हैं, तो आपको यह मापना चाहिए कि यह एफपीएस में कितना सुधार करेगा। ध्यान दें, क्योंकि Amdahl के नियम के कारण यह संभावित रूप से अदृश्य स्पीडअप है। मेरा मतलब है, आप बस सभी वस्तुओं को गर्तित करते हैं और एक संख्या को घटाते हैं और जांचते हैं।
मैं नेक्थिंक द्वारा संस्थाओं को सॉर्ट करके इसे गति प्रदान करूंगा (प्रत्येक बार संस्थाओं को पॉइंटर्स की सूची बनाऊंगा और इसे हर बार सॉर्ट करूंगा; संस्थाओं की सरणी नहीं, क्योंकि इकाइयां कभी भी अपने नेक्थिंक को बदल सकती हैं, इसलिए उन्हें सरणी में पुन: व्यवस्थित करने से O के बजाय O (N) लगता है? 1) सूची में)।
आपको लिनक्स में O (1) अनुसूचक को भी देखना चाहिए ।
खींचना
इंजन खींचता है कि कैमरा किस क्षेत्र से दिखाई दे रहा है। खेल का स्तर एक पेड़ में विभाजन है, और एक क्षेत्र उस पेड़ का पत्ता है। मैं आपको इसके बारे में विवरण से परेशान नहीं करूंगा ... इसलिए यदि कोई इकाई दिखाई दे रही है तो इसे दृश्यमान संस्थाओं के एक समूह में डाल दिया जाता है और वे तैयार हो जाते हैं।
वे संग्रहीत करते हैं कि कौन से क्षेत्र संभावित रूप से दृश्यमान क्षेत्र हैं। इसे "संभावित दृश्यमान सेट" कहा जाता है , संक्षिप्त रूप से पीवीएस । पीवीएस का दृश्य है , हरे रंग का कैप्सूल खिलाड़ी है और उसके आस-पास उसके पीवीएस हैं जो प्रदान किए गए हैं।
<some commercial engine>
यह कैसे होता है?