DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Å ogad sociālajai un izglÄ«tÄ«bas programmai IT SKOLA SAMSUNG aprit 5 gadi (lasi par IT SKOLA Å”eit), un Å”ajā gadÄ«jumā aicinājām savus absolventus pastāstÄ«t par sevi un savu pieredzi mobilo aplikāciju veidoÅ”anā. Mēs ticam, ka ar lielu vēlmi ikviens var gÅ«t panākumus!

Pirmais Ŕāds viesis Å”ajā sadaļā bija Å amils ā€‹ā€‹Magomedovs, SAMSUNG IT SCHOOL 2017. gada absolvents, tagad MIEM NRU HSE students. Å amil, liels paldies, ka veltÄ«jāt laiku Ŕī raksta tapÅ”anai, neskatoties uz jÅ«su aizņemtÄ«bu!

Sveiki visiem!
Å odien es vēlos runāt par to, kā, pateicoties spēlei, no ā€œnosacÄ«juma uzņemÅ”anasā€ SAMSUNG IT SKOLĀ kļuvu par Viskrievijas mobilās izstrādes konkursa finālistu. DrumHero.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Aizvēsture

IT SKOLĀ iestājos, kad mācÄ«jos 10. klasē. Jau no pirmajām treniņu dienām atpaliku no pārējiem puiÅ”iem, un tas bija paredzams jau pirms kursu sākuma (par to liecināja mani Å”ausmÄ«gi zemie iestājeksāmenu rādÄ«tāji). Visi Å”ie programmÄ“Å”anas principi, Android platformas uzbÅ«ve un Java valoda, kā to visu saprast?

Par laimi, man bija viss nepiecieÅ”amais, lai veiksmÄ«gi apgÅ«tu attÄ«stÄ«bas prasmes: bezgalÄ«ga vēlme virzÄ«ties uz priekÅ”u un neapstāties.

Daudz laika veltot mājas darbiem, pastāvīgi kavējoties pēc stundām pie skolotāja Vladimira Vladimiroviča Iļjina (man ar viņu neticami paveicās), es sāku pielāgoties ātrajam mācību tempam un domāt par savu izlaiduma projektu.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Ar skolotāju - V.V. Iļjinu

Meklē ideju

Daudzi cilvēki domā, ka, veidojot projektu, neatkarÄ«gi no tā, vai tas ir startup vai kaut kas mazs, lai iegÅ«tu pieredzi, visas grÅ«tÄ«bas slēpjas izstrādē: koda kaudze rakstÄ«Å”ana, jaunu bibliotēku apgÅ«Å”ana, nepārtraukta pārbaude - Å”ausmas! Ticiet man, tā nepavisam nav taisnÄ«ba. Es spriedu tieÅ”i tāpat, lÄ«dz pati saskāros ar nepiecieÅ”amÄ«bu izvēlēties un Ä«stenot ideju, tas izrādÄ«jās viens no grÅ«tākajiem posmiem.

Sarežģītākais idejas izvēlē sākotnējā mācÄ«bu posmā ir realizācijas sarežģītÄ«bas noteikÅ”ana: ilgu laiku nevarēju izdomāt aplikāciju, ko varētu izdarÄ«t un tajā paŔā laikā patiktu.

Visvairāk vēlējos uzrakstÄ«t muzikālu spēli, bet Å”aubas par manām spējām tik tieŔām traucēja. Likās, ka darbu pabeigt neizdosies, un Ŕī iemesla dēļ ne reizi vien mainÄ«ju savu izvēli: mobilais biljards, boulings, skrējējs utt. Galu galā es guvu vienu mācÄ«bu no Ŕī: grÅ«tÄ«bas vienmēr radÄ«sies, neatkarÄ«gi no pieteikuma idejas, un tāpēc svarÄ«gākais ir izvēlēties to, kas patÄ«k un iet lÄ«dz galam.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Man vienmēr ir patikusi spēle Guitar Hero

Spēles loģikas realizācija

Tādu lietotņu kā Guitar Hero pamatideja ir pieskarties ekrānam mūzikas ritmā.
Pirmkārt, es sāku ieviest spēles loģiku:

  1. Izveidotas piezīmju klases, pogas un svītras, pa kurām pārvietosies notis.
  2. Audeklu novietoju uz visa aplikācijas ekrāna un uz tā jau aprakstīju izveidoto klaŔu objektu atraŔanās vietas.
  3. ÄŖstenota vienlaicÄ«ga dziesmas mp3 faila palaiÅ”ana un no datu bāzes iegÅ«to noÅ”u masÄ«va un voila! Pirmie spēles melnraksti jau ir manā viedtālrunÄ« :)

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Pirmā spēles versija

Jā, izskatās ā€œiespaidÄ«giā€, taču ar to gandrÄ«z pietika, lai pārbaudÄ«tu spēli! Pēdējais nepiecieÅ”amais solis bija dziesmas noÅ”u saraksts, un man bija jāpavada daudz laika, strādājot pie tā Ä«stenoÅ”anas.
Princips ir pavisam vienkārÅ”s: izmantojot datu bāzes tabulas vērtÄ«bas, programma izveido klases ā€œPiezÄ«meā€ objektus un pievieno iegÅ«tās piezÄ«mes masÄ«vam. Tabula sastāv no divām kolonnām:

  • rindas numurs no 1 lÄ«dz 4, uz kura jānovieto piezÄ«me un
  • laiks, kurā tam jāparādās ekrānā.

Kāpēc es pavadÄ«ju daudz laika, ja viss ir tik vienkārÅ”i? Lai aizpildÄ«tu Å”o datubāzi!
Diemžēl tobrÄ«d nevarēju izdomāt, kā automatizēt noÅ”u noÅ”u iegÅ«Å”anas procesu vajadzÄ«gajā formātā no dziesmas mp3 faila, un tāpēc Ŕīs ailes nācās manuāli aizpildÄ«t pēc auss.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Datu bāzes aizpildÄ«Å”anas process ar piezÄ«mēm

Å Ä« metode ļāva man sākt spēles izstrādi un testÄ“Å”anu agri, taču bija skaidrs, ka man ir jāizdomā kaut kas cits. Å eit man ļoti palÄ«dzēja skolotājs Iļjins Vladimirs Vladimirovičs, kurÅ” stāstÄ«ja par MIDI formāta esamÄ«bu, skaidroja tā uzbÅ«vi un palÄ«dzēja izdomāt bibliotēku, ko esmu atradis darbam ar MIDI failiem.

Å Ä« formāta skaistums ir tāds, ka tajā katrs instruments jau ir atseviŔķs celiņŔ, uz kura atrodas noteiktas ā€œnotisā€. Tādā veidā jÅ«s varat viegli pārlÅ«kot visas piezÄ«mes un, atkarÄ«bā no ieraksta un laika, automātiski pievienot tās datu bāzei. Tas ir ļoti svarÄ«gs Ä«paÅ”ums, jo tieÅ”i pateicoties tam es varēju atrisināt Ŕī žanra spēļu problēmu: nespēju pievienot savas dziesmas. Tiesa, MIDI formātam ir liels mÄ«nuss ā€“ skaņa (mēs visi atceramies melodijas retro spēlēs, vai ne?).

Pakāpeniski uzlabojot spēles gaitu, es pārvedu programmu uz pilnÄ«bā darba stāvokli, pievienoju daudzas ā€œfunkcijasā€: iespēja pievienot savu dziesmu no ierÄ«ces atmiņas vai mākoņa kataloga, grÅ«tÄ«bas pakāpes izvēle, iesācēja režīms un daudz kas cits.
Un beidzot es nonācu pie ā€œÄ·irÅ”a uz kÅ«kasā€...

Dizains

Å eit sākās manas spēles ā€œvÄ«zijasā€ iemiesojums. Pirmkārt, sāku izvēlēties zÄ«mÄ“Å”anas programmu. Man nebija nekādas pieredzes grafiskajā dizainā, tāpēc man bija vajadzÄ«ga programma, kas ir viegli apgÅ«stama (starp citu, Photoshop), bet arÄ« elastÄ«ga un ērta (Paint, atvainojiet). Izvēle krita uz Inkscape - labs rÄ«ks vektoru attēlu rediģēŔanai, galvenokārt svg formātā.

Nedaudz vairāk iepazinies ar Å”o programmu, sāku zÄ«mēt katru spēles elementu un saglabāt to dažādās izŔķirtspējās, kas piemērotas dažādiem ierÄ«ces ekrāna izmēriem. Bija arÄ« mēģinājumi Ä«stenot noÅ”u eksplozijas animāciju, un, neskatoties uz iegÅ«tā dizaina nepiemērotÄ«bu, es biju gandarÄ«ts. Protams, paralēli projekta pabeigÅ”anai turpināju strādāt pie dizaina, pievienojot jaunas krāsas (gradienti ir mÄ«lestÄ«ba ā€œno pirmā acu skatienaā€).

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Pirmā dizaina versija (divi ekrāni, bez animācijas, vecais nosaukums)

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Otrā dizaina versija (4 ekrāni, sākotnējais ekrāns vienmērīgi pulsē ar dažādām krāsām, gradienti visur)

Aizstāvēju savu noslēguma projektu un ļoti priecājos, kad uzzināju, ka esmu izturējis kvalifikācijas kārtu un esmu uzaicināts uz IT SKOLAS pieteikumu konkursa finālu. LÄ«dz konkursam man bija palicis apmēram mēnesis, un es nopietni domāju par profesionālāku cilvēku pieņemÅ”anu darbā dizaina jomā. MeklÄ“Å”ana nebija veltÄ«ga: kā izrādÄ«jās, mana brāļa tuvs draugs ir izcils dizainers! Viņa uzreiz piekrita man palÄ«dzēt, un paÅ”reizējais spēles dizains ir viņas nopelns.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Galīgais dizains

Publikācija

Pabeidzot darbu pie izlaiduma versijas, es nekavējoties sāku sagatavot pieteikumu publicÄ“Å”anai Google Play tirgÅ«. Standarta procedÅ«ra: izstrādātāja konta iegÅ«Å”ana, lietojumprogrammas lapas izveide utt. Bet Ŕī sadaļa nav par to.

PārsteidzoŔākais Å”ajā stāstā ir lejupielādes statistika. Sākumā DrumHero lejupielāžu skaits pieauga pakāpeniski un gandrÄ«z vienmērÄ«gi dažās Eiropas valstÄ«s, ASV un NVS valstÄ«s, taču pagāja mēnesis un lejupielāžu skaits sasniedza 100 000 lejupielāžu! Interesants fakts ir tas, ka lielākā daļa lejupielāžu nāca no Indonēzijas.

Secinājums

DrumHero ir mans pirmais nopietnais projekts, kurā iemācÄ«jos programmēt. ViņŔ ne tikai atveda mani uz visas Krievijas finālu SAMSUNG IT SCHOOL projektu konkursā, bet arÄ« deva man lielu pieredzi grafiskajā dizainā, GameDev, mijiedarbÄ«bā ar Play tirgus pakalpojumu un daudz ko citu.

DrumHero: Kā es izveidoju pirmo spēli savā dzīvē

Protams, tagad spēlē redzu daudz nepilnÄ«bu, lai gan Å”odien lejupielāžu skaits sasniedzis gandrÄ«z 200 000. Mani plāni ir izdot jaunu versiju, ir idejas kā palielināt stabilitāti, uzlabot spēles gaitu un palielināt lejupielāžu skaitu.

Informācija:
SAMSUNG IT SCHOOL ir bezmaksas pilna laika papildu izglītības programma vidusskolēniem, kas darbojas 25 Krievijas pilsētās.
Studentu izlaiduma projekts ir mobilā aplikācija. Tā varētu būt spēle, sociālā lietotne, plānotājs vai tas, ko viņi vēlas.
Pieteikties apmācÄ«bām var no 2019. gada septembra plkst TieÅ”saistē programmas.


Avots: www.habr.com

Pievieno komentāru