DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Šiais metais socialinei ir edukacinei programai IT MOKYKLA SAMSUNG sukanka 5 metai (skaitykite apie IT MOKYKLA čia), o šia proga savo absolventus pakvietėme pasikalbėti apie save ir savo patirtį kuriant savo mobiliąsias aplikacijas. Tikime, kad su dideliu troškimu kiekvienas gali pasiekti sėkmės!

Pirmasis toks svečias šioje sekcijoje buvo Shamil Magomedov, 2017 m. SAMSUNG IT SCHOOL absolventas, dabar MIEM NRU HSE studentas. Shamil, labai ačiū, kad skyrėte laiko parašyti šį straipsnį, nepaisant įtempto grafiko!

Sveiki visi!
Šiandien norėčiau pakalbėti apie tai, kaip dėl žaidimo „sąlygiškai priimto“ į SAMSUNG IT MOKYKLĄ tapau visos Rusijos mobiliojo kūrimo konkurso finalininku. DrumHero.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

priešistorė

Į IT MOKYKLĄ įstojau būdama 10 klasėje. Nuo pat pirmųjų treniruočių dienų atsilikau nuo kitų vaikinų, ir tai buvo nuspėjama dar prieš kursų pradžią (tai liudijo ir siaubingai žemi mano stojamųjų egzaminų balai). Visi šie programavimo principai, Android platformos struktūra ir Java kalba, kaip visa tai suprasti?

Laimei, turėjau viską, ko reikėjo, kad sėkmingai įvaldyčiau tobulėjimo įgūdžius: beribį norą judėti į priekį ir nesustoti.

Daug laiko skirdama namų darbams, nuolat vėluodama po pamokų pas mokytoją Vladimirą Vladimirovičių Iljiną (su juo man nepaprastai pasisekė), pradėjau prisitaikyti prie greito mokymosi tempo ir galvoti apie savo baigimo projektą.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Su mokytoju V.V

Ieškoti idėjos

Daugelis žmonių mano, kad kuriant projektą, ar tai būtų startuolis, ar kažkas smulkaus, norint įgyti patirties, visi sunkumai slypi kūrime: parašyti krūvą kodo, mokytis naujų bibliotekų, nuolatos testuoti – siaubas! Patikėkite, tai visai netiesa. Lygiai taip pat samprotavau, kol pati nesusidūriau su būtinybe išsirinkti ir įgyvendinti idėją, tai pasirodė vienas sunkiausių etapų.

Sunkiausias dalykas renkantis idėją pradiniame mokymosi etape yra nustatyti įgyvendinimo sudėtingumą: ilgą laiką negalėjau sugalvoti programos, kurią galėčiau padaryti ir tuo pačiu patikti.

Labiausiai norėjau parašyti muzikinį žaidimą, bet abejonės dėl mano sugebėjimų tikrai trukdė. Atrodė, kad nepavyks baigti darbo ir dėl šios priežasties ne kartą pakeičiau pasirinkimą: mobilusis biliardas, boulingas, bėgikas ir t.t. Galiausiai iš to išmokau vieną pamoką: sunkumų visada atsiras, neatsižvelgiant į taikymo idėją, todėl svarbiausia išsirinkti tai, kas patinka, ir eiti iki galo.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Man visada patiko žaidimas „Guitar Hero“.

Žaidimo logikos įgyvendinimas

Pagrindinė tokių programų kaip „Guitar Hero“ idėja yra bakstelėti ekraną pagal muzikos ritmą.
Pirmiausia pradėjau diegti žaidimo logiką:

  1. Sukurtos natų klasės, mygtukai ir juostelės, kuriomis judės užrašai.
  2. Drobę padėjau ant viso aplikacijos ekrano ir ant jo jau aprašiau sukurtų klasių objektų vietą.
  3. Vienu metu buvo paleistas dainos mp3 failas ir natų masyvas, gautas iš duomenų bazės, ir voila! Pirmieji žaidimo juodraščiai jau mano išmaniajame telefone :)

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Pirmoji žaidimo versija

Taip, atrodo „įspūdingai“, bet to beveik pakako žaidimui išbandyti! Paskutinis būtinas žingsnis buvo dainos natų sąrašas, kurio įgyvendinimui teko skirti nemažai laiko.
Principas gana paprastas: naudodama duomenų bazės lentelės reikšmes, programa sukuria „Note“ klasės objektus ir gautas pastabas prideda prie masyvo. Lentelę sudaro du stulpeliai:

  • eilutės numeris nuo 1 iki 4, ant kurio turėtų būti užrašas ir
  • laikas, kada jis turėtų pasirodyti ekrane.

Kodėl aš praleidau daug laiko, jei viskas taip paprasta? Norėdami užpildyti šią duomenų bazę!
Deja, tuo metu nesupratau, kaip automatizuoti natų gavimo reikiamu formatu iš dainos mp3 failo procesą, todėl šiuos stulpelius teko pildyti rankiniu būdu iš klausos.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Duomenų bazės užpildymo pastabomis procesas

Šis metodas leido man anksti pradėti kurti ir išbandyti žaidimą, tačiau buvo aišku, kad reikia sugalvoti ką nors kito. Čia man labai padėjo mokytojas Iljinas Vladimiras Vladimirovičius, kuris kalbėjo apie MIDI formato egzistavimą, paaiškino jo struktūrą ir padėjo išsiaiškinti biblioteką, kurią radau darbui su MIDI failais.

Šio formato grožis yra tas, kad jame kiekvienas instrumentas jau yra atskiras takelis, kuriame yra tam tikros „natos“. Tokiu būdu galite lengvai peržiūrėti visas pastabas ir, priklausomai nuo takelio ir laiko, automatiškai įtraukti juos į duomenų bazę. Tai labai svarbi savybė, nes būtent jos dėka man pavyko išspręsti šio žanro žaidimų problemą: negalėjimą pridėti savo dainų. Tiesa, MIDI formatas turi didelį trūkumą – garsą (visi retro žaidimuose prisimename melodijas, tiesa?).

Palaipsniui tobulindamas žaidimo eigą, programą perkėliau į visiškai veikiančią būseną, pridėjau daug „funkcijų“: galimybę pridėti savo dainą iš įrenginio atminties arba iš debesies katalogo, sudėtingumo lygio pasirinkimą, pradedančiųjų režimą ir daug daugiau.
Ir galiausiai priėjau prie „vyšnios ant torto“...

Dizainas

Čia prasidėjo mano žaidimo „vizijos“ įsikūnijimas. Visų pirma pradėjau rinktis piešimo programą. Neturėjau jokios grafinio dizaino patirties, todėl man reikėjo programos, kurią būtų lengva išmokti (beje, „Photoshop“), bet ir lanksti bei patogi („Paint“, atsiprašau). Pasirinkimas krito „Inkscape“ - geras įrankis vektoriniams vaizdams redaguoti, daugiausia svg formatu.

Šiek tiek labiau susipažinęs su šia programa, pradėjau piešti kiekvieną žaidimo elementą ir išsaugoti jį skirtingomis raiškomis, tinkančiomis įvairiems įrenginių ekranų dydžiams. Taip pat buvo bandoma įgyvendinti natų sprogimo animaciją, ir nepaisant gauto dizaino netinkamumo, buvau patenkintas. Žinoma, lygiagrečiai užbaigdamas projektą toliau dirbau su dizainu, pridėdamas naujų spalvų (gradientai yra meilė „iš pirmo žvilgsnio“).

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Pirmoji dizaino versija (du ekranai, be animacijos, senas pavadinimas)

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Antroji dizaino versija (4 ekranai, pradinis ekranas sklandžiai pulsuoja skirtingomis spalvomis, visur gradientai)

Apgyniau baigiamąjį darbą ir labai apsidžiaugiau, kai sužinojau, kad įveikiau kvalifikacinį etapą ir buvau pakviestas į IT MOKYKLOS paraiškų konkurso finalą. Iki konkurso man buvo likę maždaug mėnuo, ir rimtai galvojau apie profesionalesnio dizaino srities žmogų. Paieškos nenuėjo veltui: kaip paaiškėjo, mano brolio artimas draugas yra puikus dizaineris! Ji iš karto sutiko man padėti, o dabartinis žaidimo dizainas yra jos nuopelnas.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Galutinis dizainas

Publikavimas

Baigęs darbą su leidimo versija, aš nedelsdamas pradėjau rengti paraišką paskelbti „Google Play“ rinkoje. Standartinė procedūra: kūrėjo paskyros įsigijimas, programos puslapio sukūrimas ir kt. Bet šis skyrius ne apie tai.

Labiausiai stebinantis dalykas šioje istorijoje yra atsisiuntimų statistika. Iš pradžių DrumHero atsisiuntimų skaičius palaipsniui ir beveik tolygiai didėjo kai kuriose Europos šalyse, JAV ir NVS šalyse, tačiau praėjo mėnuo ir atsisiuntimų skaičius pasiekė 100 000! Įdomus faktas yra tai, kad dauguma atsisiuntimų buvo iš Indonezijos.

išvada

DrumHero yra mano pirmasis rimtas projektas, kuriame išmokau programuoti. Jis ne tik atvedė mane į visos Rusijos SAMSUNG IT SCHOOL projekto konkurso finalą, bet ir suteikė daug patirties grafinio dizaino, GameDev, sąveikos su Play Market paslauga ir dar daugiau.

DrumHero: Kaip sukūriau pirmąjį žaidimą savo gyvenime

Žinoma, dabar matau daug žaidimo trūkumų, nors šiandien atsisiuntimų skaičius pasiekė beveik 200 000 Mano planai yra išleisti naują versiją, yra idėjų, kaip padidinti stabilumą, pagerinti žaidimo eigą ir padidinti atsisiuntimų skaičių.

DUK:
SAMSUNG IT SCHOOL – nemokama dieninio papildomo ugdymo programa vidurinių mokyklų moksleiviams, veikianti 25 Rusijos miestuose.
Studentų baigimo projektas yra mobilioji aplikacija. Tai gali būti žaidimas, socialinė programa, planuotojas, kas tik jie nori.
Kreiptis į mokymus galite nuo 2019 m. rugsėjo mėn Dabar naršo programos.


Šaltinis: www.habr.com

Добавить комментарий