CodeGym /Java Blog /अनियमित /शुरुआत में, वहाँ था ...
John Squirrels
स्तर 41
San Francisco

शुरुआत में, वहाँ था ...

अनियमित ग्रुप में प्रकाशित
शुरुआत में... - 1 मेरी पहली नौकरी की परिवीक्षा अवधि 3 साल पहले समाप्त हो गई थी, लेकिन अब मुझे लेख लिखने का समय मिला। मैंने अपने विश्वविद्यालय में विभिन्न विभागों में एक वर्ष बिताया: अपने पहले सेमेस्टर में, मैंने प्रबंधन का अध्ययन किया, और अपने दूसरे सेमेस्टर में, मैंने सॉफ्टवेयर इंजीनियरिंग में स्विच किया। मुझे उम्मीद थी कि वे मुझे प्रोग्राम करना सिखाएंगे, लेकिन मुझसे गलती हुई। इसलिए, मैंने सामग्री एकत्र की और सब कुछ अपने दम पर सीखने का फैसला किया। मेरे शिक्षक का आभारी होने का एकमात्र कारण यह है कि उन्होंने सिफारिश की कि मैं स्टीफन प्रैट की ईबुक "द सी प्रोग्रामिंग लैंग्वेज" से शुरू करूं। यह वास्तव में बहुत सारे व्यावहारिक अभ्यासों के साथ एक अच्छी किताब है। मैंने किताब पर लगभग 2 महीने बिताए, जिसके बाद मैंने इस ऑनलाइन जावा पाठ्यक्रम को एक मित्र के समूह में देखा और इस तरह यह शुरू हुआ। सबसे पहले, मैंने Android डेवलपर बनने की योजना बनाई, लेकिन जैसे-जैसे मैं अपने सीखने में आगे बढ़ता गया, वैसे-वैसे बैकएंड मुझे अधिक दिलचस्प लगने लगा। वैसे, मुझे 20 के स्तर तक पहुँचने के लिए 3 महीने का अध्ययन करना पड़ा, जिसके बाद मैंने नौकरी खोजने की कोशिश करने का फैसला किया। व्यवसाय का पहला क्रम दूसरे शहर में जाना थाचूंकि मेरे पास जूनियर जावा डेवलपर के लिए कोई अवसर नहीं था। मुझे एक कंपनी मिली, आवेदन किया, और एक परीक्षण कार्य प्राप्त किया, जिसे पूरा करने के लिए मुझे एक सप्ताह का समय दिया गया। मुझे हाइबरनेट, सर्वलेट/जेएसपी और माईएसक्यूएल का उपयोग करके एक साधारण वेब एप्लिकेशन लिखना पड़ा। इन सभी शर्तों को देखकर, मुझे केवल इतना पता था कि MySQL एक डेटाबेस था। पहले तो मैं बहुत निराश हुआ। मैंने कुछ केएफसी में नौकरी के अवसर तलाशने का भी फैसला किया, लेकिन फिर मैंने परीक्षण कार्य में दरार डालने का संकल्प लिया। आखिरकार, मुझे हमेशा केएफसी में नौकरी मिल सकती थी। मैंने पूरे सप्ताह बिना रुके काम किया और परीक्षण पूरा करने में सफल रहा। मैंने अपना समाधान प्रस्तुत किया, लेकिन यह "सुंदर नहीं था", इसलिए मैंने इसे 4 बार और संशोधित किया। मेरा अंतिम समाधान सही निकला, लेकिन पद पहले ही भरे जा चुके थे और अतिरिक्त आवेदन 3 महीने तक स्वीकार नहीं किए जाएंगे। तुम क्या करने वाले हो, है ना? अगले 3 महीनों के लिए, मैंने HTML, CSS, JS, SQL और PHP सीखी। पीएचपी क्यों? मुझे एक सर्वर भाषा की आवश्यकता थी जो अनुरोधों और इस तरह का जवाब दे। उस समय सर्वलेट्स और जेएसपी बहुत जटिल लगते थे। अंत में, मैंने एक भयानक इंटरफ़ेस के साथ एक पूर्ण वेब एप्लिकेशन तैयार किया। मैंने अपने पोर्टफोलियो के लिए गिटहब पर कोड प्रकाशित किया। इस समय तक, 3 महीने बीत चुके थे और उसी कंपनी ने मुझसे फिर से संपर्क किया और मुझे एक साक्षात्कार के लिए आमंत्रित किया, जिससे SQL के अपने ज्ञान का परीक्षण करने के लिए एक और सरल कार्य दिया गया, जिसे मैंने कुछ घंटों में पूरा कर लिया। जिस व्यक्ति से मैं रोजगार के बारे में बात कर रहा था, उसने संकेत दिया कि वे एल्गोरिदम और डेटा संरचनाओं के बारे में पूछेंगे - जिन विषयों पर मेरे पास मास्टर करने का समय नहीं था। उस ने कहा, साक्षात्कार से पहले 15 दिन थे। मुझे यह मिल गया! रॉबर्ट लाफोर की पुस्तक "डेटा स्ट्रक्चर्स एंड एल्गोरिदम इन जावा" ने मेरी मदद की। मैं नहीं था' मेरे पास दो सप्ताह में यह सब पढ़ने और समझने का समय नहीं है, लेकिन फिर भी मैंने बहुत कुछ सीखा। और फिर इंटरव्यू का दिन आ गया। मैं नियत समय पर आ गया। दो आदमियों ने मेरा अभिवादन किया और साक्षात्कार शुरू हुआ। कहने के लिए मैं चिंतित था एक जंगली ख़ामोशी होगी। मेरी आवाज कांप उठी। उन्होंने एल्गोरिदम और डेटा संरचनाओं को छोड़कर सब कुछ के बारे में पूछा। उन्होंने स्प्रिंग, डीआई, आईओसी, हाइबरनेट के बारे में पूछा, जेवीएम कैसे काम करता है, कचरा कलेक्टर कैसे काम करता है - मैं इनमें से एक भी सवाल का जवाब नहीं दे पाया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। और फिर इंटरव्यू का दिन आ गया। मैं नियत समय पर आ गया। दो आदमियों ने मेरा अभिवादन किया और साक्षात्कार शुरू हुआ। कहने के लिए मैं चिंतित था एक जंगली ख़ामोशी होगी। मेरी आवाज कांप उठी। उन्होंने एल्गोरिदम और डेटा संरचनाओं को छोड़कर सब कुछ के बारे में पूछा। उन्होंने स्प्रिंग, DI, IoC, हाइबरनेट के बारे में पूछा, JVM कैसे काम करता है, कचरा कलेक्टर कैसे काम करता है - मैं इनमें से एक भी सवाल का जवाब नहीं दे पाया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। और फिर इंटरव्यू का दिन आ गया। मैं नियत समय पर आ गया। दो आदमियों ने मेरा अभिवादन किया और साक्षात्कार शुरू हुआ। कहने के लिए मैं चिंतित था एक जंगली ख़ामोशी होगी। मेरी आवाज कांप उठी। उन्होंने एल्गोरिदम और डेटा संरचनाओं को छोड़कर सब कुछ के बारे में पूछा। उन्होंने स्प्रिंग, डीआई, आईओसी, हाइबरनेट के बारे में पूछा, जेवीएम कैसे काम करता है, कचरा कलेक्टर कैसे काम करता है - मैं इनमें से एक भी सवाल का जवाब नहीं दे पाया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। कहने के लिए मैं चिंतित था एक जंगली ख़ामोशी होगी। मेरी आवाज कांप उठी। उन्होंने एल्गोरिदम और डेटा संरचनाओं को छोड़कर सब कुछ के बारे में पूछा। उन्होंने स्प्रिंग, डीआई, आईओसी, हाइबरनेट के बारे में पूछा, जेवीएम कैसे काम करता है, कचरा कलेक्टर कैसे काम करता है - मैं इनमें से एक भी सवाल का जवाब नहीं दे पाया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। कहने के लिए मैं चिंतित था एक जंगली ख़ामोशी होगी। मेरी आवाज कांप उठी। उन्होंने एल्गोरिदम और डेटा संरचनाओं को छोड़कर सब कुछ के बारे में पूछा। उन्होंने स्प्रिंग, DI, IoC, हाइबरनेट के बारे में पूछा, JVM कैसे काम करता है, कचरा कलेक्टर कैसे काम करता है - मैं इनमें से एक भी सवाल का जवाब नहीं दे पाया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया। मैंने केवल जावा कोर (संग्रह, अपवाद, ओओपी, आदि) के बारे में प्रश्नों का सफलतापूर्वक उत्तर दिया। साक्षात्कार में रहते हुए भी, मुझे पता था कि मैं इसमें असफल रहा, लेकिन फिर भी मुझे कोई प्रतिक्रिया नहीं मिलने से निराशा हुई। इसके बजाय, मैंने अपने ज्ञान में कमियों की पहचान की और उन्हें बंद करने के लिए लगन से काम करना शुरू कर दिया।मेरे असफल साक्षात्कार के एक महीने बाद मुझे नौकरी मिल गई। वैसे, मैंने CodeGym पर चर्चाओं में नौकरी के उद्घाटन को पाया ( CodeGym CodeGym का रूसी-भाषा संस्करण है — संपादक की टिप्पणी). सबसे पहले, एक रिक्रूटर के साथ स्काइप इंटरव्यू हुआ (यह लगभग 2 घंटे तक चला)। उन्होंने जावा कोर, कचरा संग्रह (अब मुझे पता था कि यह कैसे काम करता है), डेटाबेस और डेटा संरचनाओं के बारे में पूछा। साक्षात्कारकर्ता ने मुझे अपनी स्क्रीन साझा करने और कैलकुलेटर लिखने के लिए कहा। मैं लगभग खुशी के मारे रो पड़ा, क्योंकि मैंने एक हफ्ते पहले ही कैलकुलेटर लिखा था। अपने आप पर विश्वास करते हुए, मैंने कार्य प्रारंभ किया। लेकिन चाहे मेरी उत्तेजना के कारण या किसी अन्य कारण से, मैं एल्गोरिथम का हिस्सा भूल गया। मेरी स्क्रीन साझा की गई थी। मैं Google से परामर्श करने से डरता था। सौभाग्य से, मेरे पास मेरा मोबाइल फोन था, जिसने मेरी गांड बचा ली। अगले दिन, उन्होंने एक व्यक्तिगत साक्षात्कार के लिए बुलाया और कुछ दिनों बाद मुझे एक प्रस्ताव मिला. यह आधिकारिक स्थिति नहीं थी। मेरी भूमिका एक एकल मालिक के प्रशिक्षु की थी। हमने इवेंट प्लानिंग, टिकट बेचने आदि के लिए एक सेवा लिखी। मुझे अपने काम का पहला दिन याद है। मेरे बॉस को यह समझाने में 15 मिनट लगे कि क्या किया जाना चाहिए। "क्या सब कुछ स्पष्ट है?" उसने पूछा। "हम्म, वास्तव में नहीं। क्या आप इसे एक बार और देख सकते हैं?" मैंने बड़ी चिंता से पूछा। बॉस ने फिर से सब कुछ समझाया। "यह अब स्पष्ट है?" "हाँ, अब है।" दरअसल, मुझे कुछ समझ नहीं आया। लेकिन मैं दूसरा स्पष्टीकरण मांगने से डर रहा था। मुझे लगता है कि नौकरीपेशा कोई भी व्यक्ति इसे समझ सकता है। कार्य थाइमेलीफ से एंगुलरजेएस में पोर्ट करने के लिए कम हो गया। सौभाग्य से, मुझे तैयार कोड का एक हिस्सा मिला और इसे एक उदाहरण के रूप में इस्तेमाल किया कि क्या करना है। मुझे समझ नहीं आया कि यह कैसे काम करता है, लेकिन मैंने काम पूरा कर लिया। मुझे बाद में सीधे बैकएंड से संबंधित कार्य सौंपे गए। वसंत के साथ एक व्यावहारिक अनुभव के बाद ही मैंने "वसंत पेशेवरों के लिए" में जो पढ़ा है उसे समझना शुरू कर दिया। मैंने वहां 8 महीने काम किया और फिर दूसरे शहर चला गया, जहां मुझे जल्दी से एक आधिकारिक नौकरी मिल गई, 2 साल तक काम किया और रास्ते में अपना शीर्षक "जूनियर" से "मध्य स्तर" में बदल दिया। तब मैंने इस तथ्य का सामना किया कि मेरा काम नियमित हो गया था और मुझे खुशी की एक बूंद भी नहीं दी। इसलिए मैंने ब्रेक लिया। अपने ब्रेक के दौरान अपनी उंगलियों को कमजोर होने से रोकने के लिए, मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। वसंत के साथ एक व्यावहारिक अनुभव के बाद ही मैंने "वसंत पेशेवरों के लिए" में जो पढ़ा है उसे समझना शुरू कर दिया। मैंने वहां 8 महीने काम किया और फिर दूसरे शहर चला गया, जहां मुझे जल्दी से एक आधिकारिक नौकरी मिल गई, 2 साल तक काम किया और रास्ते में अपना शीर्षक "जूनियर" से "मध्य स्तर" में बदल दिया। तब मैंने इस तथ्य का सामना किया कि मेरा काम नियमित हो गया था और मुझे खुशी की एक बूंद भी नहीं दी। इसलिए मैंने ब्रेक लिया। अपने ब्रेक के दौरान अपनी उंगलियों को कमजोर होने से रोकने के लिए, मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। वसंत के साथ एक व्यावहारिक अनुभव के बाद ही मैंने "वसंत पेशेवरों के लिए" में जो पढ़ा है उसे समझना शुरू कर दिया। मैंने वहां 8 महीने काम किया और फिर दूसरे शहर चला गया, जहां मुझे जल्दी से एक आधिकारिक नौकरी मिल गई, 2 साल तक काम किया और रास्ते में अपना शीर्षक "जूनियर" से "मध्य स्तर" में बदल दिया। तब मैंने इस तथ्य का सामना किया कि मेरा काम नियमित हो गया था और मुझे खुशी की एक बूंद भी नहीं दी। इसलिए मैंने ब्रेक लिया। अपने ब्रेक के दौरान अपनी उंगलियों को कमजोर होने से रोकने के लिए, मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। जहां मुझे जल्दी से एक आधिकारिक नौकरी मिल गई, 2 साल तक काम किया और रास्ते में अपना शीर्षक "जूनियर" से "मध्य स्तर" में बदल दिया। तब मैंने इस तथ्य का सामना किया कि मेरा काम नियमित हो गया था और मुझे खुशी की एक बूंद भी नहीं दी। इसलिए मैंने ब्रेक लिया। अपने ब्रेक के दौरान अपनी उंगलियों को कमजोर होने से रोकने के लिए, मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। जहां मुझे जल्दी से एक आधिकारिक नौकरी मिल गई, 2 साल तक काम किया और रास्ते में अपना शीर्षक "जूनियर" से "मध्य स्तर" में बदल दिया। तब मैंने इस तथ्य का सामना किया कि मेरा काम नियमित हो गया था और मुझे खुशी की एक बूंद भी नहीं दी। इसलिए मैंने ब्रेक लिया। अपने ब्रेक के दौरान अपनी उंगलियों को कमजोर होने से रोकने के लिए, मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं। मैंने दूसरे क्षेत्र में अपना हाथ आजमाने का फैसला किया: खेल विकास। अधिक विशेष रूप से, मोबाइल गेम डेवलपमेंट, एंड्रॉइड चुनना, क्योंकि मैं पहले से ही जावा जानता था। और अब मैं इसके बारे में विस्तार से बात करने जा रहा हूं।मेरी टीम। संक्षेप में, मैंने 4 लोगों (मेरे सहित) की एक छोटी टीम को इकट्ठा किया था: 2 डेवलपर्स, 1 गेम डिज़ाइनर और 1 साउंड इंजीनियर। क्योंकि टीम में किसी को भी खेल के विकास का कोई अनुभव नहीं था, और क्योंकि मेरी छुट्टी का समय सीमित था, हमने एक साधारण परियोजना को लागू करने का फैसला किया जिसे हम निश्चित रूप से पूरा कर पाएंगे। और इसलिए हमने किया! प्रारंभ में, समय सीमा 15 नवंबर थी, लेकिन जैसा कि आप जानते हैं, किसी परियोजना को निर्धारित समय पर पूरा करना गलत है। इसलिए, हमने इसे दो सप्ताह देर से समाप्त किया। हमारे टेक्नोलॉजी स्टैक में Java 8 और libGDX शामिल थे।

विकास

विकास 17 अक्टूबर को शुरू हुआ। कुल मिलाकर, हमने 45 दिन बिताए जिसके दौरान:
  1. हमने सीखा कि कैसे libGDX का उपयोग करना है।
  2. हमने कोड लिखा।
  3. हमने ग्राफिक्स बनाए।
  4. हमने संगीत बनाया।
जिसने भी खेल देखा है वह पूछ सकता है, "इतना समय क्यों लगा? खेल इतना सरल है।" हां, यह सच है, और सटीक होने के लिए, विकास भाग (कोड लिखने) में लगभग डेढ़ सप्ताह लग गए। शेष समय के बीच विभाजित किया गया था:
  1. गेम इंजन का उपयोग करने के तरीके में महारत हासिल करना।
  2. ड्राइंग और redrawing कलाकृति।
  3. संगीत लिख रहा है।
  4. Https://freesound.org पर ध्वनि खोजना ।
  5. खेलों को बढ़ावा देने के तरीकों पर ढेर सारे लेख पढ़ना।
हमारे पास विभिन्न कारणों से "डाउनटाइम" के क्षण भी थे: किसी की परीक्षा थी, किसी और की मेक-अप परीक्षा थी, आदि। हम निश्चित रूप से डाउनटाइम के लिए डेढ़ या अधिक सप्ताह का श्रेय दे सकते हैं। कुछ समय "बहस" पर भी बिताया गया था: खेल में क्या जोड़ना है, इसके बारे में नए विचार लगभग हर दिन दिखाई देते थे, इसलिए हमने बहस की: "यह अतिश्योक्तिपूर्ण है," "यह फिट नहीं होगा," आदि। हमने बहुत सारे विचारों को फेंक दिया, उदाहरण के लिए, दौड़ते तिलचट्टों को जोड़ना जिन्हें अतिरिक्त अंक प्राप्त करने के लिए कुचला जा सकता है: मेरी राय में, सबसे कठिन चीजों में से एक यह था कि पहले से तय कर लिया जाए कि खेल में क्या होगा और "बस एक और" जोड़ने की कोशिश किए बिना योजना से चिपके रहना था। " विशेषता। इस तरह ये 45 दिन जमा हो गए। खेल का एक प्रोटोटाइप डेढ़ हफ्ते बाद तैयार हुआ। इस अवधि के दौरान, हमारे पास वास्तव में कोई ग्राफिक्स नहीं थे, शुरुआत में, था... - 2खेल तकनीकी दृष्टि से बहुत सरल है। हमें box2d (भौतिकी इंजन) का उपयोग करने की भी आवश्यकता नहीं थी। हम टक्करों को संभाल सकते हैं और कर्ण की गणना स्वयं कर सकते हैं। मैं जिन सबसे दिलचस्प बिंदुओं पर प्रकाश डालूंगा वे हैं:
  1. प्रारंभ में, सभी खेल तत्व बेतरतीब ढंग से उत्पन्न हुए थे। दूसरे शब्दों में, हमने प्रदाताओं (ब्लैक होल, कैंची, निंजा सितारे, पेंसिल लेड, दिल) को एक सरणी में रखा, एक यादृच्छिक प्रदाता मिला, यादृच्छिक निर्देशांक वाला एक तत्व मिला। यह बहुत जल्दी स्पष्ट हो गया कि यह दृष्टिकोण "वास्तव में अच्छा नहीं था"। परीक्षण में भाग लेने वाले दोस्तों ने हमें यही बात बताई, टेम्प्लेट के उपयोग की सिफारिश की। खेल के विकास में शामिल लोगों के लिए, यह संभवतः एक स्पष्ट समाधान है। लेकिन क्योंकि हम इस क्षेत्र में नए आए थे, यह हमारे लिए बहुत ही व्यावहारिक सलाह थी।

    इसलिए हमने कई टेम्प्लेट बनाए: कैंची की घाटी; पेंसिल लीड - उन्हें बहुत तेजी से इकट्ठा करना बहुत अच्छा है (हूश, जोश, जोश अपनी उंगली से); और एक और टेम्प्लेट जिसे मैं नहीं जानता कि क्या कॉल करना है — मैं बस आपको बताऊंगा कि हमने अपने कोड में क्लास को क्या नाम दिया है: StraightForwardPattern.

    शुरुआत में, था... - 3

    इन टेम्प्लेट ने इसमें सुधार किया, लेकिन यह किसी भी तरह से बहुत अधिक अनुमानित हो गया। इसलिए हमने एक और जोड़ा: एक यादृच्छिक टेम्पलेट। दूसरे शब्दों में, अब हमारे पास कुछ "स्थैतिक" टेम्पलेट हैं और एक यादृच्छिक (यहां "पूरी तरह से संतुलित" मीम डालें)।

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

    समाधान काफी सरल था: हमें अंतिम निर्देशांक याद हैं जहां बनावट खींची गई है, अगले निर्देशांक प्राप्त करें, और यदि उनके बीच की दूरी X से अधिक है और उंगली जारी नहीं की गई है, तो हम अंतर को भरते हैं। पहले, हमने सोचा कि शायद यह विकल्प काम न करे — रेखाएँ कोणीय होंगी। लेकिन हमारी आशंका निराधार थी, सब कुछ वैसा ही काम कर रहा था जैसा उसे करना चाहिए।

खेल के बारे में

गेमप्ले अद्वितीय होने का दावा नहीं करता है, लेकिन यह काफी अच्छा है और उपयोगकर्ताओं को अपनी ओर खींच सकता है। आप एक पेंसिल को नियंत्रित करते हैं, शाब्दिक रूप से कागज पर ड्राइंग करते हैं और बाधाओं को चकमा देते हैं - कैंची, निंजा सितारे और ब्लैक होल। इस बीच, आपकी पेंसिल का लेड खत्म हो रहा है और आपको छोटी पेंसिल लेने की जरूरत है। यदि आपकी पेंसिल एक छोटी पेंसिल लेने से पहले समाप्त हो रही है, तो आप एक दर्पण का एक टुकड़ा उठा सकते हैं। कुछ सेकंड के लिए, पेंसिल लेड का उपभोग करने के बजाय, इसे बहाल कर दिया जाएगा, हालांकि, उसी समय, नियंत्रणों को प्रतिबिंबित किया जाता है - यदि आपकी उंगली बाईं ओर चलती है, तो पेंसिल दाईं ओर आ जाती है। आप एक दिल भी उठा सकते हैं जो आपको एक बार एक बाधा से टकराने और जीवित रहने देगा। जितनी देर आप अपनी उंगली उठाए बिना पेंसिल को हिलाएंगे, आपका कॉम्बो उतना ही ऊंचा होगा, जिसका मतलब है कि आप तेजी से अंक जमा करेंगे। शुरुआत में, था... - 4खेल की गति भी धीरे-धीरे बढ़ती है। केवल एक चीज की कमी है एंग्री बर्ड्स। प्रारंभ में, हमने खेल का नाम करण डैश रखने की योजना बनाई (पेंसिल के लिए रूसी शब्द का लिप्यंतरण करंदश है - हा! इसे प्राप्त करें?), लेकिन बाद में हमने अपना विचार बदल दिया और पेंसिल डैश पर बस गए। हमने ऐसा इसलिए किया क्योंकि यह सुंदर वाक्य केवल रूसी भाषी दर्शकों द्वारा ही समझा जाएगा। हमने कुछ दिन पहले गेम जारी किया था और अब इसे प्रमोट कर रहे हैं। यहां भी टीम में किसी के पास कोई अनुभव नहीं है। हमने गेम प्रमोशन के बारे में अपना सारा ज्ञान विभिन्न लेखों से प्राप्त किया। हमने विभिन्न वेबसाइटों/मंचों पर मुफ्त में गेम के बारे में जानकारी प्रकाशित की। हमारे सशुल्क चैनलों में 4pd पर विज्ञापन, एक ब्लॉगर के साथ विज्ञापन, VKontakte पर सार्वजनिक समूहों में कई पोस्ट और AdMob विज्ञापन शामिल हैं। वैसे, यह पोस्ट भी हमारे प्रचार का हिस्सा है, इसलिए वेबसाइट के प्रशासन से अनुमति लेकर, मैं यहां गेम का लिंक शामिल कर रहा हूं। आप Google Play पर गेम यहां पा सकते हैं । यदि आप इसे स्थापित करेंगे तो मैं आभारी रहूंगा (शायद आप इसे पसंद करेंगे!), और यदि आप एक रेटिंग छोड़ देंगे, तो मैं आपके नाम पर एक बच्चे का नाम रखने का वादा करता हूं! :) शुरुआत में, था... - 6
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION