నా మొదటి ఉద్యోగం యొక్క ప్రొబేషన్ కాలం 3 సంవత్సరాల క్రితం ముగిసింది, కానీ ఇప్పుడు మాత్రమే నేను ఒక కథనాన్ని వ్రాయడానికి సమయాన్ని కనుగొన్నాను. నేను నా విశ్వవిద్యాలయంలో వివిధ విభాగాలలో ఒక సంవత్సరం గడిపాను: నా మొదటి సెమిస్టర్లో, నేను మేనేజ్మెంట్ చదివాను మరియు నా రెండవ సెమిస్టర్లో, నేను సాఫ్ట్వేర్ ఇంజనీరింగ్కి మారాను. ప్రోగ్రామ్ ఎలా చేయాలో వారు నాకు నేర్పిస్తారని నేను ఆశించాను, కాని నేను పొరబడ్డాను. కాబట్టి, నేను పదార్థాలను సేకరించాను మరియు నా స్వంతంగా ప్రతిదీ నేర్చుకోవాలని నిర్ణయించుకున్నాను. నేను స్టీఫెన్ ప్రాట్ యొక్క ఈబుక్ "ది సి ప్రోగ్రామింగ్ లాంగ్వేజ్"తో ప్రారంభించమని అతను సిఫార్సు చేసినందుకు మాత్రమే నేను నా గురువుకు కృతజ్ఞతతో ఉన్నాను. ఇది నిజంగా చాలా ఆచరణాత్మక వ్యాయామాలతో కూడిన మంచి పుస్తకం. నేను పుస్తకం కోసం సుమారు 2 నెలలు గడిపాను, ఆ తర్వాత నేను స్నేహితుల సమూహాలలో ఈ ఆన్లైన్ జావా కోర్సును చూశాను మరియు అది ప్రారంభమైంది.
మొదట, నేను ఆండ్రాయిడ్ డెవలపర్ కావాలని అనుకున్నాను, కానీ నేను నా అభ్యాసంలో అభివృద్ధి చెందుతున్నప్పుడు బ్యాకెండ్ నాకు మరింత ఆసక్తికరంగా అనిపించింది. 20వ స్థాయికి చేరుకోవడానికి నాకు 3 నెలలు పట్టింది, ఆ తర్వాత నేను ఉద్యోగం కోసం ప్రయత్నించాలని నిర్ణయించుకున్నాను. వ్యాపారం యొక్క మొదటి ఆర్డర్
మరొక నగరానికి వెళ్లడంఎందుకంటే గనిలో జూనియర్ జావా డెవలపర్కు ఎలాంటి ఓపెనింగ్లు లేవు. నేను ఒక కంపెనీని కనుగొన్నాను, దరఖాస్తు చేసాను మరియు ఒక టెస్ట్ టాస్క్ను అందుకున్నాను, దానిని పూర్తి చేయడానికి నాకు ఒక వారం సమయం ఇవ్వబడింది. నేను Hibernate, Servlet/JSP మరియు MySQLని ఉపయోగించి ఒక సాధారణ వెబ్ అప్లికేషన్ను వ్రాయవలసి వచ్చింది. ఈ నిబంధనలన్నీ చూసినప్పుడు, MySQL ఒక డేటాబేస్ అని మాత్రమే నాకు తెలుసు. మొదట, నేను చాలా నిరాశకు గురయ్యాను. నేను కొన్ని KFCలో జాబ్ ఓపెనింగ్ల కోసం వెతకాలని కూడా నిర్ణయించుకున్నాను, కానీ నేను పరీక్ష టాస్క్లో క్రాక్ చేయాలని నిర్ణయించుకున్నాను. అన్నింటికంటే, నేను ఎల్లప్పుడూ KFCలో ఉద్యోగం పొందగలను. నేను వారమంతా నాన్స్టాప్గా పనిచేసి పరీక్షను పూర్తి చేయగలిగాను. నేను నా పరిష్కారాన్ని సమర్పించాను, కానీ అది "అందంగా లేదు", కాబట్టి నేను దానిని మరో 4 సార్లు సవరించాను. నా చివరి పరిష్కారం సరైనదని తేలింది, అయితే స్థానాలు ఇప్పటికే భర్తీ చేయబడ్డాయి మరియు అదనపు దరఖాస్తులు 3 నెలల వరకు ఆమోదించబడవు. మీరు ఏమి చేయబోతున్నారు, సరియైనదా? రాబోయే 3 నెలలకు, నేను HTML, CSS, JS, SQL మరియు PHP నేర్చుకున్నాను. PHP ఎందుకు? అభ్యర్థనలు మరియు అలాంటి వాటికి ప్రతిస్పందించే సర్వర్ భాష నాకు అవసరం. ఆ సమయంలో, servlets మరియు jsp చాలా క్లిష్టంగా కనిపించాయి. చివరికి, నేను భయంకరమైన ఇంటర్ఫేస్తో పూర్తి స్థాయి వెబ్ అప్లికేషన్ను రూపొందించాను. నేను నా పోర్ట్ఫోలియో కోసం GitHubలో కోడ్ని ప్రచురించాను. ఈ సమయానికి, 3 నెలలు గడిచాయి మరియు అదే కంపెనీ నన్ను మళ్లీ సంప్రదించి ఇంటర్వ్యూకి ఆహ్వానించింది, SQL గురించి నా పరిజ్ఞానాన్ని పరీక్షించడానికి మరొక సాధారణ పనిని ఇచ్చింది, నేను కొన్ని గంటల్లో పూర్తి చేయగలిగాను. నేను ఉపాధి గురించి మాట్లాడుతున్న వ్యక్తి అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్ల గురించి అడుగుతారని సూచించాడు — నాకు ఇంకా నైపుణ్యం సాధించడానికి సమయం లేదు. ఇంటర్వ్యూకు ముందు 15 రోజులు ఉన్నాయని పేర్కొంది. నాకు దొరికినది! రాబర్ట్ లాఫోర్ పుస్తకం "డేటా స్ట్రక్చర్స్ & ఆల్గోరిథమ్స్ ఇన్ జావా" నాకు సహాయపడింది. నేను చేయలేదు' రెండు వారాల్లో అన్నింటినీ చదివి అర్థం చేసుకోవడానికి సమయం లేదు, కానీ నేను ఇంకా చాలా నేర్చుకున్నాను. ఆపై ఇంటర్వ్యూ రోజు వచ్చింది. నేను నిర్ణీత సమయానికి వచ్చాను. ఇద్దరు వ్యక్తులు నన్ను అభినందించారు మరియు ఇంటర్వ్యూ ప్రారంభమైంది. నేను ఆందోళన చెందాను అని చెప్పడం ఒక క్రూరమైన అవగాహన అవుతుంది. నా గొంతు వణికింది. వారు అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్లు మినహా అన్నింటి గురించి అడిగారు. వారు స్ప్రింగ్, DI, IoC, హైబర్నేట్ గురించి అడిగారు, JVM ఎలా పని చేస్తుంది, చెత్త కలెక్టర్ ఎలా పని చేస్తుంది — ఈ ప్రశ్నల్లో ఒక్కదానికి కూడా నేను సమాధానం చెప్పలేకపోయాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. ఆపై ఇంటర్వ్యూ రోజు వచ్చింది. నేను నిర్ణీత సమయానికి వచ్చాను. ఇద్దరు వ్యక్తులు నన్ను అభినందించారు మరియు ఇంటర్వ్యూ ప్రారంభమైంది. నేను ఆందోళన చెందాను అని చెప్పడం ఒక క్రూరమైన అవగాహన అవుతుంది. నా గొంతు వణికింది. వారు అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్లు మినహా అన్నింటి గురించి అడిగారు. వారు స్ప్రింగ్, DI, IoC, హైబర్నేట్ గురించి అడిగారు, JVM ఎలా పని చేస్తుంది, చెత్త కలెక్టర్ ఎలా పని చేస్తుంది — ఈ ప్రశ్నల్లో ఒక్కదానికి కూడా నేను సమాధానం చెప్పలేకపోయాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. ఆపై ఇంటర్వ్యూ రోజు వచ్చింది. నేను నిర్ణీత సమయానికి వచ్చాను. ఇద్దరు వ్యక్తులు నన్ను అభినందించారు మరియు ఇంటర్వ్యూ ప్రారంభమైంది. నేను ఆందోళన చెందాను అని చెప్పడం ఒక క్రూరమైన అవగాహన అవుతుంది. నా గొంతు వణికింది. వారు అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్లు మినహా అన్నింటి గురించి అడిగారు. వారు స్ప్రింగ్, DI, IoC, హైబర్నేట్ గురించి అడిగారు, JVM ఎలా పని చేస్తుంది, చెత్త కలెక్టర్ ఎలా పని చేస్తుంది — ఈ ప్రశ్నల్లో ఒక్కదానికి కూడా నేను సమాధానం చెప్పలేకపోయాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. నేను ఆందోళన చెందాను అని చెప్పడం ఒక క్రూరమైన అవగాహన అవుతుంది. నా గొంతు వణికింది. వారు అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్లు మినహా అన్నింటి గురించి అడిగారు. వారు స్ప్రింగ్, DI, IoC, హైబర్నేట్ గురించి అడిగారు, JVM ఎలా పని చేస్తుంది, చెత్త కలెక్టర్ ఎలా పని చేస్తుంది — ఈ ప్రశ్నల్లో ఒక్కదానికి కూడా నేను సమాధానం చెప్పలేకపోయాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. నేను ఆందోళన చెందాను అని చెప్పడం ఒక క్రూరమైన అవగాహన అవుతుంది. నా గొంతు వణికింది. వారు అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్లు మినహా అన్నింటి గురించి అడిగారు. వారు స్ప్రింగ్, DI, IoC, హైబర్నేట్ గురించి అడిగారు, JVM ఎలా పని చేస్తుంది, చెత్త కలెక్టర్ ఎలా పని చేస్తుంది — ఈ ప్రశ్నల్లో ఒక్కదానికి కూడా నేను సమాధానం చెప్పలేకపోయాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను. నేను జావా కోర్ (సేకరణలు, మినహాయింపులు, OOP, మొదలైనవి) గురించిన ప్రశ్నలకు మాత్రమే విజయవంతంగా సమాధానమిచ్చాను. ఇంటర్వ్యూలో ఉన్నప్పుడు, నేను విఫలమయ్యానని నాకు తెలుసు, కానీ నేను ఇంకా ఎలాంటి అభిప్రాయాన్ని పొందలేకపోయాను. బదులుగా, నేను నా జ్ఞానంలో ఖాళీలను గుర్తించాను మరియు వాటిని మూసివేయడానికి శ్రద్ధగా పని చేయడం ప్రారంభించాను.
నా ఇంటర్వ్యూలో విఫలమైన ఒక నెల తర్వాత నాకు ఉద్యోగం దొరికింది. మార్గం ద్వారా, నేను జావా రష్పై చర్చల్లో ఉద్యోగ అవకాశాలను కనుగొన్నాను (
జావా రష్ కోడ్జిమ్ యొక్క రష్యన్ భాషా వెర్షన్ — ఎడిటర్ నోట్) మొదట, రిక్రూటర్తో స్కైప్ ఇంటర్వ్యూ ఉంది (ఇది దాదాపు 2 గంటల పాటు కొనసాగింది). వారు జావా కోర్, చెత్త సేకరణ (ఇది ఎలా పనిచేస్తుందో ఇప్పుడు నాకు తెలుసు), డేటాబేస్లు మరియు డేటా స్ట్రక్చర్ల గురించి అడిగారు. ఇంటర్వ్యూయర్ నా స్క్రీన్ని షేర్ చేసి కాలిక్యులేటర్ రాయమని అడిగాడు. నేను దాదాపు ఒక వారం ముందు కాలిక్యులేటర్ వ్రాసినందున, నేను ఆనందంతో దాదాపు ఏడ్చాను. నా మీద నమ్మకంతో పని మొదలుపెట్టాను. కానీ నా ఉత్సాహం వల్లనో లేదా మరేదైనా కారణం వల్లనో, నేను అల్గారిథమ్లో కొంత భాగాన్ని మరచిపోయాను. నా స్క్రీన్ షేర్ చేయబడింది. నేను Googleని సంప్రదించడానికి భయపడ్డాను. అదృష్టవశాత్తూ, నా మొబైల్ ఫోన్ నా దగ్గర ఉంది, అది నా గాడిదను కాపాడింది. మరుసటి రోజు, వారు వ్యక్తిగత ఇంటర్వ్యూకి పిలిచారు మరియు కొన్ని రోజుల తర్వాత
నాకు ఆఫర్ వచ్చింది. ఇది అధికారిక స్థానం కాదు. నా పాత్ర ఒక ఏకైక యజమాని దగ్గర శిష్యరికం చేసే పాత్ర. ఈవెంట్ ప్లానింగ్, టిక్కెట్లు అమ్మడం మొదలైన వాటి కోసం మేము ఒక సేవను వ్రాసాము. నా మొదటి పని రోజు నాకు గుర్తుంది. ఏమి చేయాలో వివరించడానికి నా బాస్ 15 నిమిషాల సమయం తీసుకున్నాడు. "అంతా స్పష్టంగా ఉందా?" అతను అడిగాడు. "హ్మ్, నిజంగా కాదు. ఇంకోసారి దాని మీదకి వెళ్ళగలవా?" చాలా ఆందోళనతో అడిగాను. బాస్ మళ్ళీ అంతా వివరించాడు. "ఇప్పుడు తేలిందా?" "అవును, ఇప్పుడే." నిజానికి, నాకు ఏమీ అర్థం కాలేదు. కానీ నేను మరొక వివరణ అడగడానికి భయపడ్డాను. ఉద్యోగంలో ఉన్న ఎవరైనా అర్థం చేసుకోగలరని నేను భావిస్తున్నాను. టాస్క్ థైమ్లీఫ్ నుండి యాంగ్యులర్జెఎస్కి పోర్టింగ్కు దిగింది. అదృష్టవశాత్తూ, నేను పూర్తయిన కోడ్ యొక్క భాగాన్ని కనుగొన్నాను మరియు ఏమి చేయాలో ఉదాహరణగా ఉపయోగించాను. ఇది ఎలా పని చేస్తుందో నాకు అర్థం కాలేదు, కానీ నేను పనిని పూర్తి చేసాను. తదనంతరం నాకు నేరుగా బ్యాకెండ్కు సంబంధించిన పనులు కేటాయించబడ్డాయి. స్ప్రింగ్తో ఆచరణాత్మక అనుభవం తర్వాత మాత్రమే నేను "స్ప్రింగ్ ఫర్ ప్రొఫెషనల్స్"లో చదివిన వాటిని అర్థం చేసుకోవడం ప్రారంభించాను. నేను అక్కడ 8 నెలలు పనిచేశాను, ఆపై మరొక నగరానికి వెళ్లాను, అక్కడ నేను త్వరగా అధికారిక ఉద్యోగాన్ని కనుగొన్నాను, 2 సంవత్సరాలు పనిచేశాను మరియు నా శీర్షికను "జూనియర్" నుండి "మిడ్-లెవల్"కి మార్చాను. అప్పుడు నా ఉద్యోగం రొటీన్గా మారిందని, నాకు చుక్క ఆనందాన్ని ఇవ్వలేదని నేను ఎదుర్కొన్నాను. అందుకే విరామం తీసుకున్నాను. నా విరామ సమయంలో నా వేళ్లు క్షీణించకుండా ఆపడానికి, నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ డెవలప్మెంట్. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. స్ప్రింగ్తో ఆచరణాత్మక అనుభవం తర్వాత మాత్రమే నేను "స్ప్రింగ్ ఫర్ ప్రొఫెషనల్స్"లో చదివిన వాటిని అర్థం చేసుకోవడం ప్రారంభించాను. నేను అక్కడ 8 నెలలు పనిచేశాను, ఆపై మరొక నగరానికి వెళ్లాను, అక్కడ నేను త్వరగా అధికారిక ఉద్యోగాన్ని కనుగొన్నాను, 2 సంవత్సరాలు పనిచేశాను మరియు నా శీర్షికను "జూనియర్" నుండి "మిడ్-లెవల్"కి మార్చాను. అప్పుడు నా ఉద్యోగం రొటీన్గా మారిందని, నాకు చుక్క ఆనందాన్ని ఇవ్వలేదని నేను ఎదుర్కొన్నాను. అందుకే విరామం తీసుకున్నాను. నా విరామ సమయంలో నా వేళ్లు క్షీణించకుండా ఆపడానికి, నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ డెవలప్మెంట్. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. స్ప్రింగ్తో ఆచరణాత్మక అనుభవం తర్వాత మాత్రమే నేను "స్ప్రింగ్ ఫర్ ప్రొఫెషనల్స్"లో చదివిన వాటిని అర్థం చేసుకోవడం ప్రారంభించాను. నేను అక్కడ 8 నెలలు పనిచేశాను, ఆపై మరొక నగరానికి వెళ్లాను, అక్కడ నేను త్వరగా అధికారిక ఉద్యోగాన్ని కనుగొన్నాను, 2 సంవత్సరాలు పనిచేశాను మరియు నా శీర్షికను "జూనియర్" నుండి "మిడ్-లెవల్"కి మార్చాను. అప్పుడు నా ఉద్యోగం రొటీన్గా మారిందని, నాకు చుక్క ఆనందాన్ని ఇవ్వలేదని నేను ఎదుర్కొన్నాను. అందుకే విరామం తీసుకున్నాను. నా విరామ సమయంలో నా వేళ్లు క్షీణించకుండా ఆపడానికి, నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ డెవలప్మెంట్. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. అక్కడ నేను త్వరగా అధికారిక ఉద్యోగాన్ని కనుగొన్నాను, 2 సంవత్సరాలు పనిచేశాను మరియు నా టైటిల్ను "జూనియర్" నుండి "మిడ్-లెవల్"కి మార్చాను. అప్పుడు నా ఉద్యోగం రొటీన్గా మారిందని, నాకు చుక్క ఆనందాన్ని ఇవ్వలేదని నేను ఎదుర్కొన్నాను. అందుకే విరామం తీసుకున్నాను. నా విరామ సమయంలో నా వేళ్లు క్షీణించకుండా ఆపడానికి, నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ డెవలప్మెంట్. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. అక్కడ నేను త్వరగా అధికారిక ఉద్యోగాన్ని కనుగొన్నాను, 2 సంవత్సరాలు పనిచేశాను మరియు నా టైటిల్ను "జూనియర్" నుండి "మిడ్-లెవల్"కి మార్చాను. అప్పుడు నా ఉద్యోగం రొటీన్గా మారిందని, నాకు చుక్క ఆనందాన్ని ఇవ్వలేదని నేను ఎదుర్కొన్నాను. అందుకే విరామం తీసుకున్నాను. నా విరామ సమయంలో నా వేళ్లు క్షీణించకుండా ఆపడానికి, నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ డెవలప్మెంట్. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ అభివృద్ధి. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను. నేను మరొక ప్రాంతంలో నా చేతిని ప్రయత్నించాలని నిర్ణయించుకున్నాను: గేమ్ అభివృద్ధి. మరింత ప్రత్యేకంగా, మొబైల్ గేమ్ డెవలప్మెంట్, ఆండ్రాయిడ్ని ఎంచుకోవడం, నాకు ఇప్పటికే జావా తెలుసు కాబట్టి. మరియు నేను ఇప్పుడు వివరంగా మాట్లాడబోతున్నాను.
నా జట్టు. సంక్షిప్త క్రమంలో, నేను 4 మంది వ్యక్తులతో కూడిన చిన్న బృందాన్ని (నాతో సహా): 2 డెవలపర్లు, 1 గేమ్ డిజైనర్ మరియు 1 సౌండ్ ఇంజనీర్ని సమీకరించాను. జట్టులో ఎవరికీ గేమ్ డెవలప్మెంట్లో అనుభవం లేనందున మరియు నా వెకేషన్ సమయం పరిమితం అయినందున, మేము ఖచ్చితంగా పూర్తి చేయగల సాధారణ ప్రాజెక్ట్ను అమలు చేయాలని నిర్ణయించుకున్నాము. మరియు మేము చేసాము! ప్రారంభంలో, గడువు నవంబర్ 15, కానీ మీకు తెలిసినట్లుగా, షెడ్యూల్లో ప్రాజెక్ట్ను పూర్తి చేయడం తప్పు. కాబట్టి, మేము దానిని రెండు వారాల ఆలస్యంగా ముగించాము. మా టెక్నాలజీ స్టాక్లో జావా 8 మరియు libGDX ఉన్నాయి.
అభివృద్ధి
అభివృద్ధి అక్టోబర్ 17 న ప్రారంభమైంది. మొత్తంగా, మేము 45 రోజులు గడిపాము:
- మేము libGDX ఎలా ఉపయోగించాలో నేర్చుకున్నాము.
- మేము కోడ్ వ్రాసాము.
- మేము గ్రాఫిక్స్ సృష్టించాము.
- మేము సంగీతాన్ని సృష్టించాము.
ఆటను చూసిన ఎవరైనా, "ఇంత సమయం ఎందుకు పట్టింది? గేమ్ చాలా సులభం" అని అడగవచ్చు. అవును, అది నిజం, మరియు ఖచ్చితంగా చెప్పాలంటే, డెవలప్మెంట్ భాగం (కోడ్ రాయడం) దాదాపు వారంన్నర పట్టింది. మిగిలిన సమయం వీటి మధ్య విభజించబడింది:
- గేమ్ ఇంజిన్ను ఎలా ఉపయోగించాలో మాస్టరింగ్.
- చిత్రకళను గీయడం మరియు తిరిగి గీయడం.
- సంగీతం రాయడం.
- https://freesound.org లో శబ్దాల కోసం వెతుకుతోంది .
- గేమ్లను ఎలా ప్రమోట్ చేయాలనే దానిపై కథనాల కుప్పలు చదవడం.
మేము వివిధ కారణాల వల్ల "డౌన్టైమ్" యొక్క క్షణాలను కూడా కలిగి ఉన్నాము: ఎవరైనా పరీక్షను కలిగి ఉన్నారు, మరొకరు మేకప్ పరీక్షను కలిగి ఉన్నారు, మొదలైనవి. మేము ఖచ్చితంగా పనికిరాని సమయానికి వారంన్నర లేదా అంతకంటే ఎక్కువ ఆపాదించవచ్చు. కొంత సమయం "చర్చల" కోసం కూడా వెచ్చించబడింది: గేమ్కు ఏమి జోడించాలనే దాని గురించి కొత్త ఆలోచనలు దాదాపు ప్రతిరోజూ కనిపిస్తాయి, కాబట్టి మేము చర్చించాము: "అది నిరుపయోగమైనది," "అది సరిపోదు," మొదలైనవి. మేము చాలా ఆలోచనలను విసిరాము, ఉదాహరణకు, అదనపు పాయింట్లను పొందడానికి నలిగిన బొద్దింకలను జోడించడం: నా అభిప్రాయం ప్రకారం, ఆటలో ఏమి ఉండాలో ముందుగానే నిర్ణయించుకోవడం మరియు "ఇంకో ఒకటి" జోడించడానికి ప్రయత్నించకుండా ప్రణాళికకు కట్టుబడి ఉండటం చాలా కష్టమైన విషయం. "లక్షణం. అలా ఈ 45 రోజులు కూడబెట్టారు. వారంన్నర తర్వాత ఆట యొక్క నమూనా సిద్ధంగా ఉంది. ఈ కాలంలో, మా వద్ద నిజంగా ఎలాంటి గ్రాఫిక్స్ లేవు,
సాంకేతిక కోణంలో గేమ్ చాలా సులభం. మేము box2d (భౌతిక ఇంజిన్) ఉపయోగించాల్సిన అవసరం లేదు. మేము ఘర్షణలను నిర్వహించగలము మరియు మన స్వంతంగా హైపోటెన్యూస్ను లెక్కించగలము. నేను హైలైట్ చేసే అత్యంత ఆసక్తికరమైన అంశాలు:
-
ప్రారంభంలో, అన్ని గేమ్ అంశాలు యాదృచ్ఛికంగా రూపొందించబడ్డాయి. మరో మాటలో చెప్పాలంటే, మేము ప్రొవైడర్లను (బ్లాక్ హోల్స్, కత్తెరలు, నింజా స్టార్లు, పెన్సిల్ లెడ్, హార్ట్లు) శ్రేణిలో ఉంచాము, యాదృచ్ఛిక ప్రొవైడర్ను పొందాము, యాదృచ్ఛిక కోఆర్డినేట్లతో ఒక మూలకాన్ని పొందాము. ఈ విధానం "నిజంగా నిజంగా మంచిది కాదు" అని చాలా త్వరగా స్పష్టమైంది. టెంప్లేట్లను ఉపయోగించమని సిఫార్సు చేస్తూ టెస్టింగ్లో పాల్గొనే స్నేహితులు మాకు ఇదే విషయాన్ని చెప్పారు. గేమ్ డెవలప్మెంట్లో పాల్గొన్న వారికి, ఇది బహుశా స్పష్టమైన పరిష్కారం. కానీ మేము ఈ రంగంలోకి కొత్తగా వచ్చిన వాళ్లం కాబట్టి, అది మాకు చాలా ఆచరణాత్మకమైన సలహా.
కాబట్టి మేము అనేక టెంప్లేట్లను సృష్టించాము: కత్తెర లోయ; పెన్సిల్ లీడ్స్ - వాటిని చాలా వేగంగా సేకరించడం చాలా బాగుంది (హూష్, హూష్, హూష్ మీ వేలితో); మరియు మరొక టెంప్లేట్ నాకు ఏమి పిలవాలో తెలియదు — మేము మా కోడ్లో తరగతికి ఏమి పేరు పెట్టామో నేను మీకు చెప్తాను: StraightForwardPattern
.
ఈ టెంప్లేట్లు దీన్ని మెరుగుపరిచాయి, కానీ అది ఏదో ఒకవిధంగా ఊహించదగినదిగా మారింది. అందుకే మేము మరొకటి జోడించాము: యాదృచ్ఛిక టెంప్లేట్. మరో మాటలో చెప్పాలంటే, మేము ఇప్పుడు కొన్ని "స్టాటిక్" టెంప్లేట్లను మరియు ఒక యాదృచ్ఛికంగా ఒకదాన్ని కలిగి ఉన్నాము (ఇక్కడ "పర్ఫెక్ట్లీ బ్యాలెన్స్డ్" పోటిని చొప్పించండి).
-
మేము ఎదుర్కొన్న ప్రధాన సమస్య ఇక్కడ ఉంది. LibGDX రెండర్ (ఫ్లోట్ డెల్టా) పద్ధతిని అనంతమైన లూప్లో పిలుస్తుంది. ఇక్కడే అన్ని అంశాలు డ్రా చేయబడతాయి. పెన్సిల్ లైన్ ఈ క్రింది విధంగా డ్రా చేయబడింది: మేము వేలు కోఆర్డినేట్లను పొందుతాము మరియు అక్కడ ఆకృతిని గీయండి. కాబట్టి, మనం చాలా త్వరగా స్క్రీన్పై వేలిని కదిలిస్తే, రెండర్(డెల్టా) పద్ధతికి కాల్ల మధ్య మిల్లీసెకన్ల కారణంగా లైన్లో "ఖాళీలు" ఉంటాయి.
పరిష్కారం చాలా సులభం: మేము ఆకృతిని గీయబడిన చివరి కోఆర్డినేట్లను గుర్తుంచుకుంటాము, తదుపరి కోఆర్డినేట్లను పొందండి మరియు వాటి మధ్య దూరం X కంటే ఎక్కువగా ఉంటే మరియు వేలు విడుదల చేయకపోతే, మేము ఖాళీని పూరించాము. మొదట, ఈ ఎంపిక పని చేయకపోవచ్చని మేము భావించాము - పంక్తులు కోణీయంగా ఉంటాయి. కానీ మా భయాలు నిరాధారమైనవి, ప్రతిదీ సరిగ్గా పని చేసింది.
ఆట గురించి
గేమ్ప్లే ప్రత్యేకమైనదని క్లెయిమ్ చేయదు, కానీ ఇది చాలా బాగుంది మరియు వినియోగదారులను లోపలికి లాగగలదు. మీరు పెన్సిల్ని నియంత్రిస్తారు, అక్షరాలా కాగితంపై గీయడం మరియు అడ్డంకులను తప్పించుకోవడం - కత్తెర, నింజా నక్షత్రాలు మరియు బ్లాక్ హోల్స్. ఇంతలో, మీ పెన్సిల్ సీసం అయిపోతోంది మరియు మీరు చిన్న పెన్సిల్లను తీయాలి. మీరు కొద్దిగా పెన్సిల్ను సేకరించే ముందు మీ పెన్సిల్ ముగుస్తుంటే, మీరు అద్దం ముక్కను తీసుకోవచ్చు. కొన్ని సెకన్లపాటు, పెన్సిల్ సీసాన్ని వినియోగించే బదులు, అది పునరుద్ధరించబడుతుంది, అయితే, అదే సమయంలో, నియంత్రణలు ప్రతిబింబిస్తాయి - మీ వేలు ఎడమవైపుకు కదులుతుంటే, పెన్సిల్ కుడివైపుకి లాగుతుంది. మీరు ఒకసారి అడ్డంకిని కొట్టి సజీవంగా ఉండేందుకు మిమ్మల్ని అనుమతించే హృదయాన్ని కూడా ఎంచుకోవచ్చు. మీరు మీ వేలిని పైకి ఎత్తకుండా పెన్సిల్ను ఎంత ఎక్కువసేపు కదిలిస్తే, మీ కాంబో అంత ఎక్కువగా ఉంటుంది, అంటే మీరు పాయింట్లను వేగంగా పోగుచేస్తారు.
ఆట వేగం కూడా క్రమంగా పెరుగుతుంది. కోపిష్టి పక్షులు మాత్రమే తప్పిపోయాయి. మొదట్లో, మేము గేమ్కి కరణ్ డాష్ అని పేరు పెట్టాలని ప్లాన్ చేసాము (పెన్సిల్ కోసం రష్యన్ పదం యొక్క లిప్యంతరీకరణ కరందష్ — హా! అర్థమైందా?), కానీ తర్వాత మేము మనసు మార్చుకుని పెన్సిల్ డాష్పై స్థిరపడ్డాము. మేము దీన్ని చేసాము ఎందుకంటే ఈ అందమైన పన్ కేవలం రష్యన్ మాట్లాడే ప్రేక్షకులకు మాత్రమే అర్థమవుతుంది. మేము రెండు రోజుల క్రితం గేమ్ని విడుదల చేసాము మరియు ఇప్పుడు దానిని ప్రమోట్ చేస్తున్నాము. ఇక్కడ కూడా జట్టులో ఎవరికీ అనుభవం లేదు. మేము వివిధ కథనాల నుండి గేమ్ ప్రమోషన్ గురించి మా జ్ఞానాన్ని పొందాము. మేము వివిధ వెబ్సైట్లు/ఫోరమ్లలో గేమ్ గురించిన సమాచారాన్ని ఉచితంగా ప్రచురించాము. మా చెల్లింపు ఛానెల్లలో 4pdలో ప్రకటనలు, ఒక బ్లాగర్తో ప్రకటనలు, VKontakteలోని పబ్లిక్ సమూహాలలో అనేక పోస్ట్లు మరియు AdMob ప్రకటనలు ఉన్నాయి. అలాగే, ఈ పోస్ట్ కూడా మా ప్రమోషన్లో భాగం, కాబట్టి వెబ్సైట్ అడ్మినిస్ట్రేషన్ నుండి అనుమతితో, నేను ఇక్కడ గేమ్కి లింక్ని చేర్చుతున్నాను.
మీరు Google Playలో గేమ్ను ఇక్కడ కనుగొనవచ్చు . మీరు దీన్ని ఇన్స్టాల్ చేస్తే నేను కృతజ్ఞుడను (బహుశా మీరు దీన్ని ఇష్టపడవచ్చు!), మరియు మీరు రేటింగ్ ఇస్తే, మీ తర్వాత ఒక బిడ్డకు పేరు పెడతానని వాగ్దానం చేస్తాను! :)
GO TO FULL VERSION