DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Быйыл IT SCHOOL SAMSUNG социалдык жана билим берүү программасы 5 жашка толду (IT SCHOOL жөнүндө окуу бул жерде) жана бул учурда биз бүтүрүүчүлөрүбүздү өздөрү жана мобилдик тиркемелерди түзүүдөгү тажрыйбасы жөнүндө айтып берүүгө чакырдык. Биз көп каалоо менен ар бир адам ийгиликке жете алат деп ишенебиз!

Бул бөлүмдүн мындай коногу Шамил Магомедов болду, 2017-жылы SAMSUNG IT SCHOOL бүтүрүүчүсү, азыр MIEM NRU HSEнин студенти. Шамил, убактыңды бөлүп, бош убактыңа карабай ушул макаланы жазганың үчүн чоң рахмат!

Баарына салам!
Бүгүн мен кантип SAMSUNG IT SCHOOLга "шарттуу түрдө кабыл алынгандан" оюндун аркасында Бүткүл россиялык мобилдик өнүктүрүү сынагында финалистке өткөнүм жөнүндө айткым келет. DrumHero.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

prehistory

10-класста окуп жүргөндө IT SCHOOLга тапшыргам. Тренингдин алгачкы күндөрүнөн тартып мен башка балдардан артта калдым жана бул курс баштала электе эле алдын ала айтууга болот (бул менин кирүү экзамендериндеги өтө төмөн баллдарым менен далилденген). Бардык ушул программалоо принциптери, Android платформасынын түзүмү жана Java тили, муну кантип түшүнсө болот?

Бактыга жараша, менде өнүгүү көндүмдөрүн ийгиликтүү өздөштүрүү үчүн зарыл болгон нерселердин баары бар эле: алдыга умтулуу жана токтоп калбоо.

Үй тапшырмаларына көп убактымды арнап, мугалим Владимир Владимирович Ильин менен сабактан кийин тынымсыз кечигип (мен аны менен укмуштуудай бактылуумун) окуунун тез темпине көнүп, дипломдук долбоорум жөнүндө ойлоно баштадым.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Мугалим менен - ​​В.В

Идея издөө

Көптөгөн адамдар долбоорду түзүп жатканда, стартап болобу же кичине нерсе болобу, тажрыйба топтоо үчүн бардык кыйынчылык өнүгүүдө деп ойлошот: бир топ код жазуу, жаңы китепканаларды үйрөнүү, тынымсыз тестирлөө - үрөй учурарлык! Мага ишен, бул такыр туура эмес. Мен өзүм бир идеяны тандап, ишке ашыруунун эң татаал этаптарынын бири болуп калганга чейин так ушундай ойдо жүрдүм.

Окуунун баштапкы этабында идеяны тандоодо эң кыйын нерсе – бул ишке ашыруунун татаалдыгын аныктоо: көптөн бери мен жасай ала турган жана ошол эле учурда жактырган тиркемени ойлоп таба албай жүрдүм.

Баарынан да мен музыкалык оюн жазгым келди, бирок менин жөндөмдүүлүктөрүмдүн шектенүүсү жолго чыкты. Бул ишти аягына чыгаруу мүмкүн эместей сезилди, ошондуктан мен тандоомду бир нече жолу өзгөрттү: мобилдик бильярд, боулинг, жөө күлүк ж.б. Акыр-аягы, мен мындан бир сабак алдым: кыйынчылыктар ар дайым пайда болот, колдонмо идеясына карабастан, ошондуктан эң негизгиси сизге жаккан нерсени тандап, аягына чейин барыңыз.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Мен ар дайым Guitar Hero оюнун жактырчумун

Оюн логикасын ишке ашыруу

Guitar Hero сыяктуу колдонмолордун артында негизги идея музыканын ритмине экранды басуу болуп саналат.
Биринчиден, мен оюн логикасын ишке ашыра баштадым:

  1. Ноталардын, баскычтардын жана тилкелердин класстары түзүлдү, алар боюнча ноталар жылат.
  2. Мен кенепти тиркеменин бүткүл экранына жайгаштырдым жана анда мен түзүлгөн класстардын объекттеринин жайгашкан жерин сүрөттөп бердим.
  3. Ырдын mp3 файлын жана маалымат базасынан алынган ноталардын массивин бир убакта ишке киргизүү жана voila! Оюндун биринчи долбоорлору менин смартфонумда бар :)

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Оюндун биринчи версиясы

Ооба, бул "таасирдүү" көрүнөт, бирок бул оюнду сыноо үчүн дээрлик жетиштүү болду! Акыркы зарыл кадам ырдын ноталарынын тизмеси болду, аны ишке ашырууга көп убакыт коротууга туура келди.
Принциби абдан жөнөкөй: маалымат базасынын таблицасынын баалуулуктарын колдонуу менен, программа "Эскертүү" классынын объекттерин түзөт жана алынган эскертүүлөрдү массивге кошот. Таблица эки тилкеден турат:

  • 1ден 4кө чейинки саптын номери, анда нота барышы керек жана
  • ал экранда пайда болушу керек болгон убакыт.

Баары жөнөкөй болсо, эмнеге көп убакыт короттум? Бул маалымат базасын толтуруу үчүн!
Тилекке каршы, ошол кезде мен ырдын mp3 файлынан ноталарды керектүү форматта алуу процессин кантип автоматташтыруу керектигин түшүнө албай, бул тилкелерди кулак менен кол менен толтурууга туура келди.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Маалыматтар базасын жазуулар менен толтуруу процесси

Бул ыкма мага оюнду иштеп чыгууну жана сынап көрүүнү эрте баштоого мүмкүндүк берди, бирок мен башка нерсени ойлоп табышым керек экени айкын болду. Бул жерде менин мугалимим Ильин Владимир Владимирович мага абдан жардам берди, ал MIDI форматынын бар экендиги жөнүндө айтып, анын түзүлүшүн түшүндүрүп, MIDI файлдары менен иштөө үчүн тапкан китепканамды аныктоого жардам берди.

Бул форматтын кооздугу, анда ар бир инструмент белгилүү бир "ноталар" жайгашкан өзүнчө трек болуп саналат. Ушундай жол менен сиз бардык ноталарды оңой эле айланта аласыз жана трекке жана убакытка жараша аларды автоматтык түрдө маалымат базасына кошо аласыз. Бул абдан маанилүү касиет, анткени анын аркасында мен бул жанрдагы оюндардын көйгөйүн чече алдым: өзүмдүн ырларымды кошо албайм. Ырас, MIDI форматынын чоң кемчилиги бар – үн (ретро оюндардагы обондорду баарыбыз эстейбиз, туурабы?).

Акырындык менен оюнду жакшыртып, мен программаны толук иштеген абалга келтирдим, көптөгөн "функцияларды" коштум: түзмөктүн эс тутумунан же булут каталогунан өз ырыңызды кошуу мүмкүнчүлүгү, кыйынчылык деңгээлин тандоо, башталгыч режим жана башкалар.
Акыры мен "торттогу алчага" келдим...

дизайн

Мына ушул жерден менин оюндун “көз карашымдын” ишке ашырылышы башталды. Биринчи кезекте сүрөт тартуу программасын тандап баштадым. Менин графикалык дизайн боюнча тажрыйбам жок болчу, ошондуктан мага үйрөнүүгө оңой (Фотошоп, демек), ийкемдүү жана ыңгайлуу (Paint, кечиресиз) программа керек болчу. Тандоо Inkscape'ге туура келди - вектордук сүрөттөрдү түзөтүү үчүн жакшы курал, негизинен svg форматында.

Бул программа менен бир аз жакшыраак таанышкандан кийин, мен оюндун ар бир элементин тарта баштадым жана аны ар кандай резолюцияларда сактай баштадым, экрандын ар кандай өлчөмдөрүнө ылайыктуу. Ошондой эле ноталардын жарылышынын анимациясын ишке ашыруу аракеттери болду, натыйжада дизайндын жараксыздыгына карабастан, мен ыраазы болдум. Албетте, долбоорду аяктоо менен катар, мен жаңы түстөрдү кошуп, дизайндын үстүндө иштөөнү уланттым (градиенттер "биринчи көргөндө" сүйүү).

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Дизайндын биринчи версиясы (эки экран, анимация жок, эски аты)

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Дизайндын экинчи версиясы (4 экран, баштапкы экран ар кандай түстөр менен жылмакай пульсацияланат, бардык жерде градиенттер)

Мен жыйынтыктоочу долбоорумду коргоп, квалификациялык турдан өткөнүмдү жана IT SCHOOL өтүнмө сынагынын финалына чакырылганымды билгенде абдан кубандым. Сынакка бир айга жакын убакыт калды жана мен дизайн тармагында профессионалдуураак адамды жумушка алууну олуттуу ойлондум. Издөө бекер болгон жок: белгилүү болгондой, инимдин жакын досу мыкты дизайнер экен! Ал дароо мага жардам берүүгө макул болду жана азыркы оюндун дизайны анын кредити.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Акыркы дизайн

чыгаруу

Чыгарылган версиянын үстүндө иштөөнү аяктагандан кийин, мен дароо Google Play Market'те жарыялоо үчүн тиркемени даярдай баштадым. Стандарттык процедура: иштеп чыгуучунун эсебин алуу, тиркеме барагын түзүү ж.б. Бирок бул бөлүм ал жөнүндө эмес.

Бул окуянын эң таң калыштуусу – жүктөө статистикасы. Башында, DrumHero жүктөмөлөрүнүн саны акырындык менен жана кээ бир Европа өлкөлөрүндө, АКШда жана КМШ өлкөлөрүндө дээрлик бирдей өстү, бирок бир ай өтүп, жүктөлүп алынгандардын саны 100 000 жүктөмөгө жетти! Кызыктуу факт, жүктөмөлөрдүн көбү Индонезиядан келген.

жыйынтыктоо

DrumHero бул менин биринчи олуттуу долбоорум, анда мен программалоону үйрөндүм. Ал мени SAMSUNG IT SCHOOL долбоорунун сынагынын бүткүл россиялык финалына алып барбастан, графикалык дизайн, GameDev, Play Market сервиси менен өз ара аракеттенүү жана башка көптөгөн тажрыйбаларды да берди.

DrumHero: Мен жашоомдогу биринчи оюнду кантип жасадым

Албетте, азыр мен оюнда көптөгөн кемчиликтерди көрүп жатам, бирок бүгүнкү күндө жүктөөлөрдүн саны дээрлик 200 000ге жеткени менен менин пландарым жаңы версияны чыгаруу, стабилдүүлүктү жогорулатуу, оюнду жакшыртуу жана жүктөөлөрдүн санын көбөйтүү боюнча идеялар бар.

FAQ:
SAMSUNG IT SCHOOL — Россиянын 25 шаарында иш алып барган жогорку класстын окуучулары үчүн акысыз толук убакыттагы кошумча билим берүү программасы.
Студенттердин бүтүрүү долбоору мобилдик тиркеме болуп саналат. Бул оюн, социалдык колдонмо, пландоочу, алар каалаган нерсе болушу мүмкүн.
Сиз 2019-жылдын сентябрынан баштап окууга тапшырсаңыз болот сайты программа.


Source: www.habr.com

Комментарий кошуу