ДрумХеро: Како сам направио прву игру у животу

Ове године друштвено-образовни програм ИТ ШКОЛА САМСУНГ пуни 5 година (прочитајте о ИТ ШКОЛИ овде), и овом приликом смо позвали наше матуранте да причају о себи и свом искуству у креирању својих мобилних апликација. Верујемо да уз велику жељу свако може да постигне успех!

Први такав гост у овој рубрици био је Шамил Магомедов, дипломац САМСУНГ ИТ ШКОЛЕ 2017. године, сада студент МИЕМ НРУ ХСЕ. Схамил, хвала вам пуно што сте одвојили време да напишете овај чланак, упркос вашем заузетом распореду!

Поздрав свима!
Данас бих желео да причам о томе како сам од „условног примљеног“ у САМСУНГ ИТ ШКОЛУ до финалисту сверуског такмичења за развој мобилних уређаја захваљујући игрици ДрумХеро.

ДрумХеро: Како сам направио прву игру у животу

praistorija

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

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

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

ДрумХеро: Како сам направио прву игру у животу

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

Потражите идеју

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

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

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

ДрумХеро: Како сам направио прву игру у животу

Увек ми се свиђала игра Гуитар Херо

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

Основна идеја која стоји иза апликација као што је Гуитар Херо је да додирнете екран у ритму музике.
Пре свега, почео сам да примењујем логику игре:

  1. Направљене класе белешки, дугмади и трака дуж којих ће се белешке кретати.
  2. Поставио сам платно на цео екран апликације и на њему сам већ описао локацију објеката креираних класа.
  3. Имплементирано истовремено покретање мп3 датотеке песме и низа нота добијених из базе података и воила! Први нацрти игре су већ на мом паметном телефону :)

ДрумХеро: Како сам направио прву игру у животу

Прва верзија игре

Да, изгледа „импресивно“, али било је скоро довољно за тестирање игре! Последњи неопходан корак била је листа нота за песму и морао сам да проведем доста времена радећи на њеној имплементацији.
Принцип је прилично једноставан: користећи вредности табеле базе података, програм креира објекте класе „Ноте“ и додаје резултујуће белешке у низ. Табела се састоји од две колоне:

  • ред број од 1 до 4 на коме треба да иде белешка и
  • време у које треба да се појави на екрану.

Зашто сам потрошио много времена ако је све тако једноставно? За попуњавање ове базе података!
Нажалост, у то време нисам могао да схватим како да аутоматизујем процес добијања нотног записа у формату који ми је био потребан из мп3 датотеке песме, па сам морао ручно да попуњавам ове колоне по слуху.

ДрумХеро: Како сам направио прву игру у животу

Процес попуњавања базе података белешкама

Овај метод ми је омогућио да рано почнем да развијам и тестирам игру, али било је јасно да морам да смислим нешто другачије. Овде ми је много помогао мој учитељ Иљин Владимир Владимирович, који је причао о постојању МИДИ формата, објаснио његову структуру и помогао ми да схватим библиотеку коју сам нашао за рад са МИДИ датотекама.

Лепота овог формата је у томе што је у њему сваки инструмент већ засебна нумера на којој се налазе одређене „ноте“. На овај начин можете лако проћи кроз све белешке и, у зависности од нумере и времена, аутоматски их додати у базу података. Ово је веома важно својство, јер сам захваљујући њему успео да решим проблем игара овог жанра: немогућност додавања сопствених песама. Истина, МИДИ формат има велики недостатак - звук (сви се сећамо мелодија у ретро игрицама, зар не?).

Постепено побољшавајући игру, довео сам програм у потпуно радно стање, додао многе „карактеристике“: могућност додавања сопствене песме из меморије уређаја или из каталога у облаку, избор нивоа тежине, почетни режим и још много тога.
И коначно сам дошао до „трешње на торти“...

Дизајн

Ту је почело отелотворење моје „визије“ игре. Пре свега, почео сам да бирам програм за цртање. Нисам имао никаквог искуства у графичком дизајну, па ми је био потребан програм који је био лак за учење (Пхотосхоп, иначе), али и флексибилан и згодан (Паинт, извини). Избор је пао на Инксцапе - добар алат за уређивање векторских слика, углавном у свг формату.

Пошто сам се мало боље упознао са овим програмом, почео сам да цртам сваки елемент игре и да га чувам у различитим резолуцијама, погодним за различите величине екрана уређаја. Било је и покушаја да се имплементира анимација експлозије нота, и упркос неприкладности резултирајућег дизајна, био сам задовољан. Наравно, паралелно са финализацијом пројекта, наставио сам да радим на дизајну, додајући нове боје (градијенти су љубав „на први поглед“).

ДрумХеро: Како сам направио прву игру у животу

Прва верзија дизајна (два екрана, без анимације, старо име)

ДрумХеро: Како сам направио прву игру у животу

Друга верзија дизајна (4 екрана, почетни екран глатко пулсира различитим бојама, градијенти свуда)

Одбранио сам свој завршни пројекат и био сам веома срећан када сам сазнао да сам прошао квалификациону рунду и позван у финале конкурса ИТ ШКОЛЕ. Остало ми је око месец дана до конкурса и озбиљно сам размишљао о ангажовању стручније особе у области дизајна. Потрага није била узалудна: како се испоставило, блиски пријатељ мог брата је одличан дизајнер! Одмах је пристала да ми помогне, а тренутни дизајн игре је њена заслуга.

ДрумХеро: Како сам направио прву игру у животу

Финални дизајн

Публикација

Након што сам завршио рад на издању верзије, одмах сам почео да припремам апликацију за објављивање на Гоогле Плаи Маркет-у. Стандардна процедура: преузимање налога програмера, креирање странице апликације итд. Али овај одељак није о томе.

Оно што највише изненађује у овој причи је статистика преузимања. У почетку је број преузимања ДрумХеро-а растао постепено и готово равномерно у неким европским земљама, САД и земљама ЗНД, али је прошао месец дана и број преузимања је достигао 100 преузимања! Занимљива чињеница је да је већина преузимања дошла из Индонезије.

Закључак

ДрумХеро је мој први озбиљан пројекат где сам научио да програмирам. Не само да ме је довео до сверуског финала пројекта САМСУНГ ИТ СЦХООЛ, већ ми је дао и велико искуство у графичком дизајну, ГамеДев-у, интеракцији са услугом Плаи Маркет и још много тога.

ДрумХеро: Како сам направио прву игру у животу

Наравно, сада видим много недостатака у игрици, иако је данас број преузимања достигао скоро 200 000. Моји планови су да објавим нову верзију, постоје идеје како да повећам стабилност, побољшам игру и повећам број преузимања.

Помоћ:
САМСУНГ ИТ СЦХООЛ је бесплатан програм додатног образовања за средњошколце са пуним радним временом, који ради у 25 градова Русије.
Дипломски пројекат студената је мобилна апликација. То може бити игра, друштвена апликација, планер, шта год желе.
За обуку се можете пријавити од септембра 2019. године на Онлине програми.


Извор: ввв.хабр.цом

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