कौन सी सुविधाएँ इंजन से संबंधित हैं और कौन से खेल के लिए?


19

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

क्या सही हिस्सों में सही कार्यान्वयन पर ध्यान केंद्रित रखने के लिए कोई सर्वोत्तम अभ्यास है (जो कि इंजन बनाम गेम है)?

जवाबों:


25

वैसे इस बारे में सोचने के कुछ तरीके हैं। एक है उन विशिष्ट विशेषताओं को सूचीबद्ध करना जो इंजन के पास होनी चाहिए (आपने यहां क्या पूछा है।) हालांकि दूसरा तरीका यह है कि आप "इंजन" के बारे में बहुत अधिक चिंता किए बिना गेम बनाना शुरू करें, और फिर आपको जो सुविधाएँ मिलेंगी वे कई के बीच पुन: उपयोग की जा रही हैं। गेम (विशेष रूप से, प्रत्येक गेम में उपयोग की जाने वाली विशेषताएं ) आपको एक विशेष गेम के लिए स्रोत से एक साझा कोडबेस में बुलाया जाना चाहिए जिसे "इंजन" कहा जाता है। "

क्योंकि अंत में, आप इंजन में दिए गए फ़ीचर को गेम के बजाय क्यों चाहते हैं कि यह कई गेम्स के बीच साझा किया गया है। आमतौर पर यह ड्राइंग कमांड, इनपुट कंट्रोलर और नेटवर्किंग कोड जैसी चीजें होंगी। 2 डी गेम इंजन में बहुत सारे 2 डी ग्राफिक्स फ़ीचर होंगे, जैसे लोडिंग इमेज, जेड-ऑर्डर के साथ डिस्प्ले पदानुक्रम, स्प्राइटशीट, ट्वीनिंग आदि। बहुत सारे गेम में भौतिकी सिमुलेशन की ज़रूरत होती है, हालाँकि दूसरी ओर कई नहीं होते हैं। इस बीच लगभग हर खेल में उपयोग किए जाने वाले "हुड के तहत" सामान में टाइमर, ईवेंट मैसेजिंग और यहां तक ​​कि गणित भी गेम डेवलपमेंट के लिए विशिष्ट है।


कहानी संक्षिप्त में:

ए) इंजन में अधिकांश खेलों द्वारा साझा की जाने वाली विशेषताएं होनी चाहिए।

बी) आप सीखते हैं कि कौन-कौन सी विशेषताएं खेल का एक गुच्छा बनाकर साझा की जाती हैं।


7
+1 -just start making games without worrying too much about the "engine"
JCM

1
वैसे just start making games without worrying too much about the "engine"निश्चित रूप से एक अच्छा सुझाव है।
क्रिश्चियन आइविसेविच

3
मैं अपने ऊपर की दो टिप्पणियों से सहमत हूं, लेकिन "बस इंजन के बारे में चिंता किए बिना गेम बनाते हैं" टिप्पणी को संदर्भ से बाहर ले जाया गया है और बाकी के बिना व्यर्थ है: "और फिर आपको जो सुविधाएँ मिलती हैं उन्हें कई गेमों के बीच पुन: उपयोग किया जा रहा है (विशेष रूप से) , हर खेल में उपयोग की जाने वाली सुविधाएँ) आपको एक विशेष गेम के लिए स्रोत से एक साझा कोडबेस में "इंजन" नामक माइग्रेट करना चाहिए। संक्षेप में, अधिक से अधिक गेम बनाएं ताकि आपको पता चल सके कि एक इंजन के नीचे क्या जाना चाहिए और क्या होना चाहिए। ' t।

2
यह एक महान विचार है क्योंकि यह आपको इंजन सुविधाओं को लागू करने से भी रोकता है, जिनकी आपको वास्तव में अपने खेल में आवश्यकता नहीं है।
ज़ाचरी येट्स

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