DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Karong tuiga ang programa sa sosyal ug edukasyonal nga IT SCHOOL SAMSUNG nag-edad og 5 ka tuig (basaha ang bahin sa IT SCHOOL dinhi), ug niining okasyona among giimbitar ang among mga gradwado sa paghisgot bahin sa ilang kaugalingon ug sa ilang kasinatian sa paghimo sa ilang mga mobile application. Kami nagtuo nga sa daghang tinguha, ang tanan makab-ot ang kalampusan!

Ang una sa ingon nga bisita sa kini nga seksyon mao si Shamil Magomedov, usa ka gradwado sa 2017 sa SAMSUNG IT SCHOOL, karon estudyante sa MIEM NRU HSE. Shamil, salamat kaayo sa paggahin ug panahon sa pagsulat niining artikuloha, bisan pa sa imong kapuliki nga eskedyul!

Hello sa tanan!
Karon gusto nakong hisgutan kung giunsa ko gikan sa "conditionally admitted" ngadto sa SAMSUNG IT SCHOOL ngadto sa usa ka finalist sa All-Russian nga kompetisyon sa pagpalambo sa mobile salamat sa dula. DrumHero.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

sa naunang kasaysayan

Nisulod ko sa IT SCHOOL pag grade 10 nako. Gikan sa unang mga adlaw sa pagbansay, naulahi ako sa ubang mga lalaki, ug kini matag-an bisan sa wala pa magsugod ang kurso (kini napamatud-an sa akong makalilisang nga ubos nga mga marka sa eksaminasyon sa pagsulod). Kining tanan nga mga prinsipyo sa programming, ang istruktura sa Android nga plataporma ug ang Java nga pinulongan, unsaon pagsabot kining tanan?

Maayo na lang, naa nako ang tanan nga akong gikinahanglan aron malampuson nga ma-master ang mga kahanas sa pag-uswag: usa ka walay kinutuban nga tinguha nga magpadayon ug dili mohunong.

Gigugol ang daghang oras sa homwork, kanunay nga nagpabilin nga ulahi pagkahuman sa mga klase kauban ang magtutudlo nga si Vladimir Vladimirovich Ilyin (kaayo ako swerte kaniya), nagsugod ako sa pagpahiangay sa paspas nga tulin sa pagkat-on ug paghunahuna bahin sa akong proyekto sa pagtapos.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Uban sa magtutudlo - V.V. Ilyin

Pangitag ideya

Daghang mga tawo ang naghunahuna nga sa paghimo sa usa ka proyekto, kini usa ka pagsugod o gamay nga butang aron makaangkon og kasinatian, ang tanan nga kalisud anaa sa pag-uswag: pagsulat sa usa ka hugpong sa code, pagkat-on og bag-ong mga librarya, kanunay nga pagsulay - kalisang! Tuohi ko, dili kini tinuod. Nangatarungan ako sa parehas nga paagi hangtod nga ako mismo nag-atubang sa panginahanglan sa pagpili ug pagpatuman sa usa ka ideya; nahimo kini nga usa sa labing lisud nga mga yugto.

Ang labing lisud nga butang sa pagpili sa usa ka ideya sa inisyal nga yugto sa pagkat-on mao ang pagtino sa pagkakomplikado sa pagpatuman: sa dugay nga panahon dili ako makahimo sa usa ka aplikasyon nga mahimo nako ug sa samang higayon gusto.

Labaw sa tanan gusto kong magsulat og usa ka dula sa musika, apan ang mga pagduhaduha mahitungod sa akong mga abilidad nakababag gayud. Morag dili mahimo nga mahuman ang trabaho, ug tungod niini nga hinungdan gibag-o nako ang akong gipili labaw pa sa kausa: mobile billiards, bowling, runner, ug uban pa. Sa katapusan, nakakat-on ko og usa ka leksyon gikan niini: ang mga kalisdanan kanunay motungha, bisan unsa pa ang ideya sa aplikasyon, ug busa ang labing importante nga butang mao ang pagpili kung unsa ang imong gusto ug moadto sa katapusan.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Kanunay kong ganahan sa dula nga Guitar Hero

Pagpatuman sa lohika sa dula

Ang sukaranan nga ideya sa luyo sa mga app sama sa Guitar Hero mao ang pag-tap sa screen sa ritmo sa musika.
Una sa tanan, gisugdan nako ang pagpatuman sa lohika sa dula:

  1. Naghimo mga klase sa mga nota, butones ug mga labud diin ang mga nota molihok.
  2. Gibutang nako ang canvas sa tibuuk nga screen sa aplikasyon ug sa ibabaw niini gihulagway na nako ang lokasyon sa mga butang sa gibuhat nga mga klase.
  3. Gipatuman ang dungan nga paglansad sa usa ka mp3 file sa usa ka kanta ug usa ka han-ay sa mga nota nga nakuha gikan sa database ug voila! Ang una nga mga draft sa dula naa na sa akong smartphone :)

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Unang bersyon sa dula

Oo, kini tan-awon nga "impressive", apan kini igo na aron masulayan ang dula! Ang katapusang gikinahanglan nga lakang mao ang lista sa mga nota alang sa kanta, ug kinahanglan kong mogugol og daghang panahon sa pagtrabaho sa pagpatuman niini.
Ang prinsipyo yano ra: gamit ang mga kantidad sa lamesa sa database, ang programa nagmugna og mga butang sa klase nga "Note" ug gidugang ang resulta nga mga nota sa laray. Ang lamesa naglangkob sa duha ka mga kolum:

  • numero sa linya gikan sa 1 ngadto sa 4 diin ang nota kinahanglan moadto ug
  • ang oras diin kini kinahanglan nga makita sa screen.

Ngano nga gigugol ko ang daghang oras kung ang tanan yano ra? Aron mapuno kini nga database!
Ikasubo, niadtong panahona dili nako mahibal-an kung unsaon pag-automate ang proseso sa pagkuha sa sheet music sa format nga akong gikinahanglan gikan sa usa ka mp3 file sa kanta, ug busa kinahanglan nako nga mano-mano nga pun-on kini nga mga kolum pinaagi sa dalunggan.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Ang proseso sa pagpuno sa database sa mga nota

Kini nga pamaagi nagtugot kanako sa pagsugod sa pagpalambo ug pagsulay sa duwa sa sayo pa, apan kini mao ang tin-aw nga ako kinahanglan sa paghimo sa usa ka butang nga lahi. Dinhi ang akong magtutudlo, si Ilyin Vladimir Vladimirovich, nakatabang kaayo kanako, nga naghisgot bahin sa pagkaanaa sa MIDI format, gipatin-aw ang istruktura niini ug gitabangan ako nga mahibal-an ang librarya nga akong nakit-an alang sa pagtrabaho sa mga file sa MIDI.

Ang katahum sa kini nga pormat mao nga sa sulod niini ang matag instrumento usa na ka bulag nga track diin nahimutang ang pipila nga "mga nota". Niining paagiha, dali nimong ma-loop ang tanan nga mga nota ug, depende sa track ug oras, awtomatiko nga idugang kini sa database. Kini mao ang usa ka importante kaayo nga kabtangan, tungod kay kini mao ang salamat niini nga ako nakahimo sa pagsulbad sa problema sa mga dula niini nga genre: ang kawalay katakus sa pagdugang sa akong kaugalingon nga mga kanta. Tinuod, ang MIDI format adunay usa ka dako nga disbentaha - tunog (kitang tanan nahinumdom sa mga melodies sa retro nga mga dula, di ba?).

Sa hinay-hinay nga pagpauswag sa dula, akong gidala ang programa sa usa ka hingpit nga nagtrabaho nga estado, nagdugang daghang "mga bahin": ang abilidad sa pagdugang sa imong kaugalingon nga kanta gikan sa panumduman sa aparato o gikan sa usa ka katalogo sa panganod, pagpili sa lebel sa kalisud, mode sa pagsugod ug daghan pa.
Ug sa katapusan miabut ko sa "cherry on the cake"...

disenyo

Dinhi nagsugod ang embodiment sa akong "panan-awon" sa dula. Una sa tanan, nagsugod ako sa pagpili sa usa ka programa sa pagguhit. Wala koy kasinatian sa graphic design, mao nga nanginahanglan ko og programa nga sayon ​​tun-an (Photoshop, by the way), pero flexible sab ug kombenyente (Paint, sorry). Ang pagpili nahulog sa Inkscape - usa ka maayong himan alang sa pag-edit sa mga imahe sa vector, labi na sa format nga svg.

Nahimong mas pamilyar sa kini nga programa, nagsugod ako sa pagdibuho sa matag elemento sa dula ug gitipig kini sa lainlaing mga resolusyon, nga angay alang sa lainlaing mga gidak-on sa screen sa aparato. Adunay usab mga pagsulay sa pagpatuman sa usa ka animation sa pagbuto sa mga nota, ug bisan pa sa dili angay nga sangputanan nga disenyo, nalipay ako. Siyempre, dungan sa pagtapos sa proyekto, nagpadayon ako sa pagtrabaho sa disenyo, pagdugang og bag-ong mga kolor (gradients mao ang gugma "sa unang pagtan-aw").

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Unang bersyon sa disenyo (duha ka screen, walay animation, daan nga ngalan)

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Ikaduha nga bersyon sa disenyo (4 nga mga screen, ang inisyal nga screen hapsay nga nag-pulso sa lain-laing mga kolor, gradients bisan asa)

Gidepensahan nako ang akong kataposang proyekto ug nalipay kaayo ko sa dihang nahibal-an nako nga nakapasar ko sa qualifying round ug giimbitar sa finals sa IT SCHOOL application competition. Ako adunay mga usa ka bulan nga nahabilin sa wala pa ang kompetisyon, ug ako seryoso nga naghunahuna mahitungod sa pagkuha sa usa ka mas propesyonal nga tawo sa natad sa disenyo. Ang pagpangita wala makawang: ingon nga kini nahimo, ang suod nga higala sa akong igsoon usa ka maayo nga tigdesinyo! Misugot dayon siya nga tabangan ko, ug ang kasamtangang disenyo sa dula maoy iyang kredito.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Katapusan nga disenyo

Pagpublikar

Pagkahuman sa pagtrabaho sa bersyon sa pagpagawas, nagsugod dayon ako sa pag-andam sa aplikasyon alang sa pagmantala sa Google Play Market. Standard nga pamaagi: pag-angkon og developer account, paghimo og application page, etc. Apan kini nga seksyon dili bahin niana.

Ang labing katingad-an nga butang sa kini nga istorya mao ang mga istatistika sa pag-download. Sa sinugdan, ang gidaghanon sa mga DrumHero nga na-download hinay-hinay ug halos parehas sa pipila ka mga nasod sa Uropa, USA ug CIS nga mga nasud, apan usa ka bulan ang milabay ug ang gidaghanon sa mga pag-download miabot sa 100 nga mga pag-download! Usa ka makapaikag nga kamatuoran mao nga kadaghanan sa mga pag-download gikan sa Indonesia.

konklusyon

Ang DrumHero mao ang akong una nga seryoso nga proyekto diin nakakat-on ako sa pagprograma. Wala lang niya ako gidala sa all-Russian nga final sa kompetisyon sa proyekto sa SAMSUNG IT SCHOOL, apan gihatagan usab niya ako daghang kasinatian sa laraw sa grapiko, GameDev, pakig-uban sa serbisyo sa Play Market ug daghan pa.

DrumHero: Giunsa nako paghimo ang una nga dula sa akong kinabuhi

Siyempre, karon nakita nako ang daghang mga kakulangan sa dula, bisan kung karon ang gidaghanon sa mga pag-download miabot sa hapit 200. Ang akong mga plano mao ang pagpagawas sa usa ka bag-ong bersyon, adunay mga ideya kung giunsa ang pagdugang sa kalig-on, pagpaayo sa dula ug pagdugang sa gidaghanon sa mga pag-download.

Tabang:
Ang SAMSUNG IT SCHOOL usa ka libre nga full-time nga dugang nga programa sa edukasyon alang sa mga estudyante sa hayskul, nga naglihok sa 25 ka lungsod sa Russia.
Ang proyekto sa graduation sa mga estudyante kay usa ka mobile application. Kini mahimo nga usa ka dula, usa ka sosyal nga app, usa ka tigplano, bisan unsa nga gusto nila.
Mahimo kang mag-aplay alang sa pagbansay gikan sa Septyembre 2019 sa site mga programa.


Source: www.habr.com

Idugang sa usa ka comment