DrumHero: Kako sem naredil prvo igro v življenju

Letos socialno-izobraževalni program ŠOLA INFORMACIJE SAMSUNG praznuje 5 let (preberite o ŠOLI INFORMATIKE tukaj), ob tej priložnosti pa smo naše diplomante povabili, da spregovorijo o sebi in svojih izkušnjah pri ustvarjanju svojih mobilnih aplikacij. Verjamemo, da lahko z veliko željo uspe prav vsakemu!

Prvi takšen gost v tej rubriki je bil Shamil Magomedov, leta 2017 diplomant SAMSUNG IT SCHOOL, zdaj študent na MIEM NRU HSE. Shamil, najlepša hvala, da ste si vzeli čas za pisanje tega članka, kljub vašemu zasedenemu urniku!

Pozdravljeni vsi!
Danes bi rad govoril o tem, kako sem od »pogojno sprejetega« v IT ŠOLO SAMSUNG postal finalist vseruskega tekmovanja za razvoj mobilnih telefonov zahvaljujoč igri DrumHero.

DrumHero: Kako sem naredil prvo igro v življenju

prazgodovina

V IT ŠOLO sem se vpisal, ko sem bil v 10. razredu. Že od prvih dni treninga sem zaostajal za ostalimi fanti, kar je bilo predvideno že pred začetkom tečaja (to so dokazovale moje grozljivo nizke ocene na sprejemnem izpitu). Vsi ti principi programiranja, struktura platforme Android in jezik Java, kako razumeti vse to?

Na srečo sem imela vse, kar sem potrebovala za uspešno obvladovanje razvojnih veščin: brezmejno željo po napredovanju in neustavljanju.

Ker sem veliko časa posvetil domačim nalogam, nenehno ostajal pozno po pouku pri učitelju Vladimirju Vladimiroviču Iljinu (z njim sem imel neverjetno srečo), sem se začel prilagajati hitremu tempu učenja in razmišljati o svojem diplomskem projektu.

DrumHero: Kako sem naredil prvo igro v življenju

Z učiteljem - V.V. Ilyin

Poiščite idejo

Mnogi ljudje mislijo, da je pri ustvarjanju projekta, pa naj bo to startup ali nekaj malega za pridobivanje izkušenj, vsa težava v razvoju: pisanje kup kode, učenje novih knjižnic, nenehno testiranje - groza! Verjemite, to sploh ni res. Povsem enako sem razmišljal, dokler se tudi sam nisem znašel pred potrebo po izbiri in uresničitvi ideje, kar se je izkazalo za eno najtežjih faz.

Najtežja stvar pri izbiri ideje na začetni stopnji učenja je določitev kompleksnosti izvedbe: dolgo časa nisem mogel najti aplikacije, ki bi jo lahko naredil in hkrati všeč.

Najbolj od vsega sem si želel napisati glasbeno igrico, a so me dvomi o mojih sposobnostih močno ovirali. Zdelo se je, da dela ne bo mogoče dokončati, zato sem večkrat spremenil svojo izbiro: mobilni biljard, bowling, tekač itd. Na koncu sem se iz tega naučil eno lekcijo: težave se bodo vedno pojavile, ne glede na idejo aplikacije in torej najbolj pomembno je, da izbereš tisto, kar ti je všeč in greš do konca.

DrumHero: Kako sem naredil prvo igro v življenju

Vedno mi je bila všeč igra Guitar Hero

Implementacija logike igre

Osnovna ideja aplikacij, kot je Guitar Hero, je tapkanje po zaslonu v ritmu glasbe.
Najprej sem začel izvajati logiko igre:

  1. Ustvarjeni razredi not, gumbov in črt, po katerih se bodo note premikale.
  2. Platno sem postavil na celoten zaslon aplikacije in na njem že opisal lokacijo objektov ustvarjenih razredov.
  3. Implementiran hkratni zagon mp3 datoteke pesmi in niza not, pridobljenih iz baze podatkov in voila! Prvi osnutki igre so že na mojem pametnem telefonu :)

DrumHero: Kako sem naredil prvo igro v življenju

Prva različica igre

Da, izgleda "impresivno", vendar je bilo skoraj dovolj za preizkus igre! Zadnji nujni korak je bil seznam not za skladbo, za njegovo izvedbo sem moral porabiti veliko časa.
Načelo je precej preprosto: z uporabo vrednosti tabele baze podatkov program ustvari objekte razreda »Opomba« in doda nastale opombe v matriko. Tabela je sestavljena iz dveh stolpcev:

  • številka vrstice od 1 do 4, na kateri naj gre bankovec in
  • čas, ko naj se pojavi na zaslonu.

Zakaj sem porabil veliko časa, če je vse tako preprosto? Za polnjenje te podatkovne baze!
Na žalost takrat nisem mogel ugotoviti, kako avtomatizirati postopek pridobivanja notnega zapisa v formatu, ki ga potrebujem, iz mp3 datoteke pesmi, zato sem moral te stolpce ročno izpolnjevati na posluh.

DrumHero: Kako sem naredil prvo igro v življenju

Postopek polnjenja baze z opombami

Ta metoda mi je omogočila, da sem zgodaj začel razvijati in testirati igro, vendar je bilo jasno, da moram pripraviti nekaj drugačnega. Tu mi je veliko pomagal moj učitelj Iljin Vladimir Vladimirovič, ki je govoril o obstoju formata MIDI, razložil njegovo strukturo in mi pomagal ugotoviti knjižnico, ki sem jo našel za delo z datotekami MIDI.

Lepota tega formata je v tem, da je v njem vsak instrument že ločena skladba, na kateri se nahajajo določene "note". Na ta način lahko enostavno preletite vse zapiske in jih glede na skladbo in čas samodejno dodate v zbirko podatkov. To je zelo pomembna lastnost, saj sem zahvaljujoč njej lahko rešil problem iger tega žanra: nezmožnost dodajanja lastnih pesmi. Res je, format MIDI ima veliko pomanjkljivost - zvok (vsi se spomnimo melodij v retro igrah, kajne?).

S postopnim izboljševanjem igranja sem program pripeljal v popolnoma delujoče stanje, dodal številne »funkcije«: možnost dodajanja lastne pesmi iz pomnilnika naprave ali iz kataloga v oblaku, izbiro težavnostne stopnje, začetni način in še veliko več.
In končno sem prišla do “češnje na torti”...

Oblikovanje

Tu se je začelo utelešenje moje "vizije" igre. Najprej sem se lotil izbire programa za risanje. Nisem imel izkušenj z grafičnim oblikovanjem, zato sem potreboval program, ki se ga je lahko naučiti (Photoshop, mimogrede), a tudi prilagodljiv in priročen (Paint, žal). Izbira je padla na Inkscape - dobro orodje za urejanje vektorskih slik, predvsem v formatu svg.

Ko sem se malo bolje seznanil s tem programom, sem začel risati vsak element igre in ga shranjevati v različnih ločljivostih, primernih za različne velikosti zaslona naprave. Bili so tudi poskusi implementacije animacije eksplozije not in kljub neprimernosti nastale zasnove sem bil zadovoljen. Seveda sem vzporedno z dokončanjem projekta nadaljevala z oblikovanjem in dodajala nove barve (prelivi so ljubezen »na prvi pogled«).

DrumHero: Kako sem naredil prvo igro v življenju

Prva različica dizajna (dva zaslona, ​​brez animacije, staro ime)

DrumHero: Kako sem naredil prvo igro v življenju

Druga različica dizajna (4 zasloni, začetni zaslon gladko utripa z različnimi barvami, prelivi povsod)

Zagovarjal sem zaključno nalogo in bil zelo vesel, ko sem izvedel, da sem prestal kvalifikacijski krog in bil povabljen v finale prijavnega natečaja ŠOLA INFORMACIJE. Do natečaja sem imel še kakšen mesec in resno sem razmišljal, da bi zaposlil bolj strokovno osebo na področju oblikovanja. Iskanje ni bilo zaman: izkazalo se je, da je bližnji prijatelj mojega brata odličen oblikovalec! Takoj se je strinjala, da mi pomaga, in trenutna zasnova igre je njena zasluga.

DrumHero: Kako sem naredil prvo igro v življenju

Končna zasnova

Objava

Po zaključku dela na izdajni različici sem takoj začel pripravljati aplikacijo za objavo na Google Play Market. Standardni postopek: pridobitev računa razvijalca, ustvarjanje strani aplikacije itd. Vendar ta razdelek ne govori o tem.

Najbolj presenetljiva stvar v tej zgodbi je statistika prenosov. Sprva se je število prenosov DrumHero postopoma in skoraj enakomerno povečevalo po nekaterih evropskih državah, ZDA in državah SND, a je minil mesec in število prenosov je doseglo 100 prenosov! Zanimiv podatek je, da je večina prenosov prišla iz Indonezije.

Zaključek

DrumHero je moj prvi resnejši projekt, kjer sem se naučil programirati. Ne samo, da me je pripeljal do vseruskega finala projektnega natečaja SAMSUNG IT SCHOOL, ampak mi je dal tudi veliko izkušenj na področju grafičnega oblikovanja, GameDev-a, interakcije s storitvijo Play Market in še veliko več.

DrumHero: Kako sem naredil prvo igro v življenju

Seveda zdaj vidim veliko pomanjkljivosti v igri, čeprav je danes število prenosov doseglo skoraj 200 000. Moji načrti so izdati novo različico, obstajajo ideje, kako povečati stabilnost, izboljšati igranje in povečati število prenosov.

Pomoč:
SAMSUNG IT SCHOOL je brezplačni polni program dodatnega izobraževanja za srednješolce, ki deluje v 25 mestih Rusije.
Diplomska naloga študentov je mobilna aplikacija. Lahko je igra, družabna aplikacija, planer, kar hočejo.
Na usposabljanje se lahko prijavite od septembra 2019 na Online programi.


Vir: www.habr.com

Dodaj komentar