मुझे गेम कोड के अच्छे (सुव्यवस्थित) उदाहरण कहां मिल सकते हैं? [बन्द है]


42

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

मैं किसी विशेष भाषा की परवाह नहीं करता, जब तक कि उसका ओ.ओ.पी. मैंने क्वेक 2 और 3 स्रोतों को देखा, लेकिन वे सीधे सी हैं और आपकी वस्तुओं को व्यवस्थित करने के लिए सुझाव प्राप्त करने में बहुत मदद नहीं करते हैं।

तो, क्या आपने कुछ अच्छे स्रोत देखे हैं? कोड के लिए कोई भी संकेत जो आपको कहता है "वाह, यह अच्छी तरह से व्यवस्थित है" बहुत अच्छा होगा।


1
यह वास्तव में सीधा जवाब नहीं है, इसलिए मैं इसे केवल एक टिप्पणी के रूप में छोड़ दूंगा। मैं जॉन लैकोस की पुस्तक लार्ज-स्केल C ++ सॉफ़्टवेयर डिज़ाइन की जाँच करने की सलाह देता हूँ। यह मेरे लिए बहुत ज्ञानवर्धक था।
ब्रफेल

जवाबों:


19

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

इसके अलावा, जबकि एक खेल नहीं है, OpenSceneGraph में एक गेम के कई घटक हैं और C ++ में अच्छी तरह से आर्किटेक्चर है, विभिन्न डिज़ाइन पैटर्न, प्लग-इन आदि का उपयोग करके, यह एक बड़ा पर्याप्त कोड बेस है और लंबे समय से पर्याप्त है जिसे आप सीख सकते हैं। इससे बहुत कुछ।


1
धन्यवाद, विकिपीडिया सूची उपयोगी थी। स्प्रिंग वास्तव में अच्छी तरह से व्यवस्थित है - सभी विधियां सामान्य कार्य (लोड / सेव, ड्राइंग, आदि) द्वारा समूहीकृत हैं github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria ने मुझे अपने बारे में बेहतर बताया कोड संगठन: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/… हालांकि मुझे इसकी आलोचना नहीं करनी चाहिए, असली कलाकार जहाज।
स्मैशर

मैं Ogre को OpenSceneGraph के साथ एक अच्छे संदर्भ के रूप में जोड़ूंगा ...
Kलेम

6

वेसनॉथ के लिए लड़ाई एक है:

एकल-खिलाड़ी और ऑनलाइन / हॉटसेट मल्टीप्लेयर मुकाबला दोनों की विशेषता वाली उच्च फंतासी थीम के साथ फ्री, टर्न-आधारित सामरिक रणनीति गेम

जीपीएल के तहत खुले में शौच से मुक्त। मैंने अभी-अभी इसे डाउनलोड / डाउनलोड किया है, इसलिए यह नहीं कह सकता कि गेमप्ले अभी तक कैसा है, लेकिन इसे बहुत अच्छी समीक्षाएं मिली हैं। और न ही मुझे पता है कि उनका कोड "सुव्यवस्थित" है :) लेकिन हे, यह ओपन-सोर्स है


वास्तव में मज़ेदार :): p
Qchmqs


4

यदि आप अच्छे OOP की तलाश में हैं - मुझे Doom3 SDK का ऑब्जेक्ट मॉडल काफी पसंद है ।
Ogre3D एक भारी OOP डिजाइन है, लेकिन मैं भारी पर जोर देता हूं क्योंकि मुझे लगता है कि यह बहुत सारे उदाहरणों और प्लग इन के साथ काफी फूला हुआ है।

आप क्या सोचते हैं मुझे बताओ।


2

मेरे पास अपनी साइट पर पुस्तकालयों और पूर्ण खेलों के लिए स्रोत कोड है एक और अर्ली मॉर्निंग आप मेरे GitHub पृष्ठ पर कुछ प्रोजेक्ट भी पा सकते हैं । यह सब गुणवत्ता का एक चमकदार उदाहरण नहीं है, लेकिन तब यह तब होता है जब आप कुछ जहाज करना चाहते हैं।


0

प्रोटोटाइप, श्मुप-देव प्रतियोगिताओं में से एक का विजेता:

http://xout.blackened-interactive.com/ProtoType/Prototype.html

और स्रोत कोड:

http://xout.blackened-interactive.com/dump/new/ProtoType_src.zip

चूंकि मैं एक कोड नौसिखिया हूं, इसलिए मैं गुणवत्ता के बारे में ज्यादा कुछ नहीं कह सकता, लेकिन सिर्फ इस पर ध्यान देने से मुझे कुछ अंतर्दृष्टि मिली। मज़े करो।


0

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

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