DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Այս տարի IT School SAMSUNG սոցիալական և կրթական ծրագիրը դառնում է 5 տարեկան (կարդացեք IT SCHOOL-ի մասին այստեղ), և այս առիթով մեր շրջանավարտներին հրավիրեցինք խոսելու իրենց և իրենց բջջային հավելվածների ստեղծման փորձի մասին։ Մենք հավատում ենք, որ մեծ ցանկությամբ բոլորը կարող են հասնել հաջողության:

Այս բաժնում առաջին նման հյուրը Շամիլ Մագոմեդովն էր՝ SAMSUNG IT School-ի 2017 թվականի շրջանավարտ, այժմ MIEM NRU HSE-ի ուսանող: Շամիլ, շատ շնորհակալ եմ այս հոդվածը գրելու համար ժամանակ հատկացնելու համար՝ չնայած ձեր զբաղվածությանը:

Hello everyone!
Այսօր ես կցանկանայի խոսել այն մասին, թե ինչպես եմ խաղի շնորհիվ «պայմանականորեն ընդունվել» SAMSUNG IT դպրոց դառնալու Համառուսաստանյան բջջային զարգացման մրցույթի եզրափակիչ փուլի մասնակից: DrumHero.

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

նախապատմությանը

Ես ընդունվել եմ ՏՏ ԴՊՐՈՑ, երբ 10-րդ դասարան էի: Մարզումների առաջին իսկ օրերից ես հետ էի մնում մյուս տղաներից, և դա կանխատեսելի էր դեռ մինչև կուրսի մեկնարկը (դա վկայում էին ընդունելության քննություններիս ահավոր ցածր միավորները)։ Ծրագրավորման այս բոլոր սկզբունքները, Android պլատֆորմի կառուցվածքը և Java լեզուն, ինչպե՞ս հասկանալ այդ ամենը:

Բարեբախտաբար, ես ունեի այն ամենը, ինչ անհրաժեշտ էր զարգացման հմտությունները հաջողությամբ տիրապետելու համար՝ առաջ շարժվելու և կանգ չառնելու անսահման ցանկություն:

Շատ ժամանակ տրամադրելով տնային աշխատանքներին, անընդհատ ուշ մնալով դասերից հետո ուսուցիչ Վլադիմիր Վլադիմիրովիչ Իլյինի հետ (ես աներևակայելի բախտավոր էի նրա հետ), ես սկսեցի հարմարվել սովորելու արագ տեմպերին և մտածել ավարտական ​​ծրագրիս մասին։

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Ուսուցչի հետ `Վ.Վ. Իլյին

Գաղափար փնտրեք

Շատերը կարծում են, որ նախագիծ ստեղծելիս, լինի դա ստարտափ, թե փոքր բան փորձ ձեռք բերելու համար, ամբողջ դժվարությունը կայանում է զարգացման մեջ՝ մի փունջ կոդ գրելը, նոր գրադարաններ սովորելը, անընդհատ թեստավորումը՝ սարսափ: Հավատացեք, սա ամենևին էլ ճիշտ չէ։ Ես ճիշտ նույն կերպ էի մտածում, մինչև հայտնվեցի գաղափար ընտրելու և կյանքի կոչելու անհրաժեշտության առաջ, պարզվեց, որ դա ամենադժվար փուլերից մեկն էր։

Ուսուցման սկզբնական փուլում գաղափար ընտրելու ամենադժվարը իրականացման բարդությունը որոշելն է. երկար ժամանակ ես չէի կարողանում այնպիսի հայտ ներկայացնել, որը կարող էի անել և միևնույն ժամանակ հավանել:

Ամենից շատ ուզում էի երաժշտական ​​խաղ գրել, բայց իմ կարողությունների վերաբերյալ կասկածներն իսկապես խանգարեցին։ Թվում էր, թե հնարավոր չի լինի ավարտին հասցնել գործը, և այդ պատճառով ես մեկ անգամ չէ, որ փոխել եմ ընտրությունս՝ շարժական բիլիարդ, բոուլինգ, վազորդ և այլն։ Ի վերջո, ես մեկ դաս քաղեցի դրանից. դժվարություններ միշտ առաջանալու են, անկախ կիրառման գաղափարից, և հետևաբար ամենակարևորը ընտրել այն, ինչ ձեզ դուր է գալիս և գնալ մինչև վերջ.

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Ինձ միշտ դուր է եկել Guitar Hero խաղը

Խաղի տրամաբանության իրականացում

Guitar Hero-ի նման հավելվածների հիմնական գաղափարը էկրանին երաժշտության ռիթմով հպելն է:
Առաջին հերթին ես սկսեցի իրականացնել խաղի տրամաբանությունը.

  1. Ստեղծել են նշումների, կոճակների և գծերի դասեր, որոնց երկայնքով կտեղափոխվեն գրառումները:
  2. Ես տեղադրեցի կտավը հավելվածի ողջ էկրանին և դրա վրա արդեն նկարագրեցի ստեղծված դասերի օբյեկտների գտնվելու վայրը։
  3. Իրականացրել է երգի mp3 ֆայլի և տվյալների բազայից և voila-ից ստացված նոտաների համաժամանակյա գործարկումը: Խաղի առաջին սեւագրերն արդեն իմ սմարթֆոնում են :)

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Խաղի առաջին տարբերակը

Այո, դա «տպավորիչ» է թվում, բայց դա գրեթե բավարար էր խաղը փորձարկելու համար: Վերջին անհրաժեշտ քայլը երգի նոտաների ցանկն էր, և ես ստիպված էի շատ ժամանակ ծախսել դրա իրականացման վրա:
Սկզբունքը բավականին պարզ է՝ օգտագործելով տվյալների բազայի աղյուսակի արժեքները՝ ծրագիրը ստեղծում է «Նշում» դասի օբյեկտներ և ստացված նշումները ավելացնում զանգվածին: Աղյուսակը բաղկացած է երկու սյունակից.

  • տողի համարը 1-ից 4-ը, որի վրա պետք է գնա գրությունը և
  • այն ժամանակը, երբ այն պետք է հայտնվի էկրանին:

Ինչու ես շատ ժամանակ ծախսեցի, եթե ամեն ինչ այդքան պարզ է: Այս տվյալների բազան համալրելու համար:
Ցավոք, այն ժամանակ ես չկարողացա պարզել, թե ինչպես ավտոմատացնել երգի mp3 ֆայլից ինձ անհրաժեշտ ձևաչափով երաժշտություն ստանալու գործընթացը, և ես ստիպված էի ձեռքով լրացնել այս սյունակները ականջի միջոցով:

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Տվյալների բազան նշումներով լրացնելու գործընթացը

Այս մեթոդը թույլ տվեց ինձ սկսել խաղը վաղաժամ զարգացնել և փորձարկել, բայց պարզ էր, որ ես պետք է այլ բան մտածեի: Այստեղ ինձ շատ օգնեց ուսուցիչս՝ Իլյին Վլադիմիր Վլադիմիրովիչը, ով խոսեց MIDI ձևաչափի գոյության մասին, բացատրեց դրա կառուցվածքը և օգնեց ինձ պարզել MIDI ֆայլերի հետ աշխատելու համար իմ գտած գրադարանը։

Այս ձևաչափի գեղեցկությունն այն է, որ դրա մեջ յուրաքանչյուր գործիք արդեն առանձին շավիղ է, որի վրա տեղադրված են որոշակի «նոտաներ»: Այսպիսով, դուք կարող եք հեշտությամբ շրջանցել բոլոր նշումները և, կախված ուղուց և ժամանակից, ավտոմատ կերպով դրանք ավելացնել տվյալների բազայում: Սա շատ կարևոր հատկություն է, քանի որ դրա շնորհիվ ես կարողացա լուծել այս ժանրի խաղերի խնդիրը՝ սեփական երգերը ավելացնելու անկարողությունը: Ճիշտ է, MIDI ֆորմատը մի մեծ թերություն ունի՝ ձայնը (մեղեդիները բոլորս էլ հիշում ենք ռետրո խաղերում, չէ՞):

Աստիճանաբար բարելավելով խաղը, ես ծրագիրը հասցրեցի լիարժեք աշխատանքային վիճակի, ավելացրեցի բազմաթիվ «հատկություններ»՝ սարքի հիշողությունից կամ ամպային կատալոգից ձեր սեփական երգը ավելացնելու հնարավորություն, դժվարության մակարդակի ընտրություն, սկսնակ ռեժիմ և շատ ավելին:
Եվ վերջապես հասա «տորթի վրա բալը»...

Կառուցվածք

Այստեղից սկսվեց խաղի իմ «տեսլականի» մարմնավորումը։ Առաջին հերթին սկսեցի ընտրել նկարչական ծրագիր։ Ես գրաֆիկական դիզայնի փորձ չունեի, ուստի ինձ անհրաժեշտ էր մի ծրագիր, որը հեշտ էր սովորել (ի դեպ, Photoshop), բայց նաև ճկուն և հարմար (Paint, կներեք): Ընտրությունը ընկավ Inkscape-ի վրա՝ լավ գործիք վեկտորային պատկերները խմբագրելու համար, հիմնականում svg ձևաչափով:

Մի փոքր ավելի ծանոթ լինելով այս ծրագրին, ես սկսեցի նկարել խաղի յուրաքանչյուր տարր և պահպանել այն տարբեր լուծաչափերով, հարմար սարքերի էկրանի տարբեր չափերի համար: Կային նաև նոտաների պայթյունի անիմացիա իրականացնելու փորձեր, և չնայած ստացված դիզայնի անհամապատասխանությանը, ես գոհ էի: Իհարկե, նախագծի ավարտին զուգահեռ շարունակեցի աշխատել դիզայնի վրա՝ ավելացնելով նոր գույներ (գրադիենտները սեր են «առաջին հայացքից»):

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Դիզայնի առաջին տարբերակը (երկու էկրան, առանց անիմացիայի, հին անուն)

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Դիզայնի երկրորդ տարբերակը (4 էկրան, սկզբնական էկրանը սահուն կերպով զարկվում է տարբեր գույներով, ամենուր գրադիենտներով)

Ես պաշտպանեցի իմ վերջնական նախագիծը և շատ ուրախացա, երբ իմացա, որ անցել եմ որակավորման փուլը և հրավիրվել եմ IT School-ի հայտերի մրցույթի եզրափակիչ փուլին։ Մրցույթին մնացել էր մոտ մեկ ամիս, և ես լրջորեն մտածեցի դիզայնի ոլորտում ավելի պրոֆեսիոնալ մարդ ընդունելու մասին։ Որոնումը ապարդյուն չէր. ինչպես պարզվեց, եղբորս մտերիմ ընկերը հիանալի դիզայներ է: Նա անմիջապես համաձայնեց օգնել ինձ, և ներկայիս խաղի ձևավորումը նրա արժանիքն է:

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Վերջնական դիզայն

Հրապարակումը

Թողարկման տարբերակի վրա աշխատանքն ավարտելուց հետո ես անմիջապես սկսեցի հավելվածը պատրաստել Google Play շուկայում հրապարակման համար: Ստանդարտ ընթացակարգ՝ ծրագրավորողի հաշվի ձեռքբերում, հավելվածի էջի ստեղծում և այլն։ Բայց այս բաժինը դրա մասին չէ։

Ամենազարմանալին այս պատմության մեջ ներբեռնման վիճակագրությունն է։ Սկզբում DrumHero-ի ներբեռնումների թիվը աստիճանաբար և գրեթե հավասարաչափ աճեց եվրոպական որոշ երկրներում, ԱՄՆ-ում և ԱՊՀ երկրներում, բայց անցավ մեկ ամիս, և ներբեռնումների թիվը հասավ 100-ի: Հետաքրքիր փաստ է, որ ներբեռնումների մեծ մասը կատարվել է Ինդոնեզիայից։

Ամփոփում

DrumHero-ն իմ առաջին լուրջ նախագիծն է, որտեղ ես սովորեցի ծրագրավորել: Նա ինձ ոչ միայն բերեց SAMSUNG IT SCHOOL նախագծի մրցույթի համառուսական եզրափակիչ, այլ նաև մեծ փորձ տվեց գրաֆիկական դիզայնի, GameDev-ի, Play Market ծառայության հետ փոխգործակցության և շատ ավելին:

DrumHero. Ինչպես ես պատրաստեցի իմ կյանքի առաջին խաղը

Իհարկե, հիմա խաղում շատ թերություններ եմ տեսնում, չնայած այսօր ներբեռնումների թիվը հասել է գրեթե 200-ի, իմ ծրագրերն են թողարկել նոր տարբերակը, կան գաղափարներ, թե ինչպես բարձրացնել կայունությունը, բարելավել խաղը և ավելացնել ներբեռնումների քանակը:

Օգնություն:
SAMSUNG IT School-ը լրիվ դրույքով անվճար լրացուցիչ կրթական ծրագիր է ավագ դպրոցի աշակերտների համար, որը գործում է Ռուսաստանի 25 քաղաքներում:
Ուսանողների ավարտական ​​նախագիծը բջջային հավելված է։ Դա կարող է լինել խաղ, սոցիալական հավելված, պլանավորող, ինչ ուզում են:
Վերապատրաստման համար կարող եք դիմել 2019 թվականի սեպտեմբերից ժ Առցանց ծրագիրը:


Source: www.habr.com

Добавить комментарий