DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Quist'annu u prugramma suciale è educativu IT SCHOOL SAMSUNG compie 5 anni (leghjite nantu à IT SCHOOL ccà), è in questa occasione avemu invitatu i nostri diplomi à parlà di sè stessu è di a so sperienza in a creazione di e so applicazioni mobili. Cridemu chì cù assai desideriu, ognunu pò ottene successu!

U primu tali invitatu in questa sezione era Shamil Magomedov, un graduatu 2017 di SAMSUNG IT SCHOOL, avà un studiente in MIEM NRU HSE. Shamil, ti ringraziu assai per piglià u tempu di scrive stu articulu, malgradu u vostru impegnu!

Bonghjornu ognunu!
Oghje vogliu parlà di cumu aghju passatu da esse "ammessi in cundizione" à a SAMSUNG IT SCHOOL in un finalista in a cumpetizione di sviluppu mobile All-Russian grazia à u ghjocu. DrumHero.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Pristoria

Sò intrutu in IT SCHOOL quandu eru in u 10u gradu. Da i primi ghjorni di furmazione, aghju ritardatu daretu à l'altri picciotti, è questu era prevedibile ancu prima di l'iniziu di u corsu (questu era pruvucatu da i mo risultati di l'esame d'ingressu horribly low). Tutti issi principii di prugrammazione, a struttura di a piattaforma Android è a lingua Java, cumu capisce tuttu?

Fortunatamente, aghju avutu tuttu ciò chì avia bisognu per ammaistrà cun successu e cumpetenze di sviluppu: un desideriu illimitatu di avanzà è micca firmà.

Dedicà assai tempu à i travaglii, stà constantemente tardu dopu à e classi cù u maestru Vladimir Vladimirovich Ilyin (aghju statu incredibbilmente furtunatu cun ellu), aghju cuminciatu à adattà à u ritmu rapidu di l'apprendimentu è pensate à u mo prughjettu di graduazione.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Cù maestru - V.V. Ilyin

Cerca una idea

Parechje persone pensanu chì quandu creanu un prughjettu, ch'ella sia una startup o qualcosa di pocu per acquistà sperienza, tutta a difficultà si trova in u sviluppu: scrive una mansa di codice, apprendu novi biblioteche, teste constantemente - orrore! Cridite à mè, questu ùn hè micca veru. Aghju ragiunatu esattamente in u listessu modu finu à ch'e aghju avutu affruntatu a necessità di sceglie è implementà una idea; hè stata una di e tappe più difficili.

A cosa più difficiuli in a scelta di una idea in u stadiu iniziale di l'apprendimentu hè di determinà a cumplessità di l'implementazione: per un bellu pezzu ùn pudia micca avè una applicazione chì puderia fà è à u stessu tempu piace.

A maiò parte di tuttu aghju vulsutu scrive un ghjocu musicale, ma i dubbiti nantu à e mo capacità sò veramente in u modu. Paria chì ùn saria micca pussibule di finisce u travagliu, è per quessa aghju cambiatu a mo scelta più di una volta: biliardo mobile, bowling, runner, etc. In fine, aghju amparatu una lezione da questu: e difficultà surghjeranu sempre, indipendentemente da l'idea di l'applicazione, è dunque u più impurtante hè di sceglie ciò chì ti piace è vai à a fine.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Mi piace sempre u ghjocu Guitar Hero

Implementazione di a logica di ghjocu

L'idea basica daretu à l'applicazioni cum'è Guitar Hero hè di tuccà u screnu à u ritmu di a musica.
Prima di tuttu, aghju cuminciatu à implementà a logica di u ghjocu:

  1. Create classi di note, buttoni è strisce longu chì e note si moveranu.
  2. Aghju postu a tela nantu à tutta a pantalla di l'applicazione è nantu à questu aghju digià descrittu u locu di l'uggetti di e classi create.
  3. Implementatu u lanciu simultaneo di un schedariu mp3 di una canzone è una serie di note ottenute da a basa di dati è voilà! I primi bozze di u ghjocu sò digià nantu à u mo smartphone :)

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Prima versione di u ghjocu

Iè, pare "impresionante", ma era quasi abbastanza per pruvà u ghjocu! L'ultimu passu necessariu era a lista di note per a canzona, è aghju avutu passà assai tempu à travaglià nantu à a so implementazione.
U principiu hè abbastanza sèmplice: utilizendu i valori di a tabella di basa di dati, u prugramma crea oggetti di a classa "Note" è aghjunghjenu e note resultanti à l'array. A tavula hè custituita da duie colonne:

  • numeru di linea da 1 à 4 nantu à quale a nota deve andà è
  • l'ora à quale deve esse appare nantu à u screnu.

Perchè aghju passatu assai tempu si tuttu hè cusì simplice? Per populà sta basa di dati !
Sfurtunatamente, à quellu tempu ùn pudia capisce cumu automatizà u prucessu di ottene a partitura in u formatu chì avia bisognu da un schedariu mp3 di a canzone, è cusì aghju avutu à riempie manualmente queste colonne à l'arechja.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

U prucessu di riempia a basa di dati cù note

Stu metudu m'hà permessu di cumincià à sviluppà è pruvà u ghjocu prima, ma era chjaru chì avia bisognu di vene cun qualcosa di sfarente. Quì u mo maestru, Ilyin Vladimir Vladimirovich, m'hà aiutatu assai, chì hà parlatu di l'esistenza di u formatu MIDI, spiegò a so struttura è m'hà aiutatu à capisce a biblioteca chì aghju trovu per travaglià cù i schedari MIDI.

A bellezza di stu formatu hè chì ogni strumentu hè digià una pista separata nantu à quale si trovanu certi "noti". In questu modu, pudete facilmente chjappà tutte e note è, secondu a traccia è u tempu, aghjunghje automaticamente à a basa di dati. Questa hè una pruprietà assai impurtante, perchè era grazia à questu chì aghju sappiutu risolve u prublema di ghjochi di stu generu: l'incapacità di aghjunghje i mo propri canzoni. True, u formatu MIDI hà un grande svantaghju - u sonu (tutti ricurdate di melodie in ghjochi retro, nò?).

Migliurà gradualmente u gameplay, aghju purtatu u prugramma à un statu di funziunamentu cumpletu, aghjunse parechje "caratteristiche": a capacità di aghjunghje a vostra propria canzone da a memoria di u dispusitivu o da un catalogu di nuvola, scelta di livellu di difficultà, modalità di principianti è assai di più.
È infine sò ghjuntu à a "cherry on the cake"...

cuncezzione

Questu hè induve l'incarnazione di a mo "visione" di u ghjocu hà cuminciatu. Prima di tuttu, aghju cuminciatu à sceglie un prugramma di disegnu. Ùn aghju micca avutu una sperienza in u disignu graficu, cusì aghju bisognu di un prugramma chì era faciule d'amparà (Photoshop, per via), ma ancu flexible è cunvene (Paint, scusate). A scelta hè cascata nantu à Inkscape - un bonu strumentu per edità l'imaghjini vettoriali, principalmente in u formatu svg.

Dopu avè diventatu un pocu più familiarizatu cù stu prugramma, aghju cuminciatu à disegnà ogni elementu di u ghjocu è salvallu in diverse risoluzioni, adattati per diverse dimensioni di schermu di u dispositivu. Ci era ancu tentativu di implementà una animazione di l'esplosione di noti, è malgradu l'inadettazione di u disignu risultatu, aghju avutu piacè. Di sicuru, in parallelu cù a finalizazione di u prugettu, aghju cuntinuatu à travaglià nantu à u disignu, aghjunghjendu novi culori (i gradienti sò amore "à prima vista").

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Prima versione di u disignu (dui schermi, senza animazione, nome anticu)

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Siconda versione di u disignu (4 schermi, u screnu iniziale pulsa lisamente cù culori diffirenti, gradienti in ogni locu)

Aghju difesu u mo prughjettu finali è era assai cuntentu quandu aghju scupertu chì avia passatu u turnu di qualificazione è hè statu invitatu à a finale di u cuncorsu di l'applicazioni IT SCHOOL. Aviu avutu circa un mesi prima di a cumpetizione, è aghju pensatu seriamente à cuntrullà una persona più prufessiunale in u campu di u disignu. A ricerca ùn hè micca in vanu: cum'è s'hè risultatu, l'amicu strettu di u mo fratellu hè un excellent designer! Ella accunsentì immediatamente à aiutà mi, è u disignu di u ghjocu attuale hè u so creditu.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Disegnu finali

Pubblicazione

Dopu avè finitu u travagliu nantu à a versione di liberazione, aghju immediatamente cuminciatu à preparà l'applicazione per a publicazione in u Google Play Market. Prucedura standard: acquistà un contu di sviluppatore, creazione di una pagina di applicazione, etc. Ma sta sezione ùn hè micca nantu à questu.

A cosa più sorprendente in questa storia hè e statistiche di scaricamentu. À u principiu, u numeru di scaricamentu di DrumHero hà aumentatu gradualmente è quasi uguali in certi paesi europei, in i Stati Uniti è in i paesi CIS, ma hè passatu un mese è u numeru di scaricamentu hà righjuntu 100 000 scaricamenti! Un fattu interessante hè chì a maiò parte di e scaricamentu hè vinutu da Indonesia.

cunchiusioni

DrumHero hè u mo primu prughjettu seriu induve aghju amparatu à programà. Ùn solu ùn m'hà purtatu à a finale all-Russian di u cuncorsu di prughjettu SAMSUNG IT SCHOOL, ma ancu m'hà datu assai sperienza in u disignu graficu, GameDev, interazzione cù u serviziu Play Market è assai più.

DrumHero: Cumu aghju fattu u primu ghjocu in a mo vita

Di sicuru, avà vecu assai difetti in u ghjocu, ancu s'ellu oghje u numeru di scaricamentu hà righjuntu quasi 200 000. I mo piani sò di liberà una nova versione, ci sò idee nantu à cumu per aumentà a stabilità, migliurà u ghjocu è cresce u numeru di scaricamentu.

Aiutu:
SAMSUNG IT SCHOOL hè un prugramma di educazione supplementaria à tempu pienu gratuitu per i studienti di u liceu, chì opera in 25 cità di Russia.
U prughjettu di graduazione di i studienti hè una applicazione mobile. Puderia esse un ghjocu, una app suciale, un pianificatore, ciò chì volenu.
Pudete dumandà a furmazione da settembre 2019 à situ prugrammi.


Source: www.habr.com

Add a comment