DrumHero: Si bëra lojën e parë në jetën time

Këtë vit programi social dhe edukativ IT SCHOOL SAMSUNG mbush 5 vjeç (lexo për IT SCHOOL këtu), dhe me këtë rast ftuam maturantët tanë të flasin për veten dhe përvojën e tyre në krijimin e aplikacioneve të tyre mobile. Besojmë se me shumë dëshirë të gjithë mund të arrijnë sukses!

I ftuari i parë i tillë në këtë seksion ishte Shamil Magomedov, i diplomuar në vitin 2017 në SAMSUNG IT SCHOOL, tani student në MIEM NRU HSE. Shamil, faleminderit shumë që gjetët kohë për të shkruar këtë artikull, megjithë orarin tuaj të ngjeshur!

Përshëndetje të gjithëve!
Sot do të doja të flisja se si u bëra nga "pranimi me kusht" në SAMSUNG IT SCHOOL në një finalist në konkursin gjithë-rus të zhvillimit celular falë lojës DrumHero.

DrumHero: Si bëra lojën e parë në jetën time

parahistorinë

Unë hyra në shkollën e IT kur isha në klasën e 10-të. Që në ditët e para të stërvitjes kam mbetur prapa djemve të tjerë dhe kjo ishte e parashikueshme edhe para fillimit të kursit (kjo u dëshmua nga rezultatet e mia tmerrësisht të ulëta në provimin e pranimit). Të gjitha këto parime programimi, struktura e platformës Android dhe gjuha Java, si t'i kuptojmë të gjitha?

Për fat të mirë, kisha gjithçka që më duhej për të zotëruar me sukses aftësitë e zhvillimit: një dëshirë të pakufishme për të ecur përpara dhe për të mos u ndalur.

Duke i kushtuar shumë kohë detyrave të shtëpisë, duke qëndruar vazhdimisht vonë pas orëve të mësimit me mësuesin Vladimir Vladimirovich Ilyin (isha jashtëzakonisht me fat me të), fillova të përshtatem me ritmin e shpejtë të të mësuarit dhe të mendoj për projektin tim të diplomimit.

DrumHero: Si bëra lojën e parë në jetën time

Me mësuesin - V.V. Ilyin

Kërkoni për një ide

Shumë njerëz mendojnë se kur krijojnë një projekt, qoftë ky një startup apo diçka e vogël për të fituar përvojë, e gjithë vështirësia qëndron në zhvillimin: shkrimi i një tufe kodesh, mësimi i bibliotekave të reja, testimi i vazhdueshëm - tmerr! Më besoni, kjo nuk është aspak e vërtetë. Unë arsyetova saktësisht në të njëjtën mënyrë derisa unë vetë u përballa me nevojën për të zgjedhur dhe zbatuar një ide; doli të ishte një nga fazat më të vështira.

Gjëja më e vështirë në zgjedhjen e një ideje në fazën fillestare të të mësuarit është përcaktimi i kompleksitetit të zbatimit: për një kohë të gjatë nuk mund të dilja me një aplikacion që mund ta bëja dhe në të njëjtën kohë të më pëlqente.

Mbi të gjitha doja të shkruaja një lojë muzikore, por dyshimet për aftësitë e mia më penguan vërtet. Më dukej se nuk do të ishte e mundur të përfundonte punën dhe për këtë arsye ndryshova zgjedhjen time më shumë se një herë: bilardo celular, bowling, vrapues, etj. Në fund të fundit, mësova një mësim nga kjo: vështirësitë do të shfaqen gjithmonë, pavarësisht nga ideja e aplikimit, dhe për këtë arsye gjëja më e rëndësishme është të zgjidhni atë që ju pëlqen dhe të shkoni deri në fund.

DrumHero: Si bëra lojën e parë në jetën time

Gjithmonë më ka pëlqyer loja Guitar Hero

Zbatimi i logjikës së lojës

Ideja bazë pas aplikacioneve si Guitar Hero është të prekni ekranin me ritmin e muzikës.
Para së gjithash, fillova të zbatoj logjikën e lojës:

  1. Krijoi klasa shënimesh, butona dhe vija përgjatë të cilave do të lëvizin shënimet.
  2. Kam vendosur kanavacën në të gjithë ekranin e aplikacionit dhe mbi të kam përshkruar tashmë vendndodhjen e objekteve të klasave të krijuara.
  3. Zbatuar lëshimin e njëkohshëm të një skedari mp3 të një kënge dhe një sërë notash të marra nga baza e të dhënave dhe voila! Draftet e para të lojës janë tashmë në smartphone tim :)

DrumHero: Si bëra lojën e parë në jetën time

Versioni i parë i lojës

Po, duket "mbresëlënëse", por ishte pothuajse e mjaftueshme për të testuar lojën! Hapi i fundit i nevojshëm ishte lista e notave për këngën dhe më duhej të kaloja shumë kohë duke punuar për zbatimin e saj.
Parimi është mjaft i thjeshtë: duke përdorur vlerat e tabelës së bazës së të dhënave, programi krijon objekte të klasës "Shënim" dhe shton shënimet që rezultojnë në grup. Tabela përbëhet nga dy kolona:

  • numri i rreshtit nga 1 në 4 në të cilin duhet të shkojë shënimi dhe
  • koha në të cilën duhet të shfaqet në ekran.

Pse kalova shumë kohë nëse gjithçka është kaq e thjeshtë? Për të mbushur këtë bazë të dhënash!
Fatkeqësisht, në atë kohë nuk mund të kuptoja se si të automatizoja procesin e marrjes së fletës së muzikës në formatin që më duhej nga një skedar mp3 i këngës, dhe kështu më duhej t'i plotësoja manualisht këto kolona me vesh.

DrumHero: Si bëra lojën e parë në jetën time

Procesi i mbushjes së bazës së të dhënave me shënime

Kjo metodë më lejoi të filloja zhvillimin dhe testimin e lojës herët, por ishte e qartë se duhej të dilja me diçka ndryshe. Këtu më ndihmoi shumë mësuesi im, Ilyin Vladimir Vladimirovich, i cili foli për ekzistencën e formatit MIDI, shpjegoi strukturën e tij dhe më ndihmoi të kuptoj bibliotekën që kisha gjetur për të punuar me skedarët MIDI.

Bukuria e këtij formati është se në të çdo instrument është tashmë një pistë më vete në të cilën ndodhen "shënime" të caktuara. Në këtë mënyrë, ju mund t'i kaloni lehtësisht të gjitha shënimet dhe, në varësi të gjurmës dhe kohës, t'i shtoni ato automatikisht në bazën e të dhënave. Kjo është një pronë shumë e rëndësishme, sepse ishte falë saj që unë arrita të zgjidh problemin e lojërave të këtij zhanri: pamundësia për të shtuar këngët e mia. Vërtetë, formati MIDI ka një disavantazh të madh - tingullin (të gjithë i mbajmë mend meloditë në lojërat retro, apo jo?).

Duke përmirësuar gradualisht lojën, e solla programin në një gjendje plotësisht funksionale, shtova shumë "karakteristika": aftësinë për të shtuar këngën tuaj nga kujtesa e pajisjes ose nga një katalog cloud, zgjedhjen e nivelit të vështirësisë, modalitetin fillestar dhe shumë më tepër.
Dhe më në fund arrita te “qershia mbi tortë”...

Dizajn

Këtu filloi mishërimi i "vizionit" tim të lojës. Para së gjithash, fillova të zgjedh një program vizatimi. Unë nuk kisha ndonjë përvojë në dizajn grafik, kështu që më duhej një program që ishte i lehtë për t'u mësuar (Photoshop, meqë ra fjala), por edhe fleksibël dhe i përshtatshëm (Paint, më fal). Zgjedhja ra në Inkscape - një mjet i mirë për redaktimin e imazheve vektoriale, kryesisht në formatin svg.

Pasi u njoha pak më shumë me këtë program, fillova të vizatoja çdo element të lojës dhe ta ruaja në rezolucione të ndryshme, të përshtatshme për madhësi të ndryshme të ekranit të pajisjes. Kishte gjithashtu përpjekje për të zbatuar një animacion të shpërthimit të shënimeve, dhe pavarësisht papërshtatshmërisë së modelit që rezulton, unë u kënaqa. Sigurisht, paralelisht me finalizimin e projektit, vazhdova të punoja edhe për dizajnin, duke shtuar ngjyra të reja (gradientët janë dashuri “me shikim të parë”).

DrumHero: Si bëra lojën e parë në jetën time

Versioni i parë i dizajnit (dy ekrane, pa animacion, emër i vjetër)

DrumHero: Si bëra lojën e parë në jetën time

Versioni i dytë i dizajnit (4 ekrane, ekrani fillestar pulson pa probleme me ngjyra të ndryshme, gradientë kudo)

Mbrojta projektin tim final dhe u lumturova shumë kur mora vesh se kisha kaluar raundin kualifikues dhe isha i ftuar në finalen e konkursit të aplikimit në IT SCHOOL. Më kishte mbetur rreth një muaj para konkursit dhe mendova seriozisht të punësoja një person më profesionist në fushën e dizajnit. Kërkimi nuk ishte i kotë: siç doli, shoku i ngushtë i vëllait tim është një stilist i shkëlqyer! Ajo pranoi menjëherë të më ndihmonte, dhe dizajni aktual i lojës është merita e saj.

DrumHero: Si bëra lojën e parë në jetën time

Dizajni përfundimtar

publikim

Pas përfundimit të punës në versionin e lëshimit, fillova menjëherë përgatitjen e aplikacionit për publikim në Tregun e Google Play. Procedura standarde: marrja e një llogarie zhvilluesi, krijimi i një faqe aplikacioni, etj. Por ky seksion nuk ka të bëjë me këtë.

Gjëja më befasuese në këtë histori janë statistikat e shkarkimit. Në fillim, numri i shkarkimeve të DrumHero u rrit gradualisht dhe pothuajse në mënyrë të barabartë në disa vende evropiane, SHBA dhe vendet e CIS, por kaloi një muaj dhe numri i shkarkimeve arriti në 100 shkarkime! Një fakt interesant është se shumica e shkarkimeve erdhën nga Indonezia.

Përfundim

DrumHero është projekti im i parë serioz ku mësova të programoj. Ai jo vetëm që më solli në finalen gjithë-ruse të konkursit të projektit SAMSUNG IT SCHOOL, por gjithashtu më dha shumë përvojë në dizajnin grafik, GameDev, ndërveprimin me shërbimin Play Market dhe shumë më tepër.

DrumHero: Si bëra lojën e parë në jetën time

Sigurisht, tani shoh shumë mangësi në lojë, megjithëse sot numri i shkarkimeve ka arritur pothuajse në 200 000. Planet e mia janë të nxjerr një version të ri, ka ide se si të rris stabilitetin, të përmirësojë lojën dhe të rrisë numrin e shkarkimeve.

Ndihmë:
SAMSUNG IT SCHOOL është një program arsimor shtesë me kohë të plotë falas për nxënësit e shkollave të mesme, që operon në 25 qytete të Rusisë.
Projekti i diplomimit të studentëve është një aplikacion celular. Mund të jetë një lojë, një aplikacion social, një planifikues, çfarëdo që ata duan.
Ju mund të aplikoni për trajnim nga shtatori 2019 në Online program.


Burimi: www.habr.com

Shto një koment