DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

Биыл IT SCHOOL SAMSUNG әлеуметтік-білім беру бағдарламасына 5 жыл толды (IT SCHOOL туралы оқыңыз осында) және осы орайда біз түлектерімізді өздері және мобильді қосымшаларды жасау тәжірибесі туралы әңгімелесуге шақырдық. Біз үлкен тілекпен әрбір адам жетістікке жете алады деп сенеміз!

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

Привет!
Бүгін мен ойынның арқасында SAMSUNG IT SCHOOL-ге «шартты түрде қабылданудан» Бүкілресейлік ұялы телефонды дамыту байқауында финалистке қалай өткенім туралы айтқым келеді. Drum Hero.

DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

тарихын

IT МЕКТЕПке 10-сыныпта оқып жүргенімде түстім. Жаттығудың алғашқы күндерінен бастап мен басқа жігіттерден артта қалдым, және бұл курс басталмай тұрып-ақ болжауға болатын еді (бұл менің қабылдау емтиханындағы өте төмен ұпайларымның дәлелі болды). Барлық осы бағдарламалау принциптері, Android платформасының құрылымы және Java тілі, мұның бәрін қалай түсінуге болады?

Бақытымызға орай, менде даму дағдыларын сәтті меңгеру үшін қажет нәрсенің бәрі болды: алға ұмтылу және тоқтамау.

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

DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

Мұғаліммен - В.В.Ильин

Идея іздеңіз

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

Оқытудың бастапқы кезеңінде идеяны таңдаудағы ең қиын нәрсе - іске асырудың күрделілігін анықтау: мен ұзақ уақыт бойы өзім жасай алатын және бір уақытта ұнайтын қосымшаны таба алмадым.

Ең бастысы, мен музыкалық ойын жазғым келді, бірақ менің қабілеттеріме күмәндандым. Жұмысты аяқтау мүмкін емес сияқты көрінді, сондықтан мен таңдауымды бірнеше рет өзгерттім: мобильді бильярд, боулинг, жүгіруші және т.б. Сайып келгенде, мен осыдан бір сабақ алдым: қиындықтар әрқашан пайда болады, қолданба идеясына қарамастан, сондықтан ең бастысы өзіңізге ұнайтын нәрсені таңдап, соңына дейін бару.

DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

Маған әрқашан Guitar Hero ойыны ұнайтын

Ойын логикасын жүзеге асыру

Guitar Hero сияқты қолданбалардың негізгі идеясы - музыканың ырғағында экранды түрту.
Ең алдымен, мен ойын логикасын іске асыра бастадым:

  1. Жазбалардың, түймелердің және жолақтардың сыныптары жасалды, олар бойынша жазбалар қозғалады.
  2. Мен кенепті қолданбаның бүкіл экранына орналастырдым және онда мен құрылған сыныптар объектілерінің орналасуын сипаттадым.
  3. Әннің mp3 файлын және дерекқордан алынған ноталар массивін бір уақытта іске қосу және voila жүзеге асырылды! Ойынның алғашқы нобайлары менің смартфонымда бар :)

DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

Ойынның бірінші нұсқасы

Иә, бұл «әсерлі» көрінеді, бірақ бұл ойынды сынау үшін жеткілікті болды! Соңғы қажетті қадам әнге арналған ноталар тізімі болды, мен оны орындауға көп уақыт жұмсауға тура келді.
Принцип өте қарапайым: дерекқор кестесінің мәндерін пайдалана отырып, бағдарлама «Note» класының нысандарын жасайды және алынған жазбаларды массивке қосады. Кесте екі бағаннан тұрады:

  • 1-ден 4-ке дейінгі жол нөмірі, онда нота жазылады және
  • экранда пайда болатын уақыт.

Барлығы қарапайым болса, мен неге көп уақыт жұмсадым? Бұл дерекқорды толтыру үшін!
Өкінішке орай, ол кезде мен әннің mp3 файлынан ноталарды қажетті форматта алу процесін қалай автоматтандыру керектігін анықтай алмадым, сондықтан бұл бағандарды құлаққаппен қолмен толтыруға тура келді.

DrumHero: Мен өмірімде бірінші ойынды қалай жасадым

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

Бұл әдіс ойынды ертерек әзірлеуге және сынауға мүмкіндік берді, бірақ маған басқа нәрсе ойлап табу керек екені анық болды. Бұл жерде менің ұстазым Ильин Владимир Владимирович маған көп көмектесті, ол MIDI форматының бар екендігі туралы айтып, оның құрылымын түсіндірді және MIDI файлдарымен жұмыс істеу үшін тапқан кітапханамды анықтауға көмектесті.

Бұл форматтың сұлулығы - онда әрбір аспап қазірдің өзінде белгілі бір «ноталар» орналасқан жеке трек болып табылады. Осылайша, сіз барлық жазбаларды оңай айналдыра аласыз және трек пен уақытқа байланысты оларды дерекқорға автоматты түрде қоса аласыз. Бұл өте маңызды қасиет, өйткені соның арқасында мен осы жанрдағы ойындар мәселесін шеше алдым: өз әндерімді қоса алмау. Рас, MIDI форматының үлкен кемшілігі бар - дыбыс (ретро ойындардағы әуендерді бәріміз есте сақтаймыз, солай ма?).

Ойын ойнауды бірте-бірте жақсарта отырып, мен бағдарламаны толық жұмыс күйіне келтірдім, көптеген «мүмкіндіктер» қостым: құрылғы жадынан немесе бұлттық каталогтан өз әніңізді қосу мүмкіндігі, қиындық деңгейін таңдау, бастаушы режимі және т.б.
Ақырында мен «торттағы шиеге» келдім...

жобалау

Міне, менің ойын туралы «пайымдауымның» жүзеге асуы басталды. Ең алдымен сурет салу бағдарламасын таңдай бастадым. Менің графикалық дизайнда тәжірибем жоқ еді, сондықтан маған үйренуге оңай (Photoshop, айтпақшы), сонымен қатар икемді және ыңғайлы (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-ға жуықтады.Менің жоспарларым жаңа нұсқаны шығару, тұрақтылықты арттыру, ойынды жақсарту және жүктеулер санын көбейту туралы идеялар бар.

Анықтама:
SAMSUNG IT SCHOOL — Ресейдің 25 қаласында жұмыс істейтін жоғары сынып оқушыларына арналған тегін күндізгі қосымша білім беру бағдарламасы.
Студенттердің бітіру жобасы мобильді қосымша болып табылады. Бұл ойын, әлеуметтік қолданба, жоспарлаушы, олар қалаған нәрсе болуы мүмкін.
Сіз 2019 жылдың қыркүйек айынан бастап оқуға өтініш бере аласыз сайт бағдарламалар.


Ақпарат көзі: www.habr.com

пікір қалдыру