CodeGym/Java Blog/यादृच्छिक/सुरुवातीला, तेथे होते ...
John Squirrels
पातळी 41
San Francisco

सुरुवातीला, तेथे होते ...

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
सदस्य
सुरुवातीला, होते ... - 1 माझ्या पहिल्या नोकरीचा प्रोबेशन कालावधी 3 वर्षांपूर्वी संपला, पण आताच मला लेख लिहिण्यासाठी वेळ मिळाला. मी माझ्या विद्यापीठात वेगवेगळ्या विभागांमध्ये एक वर्ष घालवले: माझ्या पहिल्या सत्रात, मी व्यवस्थापनाचा अभ्यास केला आणि माझ्या दुसऱ्या सत्रात, मी सॉफ्टवेअर अभियांत्रिकीकडे वळलो. मला आशा होती की ते मला प्रोग्रॅम कसे करायचे ते शिकवतील, पण माझी चूक झाली. म्हणून, मी साहित्य गोळा केले आणि स्वत: सर्वकाही शिकण्याचा निर्णय घेतला. मी माझ्या शिक्षकाबद्दल कृतज्ञ असण्याचे एकमेव कारण म्हणजे त्यांनी शिफारस केली की मी स्टीफन प्रॅटच्या ईबुक "द सी प्रोग्रामिंग लँग्वेज" पासून सुरुवात करावी. बरेच व्यावहारिक व्यायाम असलेले हे खरोखर एक चांगले पुस्तक आहे. मी पुस्तकावर सुमारे 2 महिने घालवले, त्यानंतर मी मित्रांच्या गटांमध्ये हा ऑनलाइन Java कोर्स पाहिला आणि त्यामुळे तो सुरू झाला. सुरुवातीला, मी Android विकसक बनण्याची योजना आखली, परंतु मी माझ्या शिक्षणात प्रगती करत असताना बॅकएंड मला अधिक मनोरंजक वाटला. तसे, लेव्हल 20 पर्यंत पोहोचण्यासाठी मला अभ्यास करण्यास 3 महिने लागले, त्यानंतर मी नोकरी शोधण्याचा प्रयत्न करण्याचा निर्णय घेतला. व्यवसायाचा पहिला आदेश दुसऱ्या शहरात जाण्याचा होतामाझ्याकडे ज्युनियर Java डेव्हलपरसाठी कोणतेही ओपनिंग नव्हते. मला एक कंपनी सापडली, अर्ज केला आणि एक चाचणी कार्य प्राप्त झाले, जे पूर्ण करण्यासाठी मला एक आठवडा देण्यात आला. मला हायबरनेट, सर्व्हलेट/जेएसपी आणि मायएसक्यूएल वापरून एक साधा वेब अनुप्रयोग लिहावा लागला. या सर्व अटी पाहून मला फक्त MySQL हा डेटाबेस आहे हे माहीत होते. सुरुवातीला मी खूप निराश झालो. मी काही KFC मध्ये जॉब ओपनिंग शोधण्याचा निर्णयही घेतला, पण नंतर मी चाचणीच्या कामात अडथळे आणण्याचा संकल्प केला. शेवटी, मला केएफसीमध्ये नेहमीच नोकरी मिळू शकते. मी आठवडाभर न थांबता काम केले आणि चाचणी पूर्ण करण्यात यशस्वी झालो. मी माझे समाधान सबमिट केले, परंतु ते "सुंदर नव्हते", म्हणून मी ते आणखी 4 वेळा सुधारित केले. माझा शेवटचा उपाय बरोबर निघाला, परंतु पदे आधीच भरली गेली होती आणि 3 महिन्यांसाठी अतिरिक्त अर्ज स्वीकारले जाणार नाहीत. तू काय करणार आहेस, बरोबर? पुढील ३ महिन्यांसाठी, मी HTML, CSS, JS, SQL आणि PHP शिकलो. PHP का? मला अशा सर्व्हर भाषेची आवश्यकता आहे जी विनंत्यांना प्रतिसाद देईल आणि अशा. त्या वेळी, servlets आणि jsp खूप क्लिष्ट वाटत होते. सरतेशेवटी, मी भयानक इंटरफेससह एक पूर्ण वेब अनुप्रयोग तयार केला. मी माझ्या पोर्टफोलिओसाठी GitHub वर कोड प्रकाशित केला आहे. यावेळेस, 3 महिने उलटून गेले होते आणि त्याच कंपनीने माझ्याशी पुन्हा संपर्क साधला आणि मला मुलाखतीसाठी आमंत्रित केले, माझ्या SQL चे ज्ञान तपासण्यासाठी आणखी एक सोपा कार्य दिले, जे मी काही तासांत पूर्ण केले. मी ज्या व्यक्तीशी रोजगाराबद्दल बोलत होतो त्यांनी सूचित केले की ते अल्गोरिदम आणि डेटा स्ट्रक्चर्सबद्दल विचारतील — ज्या विषयांवर मला अद्याप मास्टर करण्यासाठी वेळ मिळाला नाही. म्हंटले की, मुलाखतीच्या आधी १५ दिवस होते. मला हे समजले! रॉबर्ट लाफोर यांच्या "डेटा स्ट्रक्चर्स अँड अल्गोरिदम इन Java" या पुस्तकाने मला मदत केली. मी नाही दोन आठवड्यात हे सर्व वाचण्यासाठी आणि समजून घेण्यासाठी वेळ नाही, परंतु तरीही मी बरेच काही शिकलो. आणि मग मुलाखतीचा दिवस आला. मी ठरलेल्या वेळी पोहोचलो. दोन माणसांनी मला नमस्कार केला आणि मुलाखतीला सुरुवात झाली. मला काळजी वाटत होती असे म्हणणे म्हणजे एक अधोरेखितपणा असेल. माझा आवाज थरथरला. त्यांनी अल्गोरिदम आणि डेटा स्ट्रक्चर्स वगळता सर्वकाही विचारले. त्यांनी स्प्रिंग, DI, IoC, हायबरनेट, JVM कसे कार्य करते, कचरा गोळा करणारे कसे काम करतात याबद्दल विचारले — मी यापैकी एका प्रश्नाचे उत्तर देऊ शकलो नाही. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. आणि मग मुलाखतीचा दिवस आला. मी ठरलेल्या वेळी पोहोचलो. दोन माणसांनी मला नमस्कार केला आणि मुलाखतीला सुरुवात झाली. मला काळजी वाटत होती असे म्हणणे म्हणजे एक अधोरेखितपणा असेल. माझा आवाज थरथरला. त्यांनी अल्गोरिदम आणि डेटा स्ट्रक्चर्स वगळता सर्वकाही विचारले. त्यांनी स्प्रिंग, DI, IoC, हायबरनेट, JVM कसे कार्य करते, कचरा गोळा करणारे कसे काम करतात याबद्दल विचारले — मी यापैकी एका प्रश्नाचे उत्तर देऊ शकलो नाही. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. आणि मग मुलाखतीचा दिवस आला. मी ठरलेल्या वेळी पोहोचलो. दोन माणसांनी मला नमस्कार केला आणि मुलाखतीला सुरुवात झाली. मला काळजी वाटत होती असे म्हणणे म्हणजे एक अधोरेखितपणा असेल. माझा आवाज थरथरला. त्यांनी अल्गोरिदम आणि डेटा स्ट्रक्चर्स वगळता सर्वकाही विचारले. त्यांनी स्प्रिंग, DI, IoC, हायबरनेट, JVM कसे कार्य करते, कचरा गोळा करणारे कसे काम करतात याबद्दल विचारले — मी यापैकी एका प्रश्नाचे उत्तर देऊ शकलो नाही. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. मला काळजी वाटत होती असे म्हणणे म्हणजे एक अधोरेखितपणा असेल. माझा आवाज थरथरला. त्यांनी अल्गोरिदम आणि डेटा स्ट्रक्चर्स वगळता सर्वकाही विचारले. त्यांनी स्प्रिंग, DI, IoC, हायबरनेट, JVM कसे कार्य करते, कचरा गोळा करणारे कसे काम करतात याबद्दल विचारले — मी यापैकी एका प्रश्नाचे उत्तर देऊ शकलो नाही. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. मला काळजी वाटत होती असे म्हणणे म्हणजे एक अधोरेखितपणा असेल. माझा आवाज थरथरला. त्यांनी अल्गोरिदम आणि डेटा स्ट्रक्चर्स वगळता सर्वकाही विचारले. त्यांनी स्प्रिंग, DI, IoC, हायबरनेट, JVM कसे कार्य करते, कचरा गोळा करणारे कसे काम करतात याबद्दल विचारले — मी यापैकी एका प्रश्नाचे उत्तर देऊ शकलो नाही. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली. मी फक्त Java Core (संग्रह, अपवाद, OOP, इ.) बद्दलच्या प्रश्नांची यशस्वी उत्तरे दिली. मुलाखतीत असताना, मला माहित होते की मी त्यात नापास झालो, परंतु तरीही कोणताही अभिप्राय न मिळाल्याने मी निराश होतो. त्याऐवजी, मी माझ्या ज्ञानातील अंतर ओळखले आणि ते दूर करण्यासाठी परिश्रमपूर्वक काम करण्यास सुरुवात केली.माझ्या अयशस्वी मुलाखतीनंतर एक महिन्याने मला नोकरी मिळाली. तसे, मला CodeGym वरील चर्चेत नोकरीची संधी मिळाली ( CodeGym ही CodeGym ची रशियन-भाषेची आवृत्ती आहे — संपादकाची नोंद). प्रथम, भर्तीकर्त्याची स्काईप मुलाखत होती (ती सुमारे 2 तास चालली). त्यांनी जावा कोर, कचरा संकलन (आता मला माहित आहे की ते कसे कार्य करते), डेटाबेस आणि डेटा संरचना याबद्दल विचारले. मुलाखतकाराने मला माझी स्क्रीन शेअर करण्यास आणि कॅल्क्युलेटर लिहिण्यास सांगितले. मी जवळजवळ एक आठवडा आधी कॅल्क्युलेटर लिहिला असल्याने मी आनंदाने रडलो होतो. स्वत:वर विश्वास ठेवून मी काम सुरू केले. पण माझ्या उत्साहामुळे किंवा इतर काही कारणास्तव, मी अल्गोरिदमचा काही भाग विसरलो. माझी स्क्रीन शेअर केली होती. मला गुगलचा सल्ला घेण्याची भीती वाटत होती. सुदैवाने, माझ्याकडे माझा मोबाईल फोन होता, ज्यामुळे माझे गांड वाचले. दुसऱ्या दिवशी, त्यांनी वैयक्तिक मुलाखतीसाठी बोलावले आणि काही दिवसांनंतर मला एक ऑफर मिळाली. ते अधिकृत पद नव्हते. माझी भूमिका एकमेव मालकाची शिकाऊ होती. आम्ही कार्यक्रमाचे नियोजन, तिकीट विक्री इत्यादीसाठी सेवा लिहिली. मला माझ्या कामाचा पहिला दिवस आठवतो. माझ्या बॉसने काय केले पाहिजे हे समजावून सांगण्यासाठी 15 मिनिटे घेतली. "सगळं स्पष्ट आहे का?" त्याने विचारले. "ह्म्म, खरंच नाही. तुम्ही अजून एकदा त्यावर जाऊ शकता का?" मी मोठ्या काळजीने विचारले. बॉसने पुन्हा सगळा खुलासा केला. "आता स्पष्ट आहे?" "हो, आता आहे." खरं तर, मला काहीही समजले नाही. पण मला दुसरे स्पष्टीकरण विचारण्याची भीती वाटत होती. मला वाटते की कोणीही नोकरीला हे समजू शकेल. Thymeleaf वरून AngularJS पर्यंत पोर्टिंग करण्यासाठी कार्य खाली उकळले. सुदैवाने, मला तयार कोडचा एक भाग सापडला आणि काय करावे याचे उदाहरण म्हणून वापरले. हे कसे कार्य करते ते मला समजले नाही, परंतु मी कार्य पूर्ण केले. मला नंतर थेट बॅकएंडशी संबंधित कार्ये नियुक्त करण्यात आली. स्प्रिंगच्या व्यावहारिक अनुभवानंतरच मी "स्प्रिंग फॉर प्रोफेशनल्स" मध्ये जे वाचले ते मला समजू लागले. मी तिथे 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. कलाकृती रेखाटणे आणि पुन्हा रेखाटणे.
  3. संगीत लेखन.
  4. https://freesound.org वर ध्वनी शोधत आहे .
  5. खेळांना प्रोत्साहन कसे द्यावे यावरील लेखांचे ढीग वाचणे.
आमच्याकडे विविध कारणांमुळे "डाउनटाइम" चे क्षण देखील होते: कोणाची परीक्षा होती, कोणाची मेक-अप चाचणी होती, इत्यादी. आम्ही निश्चितपणे डाउनटाइमसाठी दीड आठवडा किंवा अधिक गुणविशेष देऊ शकतो. काही वेळ "वादविवाद" वर देखील घालवला गेला: गेममध्ये काय जोडायचे याबद्दल नवीन कल्पना जवळजवळ दररोज दिसू लागल्या, म्हणून आम्ही वादविवाद केला: "ते अनावश्यक आहे," "ते फिट होणार नाही," इत्यादी. आम्ही खूप कल्पना फेकून दिल्या, उदाहरणार्थ, धावणारे झुरळे जोडणे जे अतिरिक्त गुण मिळविण्यासाठी चिरडले जाऊ शकतात: माझ्या मते, सर्वात कठीण गोष्टींपैकी एक म्हणजे गेममध्ये काय असेल हे आधीच ठरवणे आणि "फक्त आणखी एक" जोडण्याचा प्रयत्न न करता योजनेला चिकटून राहणे. "वैशिष्ट्य. असेच हे ४५ दिवस जमा झाले. दीड आठवड्यानंतर खेळाचा नमुना तयार झाला. या कालावधीत, आमच्याकडे खरोखर कोणतेही ग्राफिक्स नव्हते, सुरुवातीला, होते ... - 2तांत्रिकदृष्ट्या हा खेळ अतिशय सोपा आहे. आम्हाला box2d (भौतिकी इंजिन) वापरण्याचीही गरज नव्हती. आपण टक्कर हाताळू शकतो आणि कर्ण स्वतःच काढू शकतो. मी हायलाइट करीन सर्वात मनोरंजक मुद्दे आहेत:
  1. सुरुवातीला, सर्व गेम घटक यादृच्छिकपणे व्युत्पन्न केले गेले. दुसऱ्या शब्दांत, आम्ही प्रदाते (ब्लॅक होल, कात्री, निन्जा तारे, पेन्सिल लीड, हृदय) एका अॅरेमध्ये ठेवले, एक यादृच्छिक प्रदाता मिळाला, यादृच्छिक निर्देशांकांसह एक घटक मिळाला. हे खूप लवकर स्पष्ट झाले की हा दृष्टिकोन "खरोखर खरोखर चांगला नाही" होता. चाचणीमध्ये सहभागी झालेल्या मित्रांनी आम्हाला तेच सांगितले, टेम्पलेट्स वापरण्याची शिफारस केली. गेम डेव्हलपमेंटमध्ये गुंतलेल्यांसाठी, हे कदाचित एक स्पष्ट उपाय आहे. पण आम्ही या क्षेत्रात नवखे असल्यामुळे आमच्यासाठी तो अतिशय व्यावहारिक सल्ला होता.

    म्हणून आम्ही अनेक टेम्पलेट तयार केले: कात्रीची दरी; पेन्सिल लीड्स — ते अतिशय जलद गोळा करणे खूप छान आहे (हूश, हूश, आपल्या बोटाने हूश); आणि आणखी एक टेम्प्लेट ज्याला मला काय कॉल करावे हे माहित नाही — मी तुम्हाला आमच्या कोडमध्ये वर्गाचे नाव काय दिले ते सांगेन: StraightForwardPattern.

    सुरुवातीला, होते ... - 3

    या टेम्प्लेट्सने ते सुधारले, परंतु ते कसे तरी अंदाज करण्यायोग्य बनले. म्हणूनच आम्ही आणखी एक जोडले: एक यादृच्छिक टेम्पलेट. दुसऱ्या शब्दांत, आमच्याकडे आता काही "स्थिर" टेम्पलेट्स आहेत आणि एक यादृच्छिक आहे (येथे "पूर्णपणे संतुलित" मेम घाला).

  2. आम्हाला आलेली मुख्य समस्या येथे आहे. LibGDX अनंत लूपमध्ये रेंडर (फ्लोट डेल्टा) पद्धतीला कॉल करते. येथे सर्व घटक रेखाटले जातात. पेन्सिल रेषा खालीलप्रमाणे काढली आहे: आम्हाला बोटांचे निर्देशांक मिळतात आणि तेथे पोत काढतो. म्हणून, जर आपण आपले बोट स्क्रीनवर त्वरीत हलवले, तर रेन्डर(डेल्टा) पद्धतीच्या कॉल्समधील मिलिसेकंदांमुळे रेषेत "अंतर" असेल.

    उपाय अगदी सोपा होता: आम्हाला शेवटचे निर्देशांक आठवतात जेथे पोत काढला आहे, पुढील निर्देशांक मिळवा आणि जर त्यांच्यातील अंतर X पेक्षा जास्त असेल आणि बोट सोडले नसेल, तर आम्ही अंतर भरतो. सुरुवातीला, आम्हाला वाटले की हा पर्याय कदाचित कार्य करणार नाही — रेषा टोकदार असतील. पण आमची भीती निराधार होती, सर्व काही जसे पाहिजे तसे चालले.

खेळ बद्दल

गेमप्ले अद्वितीय असल्याचा दावा करत नाही, परंतु तो खूप चांगला आहे आणि वापरकर्त्यांना आकर्षित करू शकतो. तुम्ही पेन्सिलवर नियंत्रण ठेवता, अक्षरशः कागदावर रेखाचित्रे काढता आणि अडथळे टाळता — कात्री, निन्जा तारे आणि ब्लॅक होल. दरम्यान, तुमची पेन्सिल लीड संपत आहे आणि तुम्हाला लहान पेन्सिल उचलण्याची गरज आहे. जर तुम्ही थोडी पेन्सिल गोळा करण्यापूर्वी तुमची पेन्सिल संपत असेल तर तुम्ही आरशाचा तुकडा उचलू शकता. काही सेकंदांसाठी, पेन्सिल लीड वापरण्याऐवजी, ते पुनर्संचयित केले जाईल, तथापि, त्याच वेळी, नियंत्रणे मिरर केली जातात — जर तुमचे बोट डावीकडे सरकले तर पेन्सिल उजवीकडे खेचते. तुम्ही एक हृदय देखील उचलू शकता जे तुम्हाला एकदा अडथळा आणू देईल आणि जिवंत राहू शकेल. तुम्ही तुमचे बोट न उचलता पेन्सिल जितका जास्त हलवाल तितका तुमचा कॉम्बो जास्त असेल, याचा अर्थ तुम्ही पॉइंट्स जलद जमा कराल. सुरुवातीला, होते ... - 4खेळाचा वेगही हळूहळू वाढत जातो. गहाळ फक्त गोष्ट संतप्त पक्षी आहेत. सुरुवातीला, आम्ही खेळाचे नाव करण डॅश ठेवण्याची योजना आखली (पेन्सिलसाठी रशियन शब्दाचे लिप्यंतरण म्हणजे करंडश — हा! मिळवा?), परंतु नंतर आम्ही आमचे विचार बदलले आणि पेन्सिल डॅशवर स्थिर झालो. आम्ही हे केले कारण हा सुंदर शब्द फक्त रशियन भाषिक प्रेक्षकांना समजेल. आम्ही काही दिवसांपूर्वी गेम रिलीज केला आणि आता त्याचा प्रचार करत आहोत. इथेही संघातील कोणालाच अनुभव नाही. आम्ही विविध लेखांमधून गेम प्रमोशनबद्दल आमचे सर्व ज्ञान मिळवले. आम्ही गेमबद्दलची माहिती विविध वेबसाइट्स/फोरमवर विनामूल्य प्रकाशित केली. आमच्या सशुल्क चॅनेलमध्ये 4pd वर जाहिरात करणे, एका ब्लॉगरसह जाहिरात करणे, VKontakte वरील सार्वजनिक गटांमधील अनेक पोस्ट आणि AdMob जाहिरात यांचा समावेश होतो. तसे, ही पोस्ट देखील आमच्या जाहिरातीचा एक भाग आहे, म्हणून वेबसाइट प्रशासनाच्या परवानगीने, मी येथे गेमची लिंक समाविष्ट करत आहे. तुम्ही Google Play वर गेम येथे शोधू शकता . जर तुम्ही ते स्थापित केले तर मी आभारी आहे (कदाचित तुम्हाला ते आवडेल!), आणि तुम्ही रेटिंग दिल्यास, मी तुमच्या नावावर मुलाचे नाव ठेवण्याचे वचन देतो! :) सुरुवातीला, होते ... - 6
टिप्पण्या
  • लोकप्रिय
  • नवीन
  • जुने
टिप्पणी करण्यासाठी तुम्ही साईन इन केलेले असणे आवश्यक आहे
या पानावर अजून कोणत्याही टिप्पण्या नाहीत