गेम मेकर [बंद] बनाम पायथन प्रदर्शन


14

मैं मूल रूप से अजगर और एसएफएमएल के साथ एक गेम बनाने की सोच रहा था। मैं समझता हूं कि पायथन C ++ की तुलना में धीमा है, लेकिन गेम मेकर की तुलना में यह कैसे है?

मेरे द्वारा पूछे जाने का मुख्य कारण यह है कि मैंने हाल ही में एक गेम मेकर गेम (The Iconoclasts) खेला है, जो मेरे कंप्यूटर (GMA 950) पर काफी खराब फ्रेम-दर पर चलता है। मुझे चिंता है कि मैं पायथन / एसएफएमएल के साथ इसी तरह के प्रदर्शन के मुद्दे रखूंगा।


गेम मेकर में बड़े पैमाने पर विकास हुआ है जिसे आप देखना चाहते हैं
जेफ

जवाबों:


50

कहने के लिए "पायथन, सी ++ की तुलना में धीमा है" एक सामान्यीकरण है जो वास्तविक दुनिया की बहुत सारी व्यावहारिकताओं को अनदेखा करता है और आमतौर पर भरोसा करने के लिए एक खराब तरह का निर्णय है। आप वास्तव में क्या करना चाहते हैं, यह देखें कि कोई विशेष भाषा या तकनीक आपकी आवश्यकताओं के संदर्भ में तालिका में क्या ला सकती है और इसी तरह, अपनी आवश्यकताओं के विरुद्ध उस प्रौद्योगिकी के किसी भी संभावित पतन का मूल्यांकन करें।

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

गेम मेकर गेम के खराब प्रदर्शन के लिए, जो कि कई कारकों के कारण हो सकता है, जिनमें से कुछ उस गेम के लिए विशिष्ट हैं, जैसे कि विशिष्ट खराब कोड जो गेम मेकर के टूल या स्क्रिप्टिंग भाषाओं के माध्यम से लिखे गए हैं। यह आवश्यक रूप से गेम मेकर की गलती नहीं है।


2
@Nevermind, आप कर सकते हैं - sockpuppets के लिए Google । :) बस मजाक कर - मैं तुम्हारे लिए एक वोट जोड़ दूँगा। 5001 - कूल, वह अब टैग-विकी एडिट्स पर वोट कर सकता है ...
साइक्लोप्स

1
GMA 950 पर मैं बिल्कुल आश्चर्यचकित नहीं होता अगर गेम सीपीयू बाउंड के बजाय जीपीयू बाउंड होता।
एडम

4

अगर मुझे सबसे बड़ा कारण यह अनुमान लगाना था कि आपने जो खेल खेला है, वह इतना धीमा है, तो ऐसा नहीं है कि यह एक गेम मेकर गेम है, बल्कि यह गेम मेकर विशेष रूप से नॉन-प्रोग्रामर के लिए ही मार्केट करता है। क्योंकि आपके पास गैर-प्रोग्रामर हैं जो गेम बना रहे हैं, इसकी संभावना है कि प्रश्न में खेल कुछ बहुत ही अयोग्य एल्गोरिदम का उपयोग करता है जो इसे धीमा चलाने का कारण बनता है।

जैसा कि ज्यादातर मामलों में, भाषा की गति केवल कार्यक्रम के समग्र प्रदर्शन को हल्के ढंग से प्रभावित करेगी। जब लोग कहते हैं "इस भाषा की तुलना में यह भाषा 50% धीमी है" और गति अभी भी दोनों मामलों में तेज है, तो आपको अंतिम उपयोगकर्ता के लिए कोई कम अंतर नहीं मिलेगा।


3

गेम मेकर एक अच्छा शुरुआती उपकरण है। लेकिन मैं आपको बड़े और बेहतर कार्यक्रमों की ओर बढ़ने की सलाह देता हूं यदि आपके पास कोई पिछला प्रोग्रामिंग अनुभव है। मैंने एक कॉलेज 2D गेम डेवलपमेंट कोर्स के लिए गेममेकर का उपयोग किया है, इसमें ड्रैग और ड्रॉप सिस्टम का उपयोग करना अच्छा, आसान है। हालाँकि, समस्या यह है कि प्रोग्राम का ड्रैग एंड ड्रॉप सबसे कुशल (या तार्किक) कमांड का उपयोग नहीं करता है। साथ ही ड्रैग एंड ड्रॉप बहुत सारे एडवांस कमांड का समर्थन नहीं करता है जो प्रोग्राम को निष्पादित करने में सक्षम है, इसलिए प्रोग्रामर को इसके साथ क्रिएटिव होना है, या कोड करना सीखना है। यदि आप गेममेकर कोड का उपयोग करना सीखते हैं, तो आप रिश्तेदार सहजता के साथ इसे प्राप्त कर पाएंगे।

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

लेकिन जैसा कि Kort Pleco ने पहले कहा था, अधिकांश भाषा गति स्पष्ट रूप से भिन्न नहीं हैं .. यह सब इस बात पर निर्भर करता है कि कोड कैसे लिखा और निष्पादित किया जाता है। बहुत से अतिरेक इसे काफी धीमा बना सकते हैं, जो आमतौर पर कोडिंग में अनुभव की कमी के कारण होता है।


2

जिस गेम पर मैं काम कर रहा हूं, उसके लिए मैं एक नया गेम शुरू करने के लिए बेतरतीब ढंग से इलाके बनाने के लिए एक डायमंड-स्क्वायर एल्गोरिथ्म का उपयोग करता हूं। प्रोजेक्ट या गेममेकर के लिए अजगर के साथ अजगर का उपयोग करने के बीच निर्णय लेने के लिए, मैंने दोनों में इलाके के जनरेटर को लागू किया। Pygame ने थोड़ा तेज प्रदर्शन किया, लेकिन अंतर नगण्य था। अंततः मैंने गेममेकर को चुना क्योंकि मैं इसमें बहुत तेजी से काम कर सकता हूं।


1

स्वीकृत उत्तर मृत है, लेकिन मैं लगभग 8 वर्षों के लिए जीएम उपयोगकर्ता के रूप में अपने 2 सेंट जोड़ना चाहता था।

जीएम के पास अनुकूलन के साथ कई मुद्दे थे इसलिए कुछ वैध चिंता है। पदावनत विधियों का एक समूह है * _variable_exists? जो गेममेकर प्री-स्टूडियो में मौजूद था। इस सुविधा पद्धति के कारण इसे लगभग हर कल्पनाशील पुस्तकालय और विस्तार में बदल दिया गया था जो जीएम के लिए लिखा गया था। इन तरीकों को चालू करना बहुत महंगा था और बड़े पैमाने पर खेल चलाने के दौरान प्रमुख मुद्दे पैदा कर रहे थे।

इसलिए ऐसे कई मामले हैं जहां जीएम वास्तव में खराब हो सकते हैं, लेकिन उचित ज्ञान और सावधानी के साथ यह किसी भी अन्य विधि (unity2d, pygame, आदि) से कम वैध नहीं है। बस खेल बनाओ और मज़े करो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.