DrumHero: Како ја направив првата игра во мојот живот

Оваа година социјалната и едукативната програма IT SCHOOL SAMSUNG наполни 5 години (читај за IT SCHOOL тука), а во оваа прилика ги поканивме нашите матуранти да зборуваат за себе и за своето искуство во креирањето на нивните мобилни апликации. Веруваме дека со многу желба секој може да постигне успех!

Прв таков гостин во овој дел беше Шамил Магомедов, дипломец на SAMSUNG IT SCHOOL во 2017 година, сега студент на MIEM NRU HSE. Шамил, многу ти благодарам што одвои време да ја напишеш оваа статија, и покрај твојот презафатен распоред!

Здраво на сите!
Денес би сакал да зборувам за тоа како станав од „условно примен“ во SAMSUNG IT SCHOOL во финалист на серускиот натпревар за развој на мобилни телефони благодарение на играта Тапан Херој.

DrumHero: Како ја направив првата игра во мојот живот

праисторијата

Влегов во ИТ УЧИЛИШТЕ кога бев 10-то одделение. Уште од првите денови на тренинзите заостанував зад другите момци, а тоа беше предвидливо уште пред почетокот на курсот (за тоа сведочат моите ужасно ниски оценки на приемниот испит). Сите овие програмски принципи, структурата на платформата Андроид и јазикот Јава, како да се разбере сето тоа?

За среќа, имав сè што ми требаше за успешно да ги совладам развојните вештини: безгранична желба да одам напред и да не застанам.

Посветувајќи многу време на домашните задачи, постојано останувајќи доцна по часовите со наставникот Владимир Владимирович Илин (имав неверојатна среќа со него), почнав да се прилагодувам на брзото темпо на учење и да размислувам за мојот проект за дипломирање.

DrumHero: Како ја направив првата игра во мојот живот

Со наставникот - В.В

Барајте идеја

Многу луѓе мислат дека кога креираат проект, било да е тоа стартап или нешто мало за стекнување искуство, целата тешкотија лежи во развојот: пишување куп кодови, учење нови библиотеки, постојано тестирање - хорор! Верувај ми, тоа воопшто не е вистина. Точно на ист начин резонирав додека самиот не се соочив со потребата да изберам и да имплементирам идеја, тоа е една од најтешките фази.

Најтешкото нешто при изборот на идеја во почетната фаза на учење е да се одреди сложеноста на имплементацијата: долго време не можев да дојдам до апликација што би можела да ја направам и во исто време да ми се допадне.

Најмногу сакав да напишам музичка игра, но сомнежите за моите способности навистина ми пречеа. Се чинеше дека нема да биде можно да се заврши работата, и поради оваа причина го сменив мојот избор повеќе од еднаш: мобилен билијард, куглање, тркач итн. На крајот, научив една лекција од ова: тешкотии секогаш ќе се појавуваат, без оглед на идејата за апликација, и затоа најважно е да изберете што ви се допаѓа и да одите до крај.

DrumHero: Како ја направив првата игра во мојот живот

Секогаш ми се допаѓаше играта Гитар херој

Имплементација на логиката на играта

Основната идеја зад апликациите како 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 Market. Стандардна процедура: стекнување на програмерска сметка, креирање страница за апликација итн. Но, овој дел не е за тоа.

Најизненадувачката работа во оваа приказна е статистиката за преземање. На почетокот, бројот на преземања на DrumHero се зголемуваше постепено и речиси рамномерно низ некои европски земји, САД и земјите од ЗНД, но помина еден месец и бројот на преземања достигна 100 преземања! Интересен факт е дека повеќето преземања се од Индонезија.

Заклучок

DrumHero е мојот прв сериозен проект каде научив да програмирам. Тој не само што ме донесе до серуското финале на натпреварот за проектот SAMSUNG IT SCHOOL, туку ми даде и многу искуство во графички дизајн, GameDev, интеракција со услугата Play Market и многу повеќе.

DrumHero: Како ја направив првата игра во мојот живот

Се разбира, сега гледам многу недостатоци во играта, иако денес бројот на преземања достигна речиси 200 Моите планови се да издадам нова верзија, има идеи како да ја зголемам стабилноста, да го подобрам гејмплејот и да го зголемам бројот на преземања.

Помош:
SAMSUNG IT SCHOOL е бесплатна програма за дополнително образование со полно работно време за средношколци, која работи во 25 градови во Русија.
Проектот за дипломирање на студентите е мобилна апликација. Тоа може да биде игра, социјална апликација, планер, што и да посакаат.
Можете да аплицирате за обука од септември 2019 година на Онлајн програми.


Извор: www.habr.com

Додадете коментар