3 डी से बचें , क्योंकि आपको यह जानना होगा कि 3 डी मॉडल कैसे बनाएं या अच्छे वाले कैसे ढूंढें, आपको यह जानना होगा कि ऐसे मॉडल (अक्सर अपने आप में एक महाकाव्य का काम कैसे करें, दुख की बात है), और उन्हें स्क्रीन पर कैसे आकर्षित करें (जैसे ओपनगैल या डायरेक्टएक्स थोड़ा लाभ के लिए बहुत काम लेता है, और यहां तक कि jMonkeyEngine जैसे इंजन को बुनियादी 3 डी ज्ञान के साथ-साथ इंजन का उपयोग करने के लिए ज्ञान की आवश्यकता होती है)। स्क्रीन पर 2 डी छवियों को ब्लिट करना और उन्हें इधर-उधर ले जाना, वर्टिकल, मटेरियल, व्यू मैट्रिसेस, ट्रांसफॉर्म आदि से निपटने की तुलना में कहीं अधिक सरल है। मुझे लगता है कि आपको बिंदु मिल जाएगा।
अंतर्निहित जावा पुस्तकालयों और कक्षाओं के साथ छड़ी: Graphics2D, ImageIO, AWT माउस और कीबोर्ड श्रोताओं, कैनवस, जावा साउंड एपीआई, और इसी तरह। कुछ अन्य पुस्तकालय खोजने के बजाय इनसे चिपके रहने के लाभों में शामिल हैं: आप उन्हें पहले से ही जानते हैं (कुछ हद तक), आप जानते हैं कि वे अच्छी तरह से परीक्षण किए गए हैं और स्थिर हैं और आम तौर पर समझ में आता है, ऑनलाइन प्रलेखन और संसाधन प्रचुर मात्रा में हैं, और वे पोर्टेबल हैं आपको देशी पुस्तकालयों और उस सब के साथ अतिरिक्त पुस्तकालय स्थापित करने के बारे में चिंता करने की ज़रूरत नहीं है।
समय से पहले कोड स्निपेट्स की एक छोटी लाइब्रेरी बनाएं। इनमें एक छवि लोड करना, छवि को स्क्रीन पर स्थिति में लाना, छवि और अन्य प्रभावों को मापना, एक ध्वनि बजाना, पृष्ठभूमि संगीत बजाना, बॉक्स टकराव का पता लगाने के लिए बाध्य करना, ड्राइंग पाठ जैसी चीजें शामिल होंगी। एक कंकाल अनुप्रयोग भी है जो एक फ़्रेम (या एप्लेट) खोलता है, इसमें एक कैनवस जोड़ता है, और कैनवास के पेंट और रिपेंट तरीके को ओवरराइड किया जाना चाहिए, और एक धागा कैनवास रिपेंट विधि (या एक टाइमर जिसे कॉल करना चाहिए) को लूप करना चाहिए। अगर आप आस-पास खोजते हैं तो आप इन चीजों को सीख सकते हैं Java 2D game programming
। यह मानते हुए कि आपके पास अपने विश्वविद्यालय के पुस्तकालय तक पहुंच है, आपके पास अपने निपटान में कई अच्छी जावा खेल पुस्तकें होनी चाहिए; उन्हें बाहर की जाँच करें और ऊपर बताए गए स्निपेट के लिए उनके माध्यम से स्किम करें, और अन्य जिन्हें मैंने याद किया।
समय से पहले अपनी टीम के साथ काम का स्रोत नियंत्रण और विभाजन का अभ्यास करें।क्या आप तोड़फोड़, Git, Mercurial, या कुछ और का उपयोग करने जा रहे हैं? क्या सभी के कंप्यूटर जावा के समान-टू-डेट संस्करण पर सेट हैं? अपनी रिपॉजिटरी बनाएं, कुछ फाइलों को कमिट / पुश करें, सुनिश्चित करें कि सभी के पास रिपॉजिटरी की जाँच की गई है और आपके सिस्टम पर जाने के लिए तैयार है। हो सकता है कि एक 'हैलो वर्ल्ड' ऐप बनाएं और सुनिश्चित करें कि हर कोई इसे खींचने और संशोधित करने और इसे करने में सक्षम हो; और सुनिश्चित करें कि आप मर्ज करना संभालना जानते हैं (चाहे आप पूरी तरह से अच्छे संचार या जोड़ी प्रोग्रामिंग से बचें, या आप मर्ज टूल का उपयोग करना जानते हैं)। या, यदि आप स्रोत नियंत्रण से परिचित नहीं हैं, तो सुनिश्चित करें कि आप एक समाधान का पता लगाते हैं जो काम करता है; क्या यह जोड़ी प्रोग्रामिंग है, जबकि तीसरा व्यक्ति कला या आवाज़ करता है, या कुछ और, बस शुरू से व्यवस्थित होना सुनिश्चित करें या आप टन बर्बाद करेंगे।
उन वेबसाइटों के लिए बुकमार्क लिंक जो मुफ्त मीडिया प्रदान करती हैं। अन्य प्रश्नों में सूचीबद्ध इन प्रकार की साइटों की संख्या काफी है; फ्रीसाउंड जैसी साइटेंअपने खेल में उपयोग करने के लिए जल्दी से उपयोगी मीडिया खोजने के लिए एकदम सही हैं जब आपके पास इसे खरोंच से बनाने का समय नहीं है। बेशक इस साइट को बुकमार्क करें, ताकि आप एक सवाल पूछ सकें कि क्या आप किसी चीज़ पर अटक गए हैं। बुकमार्क फ़ोरम जैसे gamedev.net फ़ोरम ताकि आप उन्हें उत्तर के लिए खोज सकें। यदि आप किसी तृतीय-पक्ष लाइब्रेरी का उपयोग करने का विकल्प चुनते हैं, तो उनकी वेबसाइट को बुकमार्क करें। इन बुकमार्क को फ़ोल्डरों में व्यवस्थित करें और जितना संभव हो उतने को पकड़ो, और उन्हें साझा करना सुनिश्चित करें ताकि आप तीनों के पास बुकमार्क के समान उपयोगी पुस्तकालय हो। इन बुकमार्क को इकट्ठा करने और उन्हें टाइप / विषय द्वारा व्यवस्थित करने में बहुत समय नहीं लगता है, लेकिन यह आपको बहुत समय बचाता है जब आपको अपनी परियोजना के बीच में उन सभी वेबसाइटों को याद नहीं करना पड़ता है।
अधिक सुझावों के लिए, मेरे प्रश्न के उत्तर देखें "खेल विकास प्रतियोगिता की तैयारी कैसे करें?" ।
अपने शेष प्रश्न को संबोधित करने के लिए ... सामान्य सलाह है: उच्च लक्ष्य न रखें । हालाँकि, यह व्यापक रूप से इस बात पर निर्भर करता है कि आप कितने तैयार हैं (यानी मेरे उपरोक्त सुझाव) और जावा में आपके कौशल। यह काफी हद तक एक व्यक्तिगत निर्णय है जो आपके इतिहास पर आधारित है, लेकिन चूंकि आप में से किसी का भी गेम बनाने का इतिहास नहीं है (और इसलिए आवश्यक समय का आंकलन नहीं किया जा सकता है), वास्तव में वास्तव में कम है । वास्तव में मूल विचार के साथ आते हैं जिसे आसानी से किसी भी उन्नत अवधारणाओं के बिना 2 डी में लागू किया जा सकता है (जैसे कि पिक्सेलवाइज टकराव, पागल भौतिकी गणना, कण प्रभाव आदि) से बचें। लेकिन फिर एक प्राथमिकता वाली सूची बनाएंखेल की सुविधाओं के रूप में संभव के रूप में बहुत विस्तार में (जैसे संभव के रूप में कई अलग कार्यों में प्रत्येक सुविधा को तोड़ने)। इस तरह, आप बस जहाँ तक संभव हो सूची में अपना काम करें, और यदि आपको कुछ कम प्राथमिकता वाले कार्य नहीं मिलते हैं, तो यह बड़ी बात नहीं होनी चाहिए। इसे सावधानी से किया जाना चाहिए (आपको अभी भी समय के अंत में एक कार्यात्मक गेम की आवश्यकता है, इसलिए कार्यों का एक न्यूनतम सेट है जिसे करने की आवश्यकता है और कुछ कार्य अन्य कार्यों पर निर्भर करते हैं), लेकिन सामान्य तौर पर मुझे लगता है कि यह है सबसे अच्छा तरीका जब आपको नहीं पता कि चीजें कितनी लंबी होंगी।