DrumHero: Kuinka tein elämäni ensimmäisen pelin

Tänä vuonna sosiaali- ja koulutusohjelma IT-KOULU SAMSUNG täyttää 5 vuotta (lue IT-KOULU täällä), ja tässä tilaisuudessa kutsuimme valmistuneet kertomaan itsestään ja kokemuksistaan ​​mobiilisovellustensa luomisesta. Uskomme, että suurella halulla jokainen voi saavuttaa menestystä!

Ensimmäinen tällainen vieras tässä osiossa oli Shamil Magomedov, vuonna 2017 valmistunut SAMSUNG IT SCHOOL, nyt opiskelija MIEM NRU HSE:ssä. Shamil, paljon kiitoksia, että käytit aikaa tämän artikkelin kirjoittamiseen kiireisestä aikataulustasi huolimatta!

Hei kaikille!
Tänään haluan puhua siitä, kuinka päädyin "ehdollisesti hyväksytyistä" SAMSUNG IT SCHOOL -kouluun pelin ansiosta finalistiksi All-Russian mobiilikehityskilpailussa. DrumHero.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

esihistoria

Menin IT-KOULUUN kun olin 10. luokalla. Jo ensimmäisistä koulutuspäivistä lähtien jäin muista tyypeistä jälkeen, ja tämä oli ennakoitavissa jo ennen kurssin alkua (tämän osoittivat hirvittävän alhaiset pääsykoepisteet). Kaikki nämä ohjelmointiperiaatteet, Android-alustan rakenne ja Java-kieli, kuinka ymmärtää kaikki?

Onneksi minulla oli kaikki mitä tarvitsin menestyäkseni kehitystaitojen hallitsemiseen: rajaton halu mennä eteenpäin eikä pysähtyä.

Viettäen paljon aikaa läksyihin, pysyen jatkuvasti myöhässä oppituntien jälkeen opettaja Vladimir Vladimirovich Iljinin kanssa (minulla oli uskomattoman onnekas hänen kanssaan), aloin sopeutua nopeaan oppimistahtiin ja miettiä valmistumisprojektiani.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Opettajan kanssa - V.V. Ilyin

Etsi idea

Monet ihmiset ajattelevat, että projektia luotaessa, olipa kyseessä startup tai jotain pientä kokemuksen hankkimiseksi, kaikki vaikeudet piilevät kehityksessä: koodinipun kirjoittaminen, uusien kirjastojen oppiminen, jatkuva testaus - kauhua! Usko minua, tämä ei ole ollenkaan totta. Päättelin täsmälleen samalla tavalla, kunnes itse kohtasin tarpeen valita ja toteuttaa idea; se osoittautui yhdeksi vaikeimmista vaiheista.

Vaikeinta idean valinnassa oppimisen alkuvaiheessa on toteuttamisen monimutkaisuuden määrittäminen: pitkään aikaan en voinut keksiä sovellusta, jota voisin tehdä ja samalla pitää.

Ennen kaikkea halusin kirjoittaa musiikkipelin, mutta epäilykset kyvyistäni todella häiritsivät. Näytti siltä, ​​​​että työtä ei olisi mahdollista suorittaa loppuun, ja tästä syystä muutin valintaani useammin kuin kerran: mobiilibiljardi, keilailu, juoksija jne. Lopulta opin tästä yhden läksyn: vaikeuksia tulee aina eteen, riippumatta sovellusideasta, ja siksi tärkeintä on valita mistä pidät ja mennä loppuun.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Olen aina pitänyt Guitar Hero -pelistä

Pelilogiikan toteutus

Guitar Heron kaltaisten sovellusten perusideana on napauttaa näyttöä musiikin rytmiin.
Ensinnäkin aloin toteuttaa pelilogiikkaa:

  1. Luotiin nuottiluokkia, painikkeita ja raitoja, joita pitkin nuotit liikkuvat.
  2. Laitoin kankaan koko sovelluksen näytölle ja kuvasin siinä jo luotujen luokkien objektien sijainnit.
  3. Toteutettu samanaikainen käynnistäminen mp3-tiedoston kappaleen ja joukko muistiinpanoja, jotka saatiin tietokannasta ja voila! Pelin ensimmäiset luonnokset ovat jo älypuhelimessani :)

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Ensimmäinen versio pelistä

Kyllä, se näyttää "vaikuttavalta", mutta se riitti melkein pelin testaamiseen! Viimeinen välttämätön askel oli kappaleen nuottien luettelo, ja jouduin käyttämään paljon aikaa sen toteuttamiseen.
Periaate on melko yksinkertainen: tietokantataulukon arvojen avulla ohjelma luo "Note"-luokan objektit ja lisää tuloksena olevat huomautukset taulukkoon. Taulukko koostuu kahdesta sarakkeesta:

  • rivinumero 1-4, johon nuotin tulee mennä ja
  • aika, jolloin sen pitäisi ilmestyä näytölle.

Miksi vietin paljon aikaa, jos kaikki on niin yksinkertaista? Täyttääksesi tämän tietokannan!
Valitettavasti en tuolloin kyennyt automatisoimaan kappaleen mp3-tiedostosta nuottien saamista haluamaani muotoon, joten minun piti täyttää nämä sarakkeet manuaalisesti korvalla.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Tietokannan täyttäminen muistiinpanoilla

Tällä menetelmällä pystyin aloittamaan pelin kehittämisen ja testaamisen varhaisessa vaiheessa, mutta oli selvää, että minun piti keksiä jotain muuta. Tässä minua auttoi paljon opettajani Iljin Vladimir Vladimirovitš, joka puhui MIDI-formaatin olemassaolosta, selitti sen rakennetta ja auttoi minua selvittämään löytämäni kirjaston MIDI-tiedostojen kanssa työskentelemiseen.

Tämän muodon kauneus on, että siinä jokainen instrumentti on jo erillinen raita, jolla tietyt "nuotit" sijaitsevat. Näin voit helposti selata kaikki muistiinpanot ja raidasta ja ajasta riippuen lisätä ne automaattisesti tietokantaan. Tämä on erittäin tärkeä ominaisuus, koska sen ansiosta pystyin ratkaisemaan tämän tyylilajin pelien ongelman: kyvyttömyys lisätä omia kappaleitani. Totta, MIDI-formaatilla on suuri haitta - ääni (me kaikki muistamme melodiat retropeleissä, eikö niin?).

Vähitellen parantaen pelin kulkua, toin ohjelman täysin toimivaan tilaan, lisäsin monia "ominaisuuksia": mahdollisuus lisätä oman kappaleen laitteen muistista tai pilviluettelosta, vaikeustason valinta, aloittelijatila ja paljon muuta.
Ja lopuksi pääsin "kirsikka kakun päälle"...

Suunnittelu

Tästä alkoi pelin "visioni" ruumiillistuma. Ensinnäkin aloin valita piirustusohjelman. Minulla ei ollut kokemusta graafisesta suunnittelusta, joten tarvitsin ohjelman, joka oli helppo oppia (Photoshop, muuten), mutta myös joustava ja kätevä (Paint, anteeksi). Valinta osui Inkscapelle - hyvä työkalu vektorikuvien muokkaamiseen, pääasiassa svg-muodossa.

Tutustuttuani tähän ohjelmaan hieman, aloin piirtää pelin jokaista elementtiä ja tallentaa sen eri resoluutioilla, jotka sopivat eri laitteille. Myös nuottien räjähdysmäistä animaatiota yritettiin toteuttaa, ja tuloksena olevan suunnittelun sopimattomuudesta huolimatta olin tyytyväinen. Tietenkin samaan aikaan projektin viimeistelyn kanssa jatkoin suunnittelutyötä lisäämällä uusia värejä (gradientit ovat rakkautta "ensi silmäyksellä").

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Ensimmäinen versio suunnittelusta (kaksi näyttöä, ei animaatiota, vanha nimi)

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Suunnittelun toinen versio (4 näyttöä, ensimmäinen näyttö sykkii sujuvasti eri väreillä, kaltevuudet kaikkialla)

Puolustin opinnäytetyötäni ja olin erittäin iloinen, kun sain selville, että olin läpäissyt karsintakierroksen ja minut kutsuttiin IT SCHOOL -hakukilpailun finaaliin. Minulla oli noin kuukausi aikaa kilpailuun ja ajattelin vakavasti palkata ammattimaisempaa henkilöä suunnittelun alalle. Haku ei ollut turha: kuten kävi ilmi, veljeni läheinen ystävä on erinomainen suunnittelija! Hän suostui heti auttamaan minua, ja nykyinen pelisuunnittelu on hänen ansiotaan.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Lopullinen suunnittelu

Julkaisu

Valmistuttuani julkaisuversion parissa aloin heti valmistelemaan hakemusta julkaistavaksi Google Play Marketissa. Vakiomenettely: kehittäjätilin hankkiminen, sovellussivun luominen jne. Mutta tämä jakso ei koske sitä.

Yllättävin asia tässä tarinassa on lataustilastot. Aluksi DrumHero-latausten määrä kasvoi vähitellen ja lähes tasaisesti joissakin Euroopan maissa, USA:ssa ja IVY-maissa, mutta kului kuukausi ja latausten määrä oli 100 000 latausta! Mielenkiintoinen tosiasia on, että suurin osa latauksista tuli Indonesiasta.

Johtopäätös

DrumHero on ensimmäinen vakava projektini, jossa opin ohjelmoimaan. Hän ei vain tuonut minut SAMSUNG IT SCHOOL -projektikilpailun koko venäläiseen finaaliin, vaan antoi minulle myös paljon kokemusta graafisesta suunnittelusta, GameDevistä, vuorovaikutuksesta Play Market -palvelun kanssa ja paljon muuta.

DrumHero: Kuinka tein elämäni ensimmäisen pelin

Tietenkin nyt näen pelissä monia puutteita, vaikka tänään latausten määrä on saavuttanut lähes 200 000. Suunnitelmissani on julkaista uusi versio, on ideoita vakauden lisäämiseksi, pelattavuuden parantamiseksi ja latausten määrän lisäämiseksi.

Ohje:
SAMSUNG IT SCHOOL on ilmainen kokopäiväinen lisäkoulutusohjelma lukiolaisille, ja se toimii 25 kaupungissa Venäjällä.
Opiskelijoiden valmistumisprojekti on mobiilisovellus. Se voi olla peli, sosiaalinen sovellus, suunnittelija, mitä tahansa he haluavat.
Koulutukseen voi hakea syyskuusta 2019 alkaen osoitteessa Online ohjelma.


Lähde: will.com

Lisää kommentti