DrumHero: Hogyan készítettem el életem első játékát

Idén 5 éves az IT SCHOOL SAMSUNG szociális és oktatási program (lásd az IT ISKOLA itt), ebből az alkalomból meghívtuk végzőseinket, hogy meséljenek magukról és mobilalkalmazásaik elkészítésében szerzett tapasztalataikról. Hiszünk abban, hogy sok vággyal mindenki sikereket érhet el!

Az első ilyen vendég ebben a szekcióban Shamil Magomedov, a SAMSUNG IT SCHOOL 2017-ben végzett, jelenleg a MIEM NRU HSE hallgatója volt. Shamil, nagyon köszönöm, hogy elfoglaltsága ellenére időt szánt ennek a cikknek a megírására!

Hello!
Ma arról szeretnék beszélni, hogy a SAMSUNG IT ISKOLA „feltételes felvételéből” hogyan kerültem a játéknak köszönhetően az összoroszországi mobilfejlesztési verseny döntőjébe. DrumHero.

DrumHero: Hogyan készítettem el életem első játékát

őstörténet

10. osztályos koromban kerültem IT ISKOLÁBA. Már az első edzésnapokon lemaradtam a többi sráctól, és ez már a tanfolyam kezdete előtt is sejthető volt (erről tanúskodtak a borzalmasan alacsony felvételi pontszámaim). Mindezek a programozási elvek, az Android platform felépítése és a Java nyelv, hogyan lehet mindezt megérteni?

Szerencsére megvolt bennem minden, ami ahhoz kellett, hogy sikeresen elsajátítsam a fejlesztési készségeket: határtalan vágyam, hogy előrelépjek és ne álljak meg.

Sok időt szentelve a házi feladatnak, állandóan későn késve Vlagyimir Vlagyimirovics Iljin tanárral (hihetetlenül szerencsém volt vele), elkezdtem alkalmazkodni a tanulás gyors üteméhez, és gondolkodni az érettségi projektemen.

DrumHero: Hogyan készítettem el életem első játékát

Tanárral - V. V. Iljin

Keress ötletet

Sokan azt gondolják, hogy egy projekt létrehozásakor, legyen az startup vagy valami kis tapasztalatszerzés, minden nehézség a fejlesztésben rejlik: egy rakás kód írása, új könyvtárak tanulása, folyamatos tesztelés - horror! Higgye el, ez egyáltalán nem igaz. Pontosan így okoskodtam egészen addig, amíg magam is szembesültem azzal, hogy ki kell választani és megvalósítani egy ötletet, ez bizonyult az egyik legnehezebb szakasznak.

Az ötlet kiválasztásában a tanulás kezdeti szakaszában a legnehezebb a megvalósítás összetettségének meghatározása: sokáig nem tudtam olyan alkalmazást kitalálni, amit meg tudnék csinálni és egyben tetszeni is.

Leginkább zenés játékot szerettem volna írni, de a képességeimmel kapcsolatos kételyek nagyon megzavarták. Úgy tűnt, hogy nem lehet befejezni a munkát, ezért nem egyszer változtattam a választáson: mobil biliárd, bowling, futó stb. Végül egy leckét vontam le ebből: nehézségek mindig felmerülnek, az alkalmazás ötletétől függetlenül, és ezért a legfontosabb dolog az, hogy válassza ki, ami tetszik, és menjen a végére.

DrumHero: Hogyan készítettem el életem első játékát

Mindig is szerettem a Guitar Hero játékot

A játéklogika megvalósítása

Az olyan alkalmazások alapötlete, mint a Guitar Hero, hogy a képernyőt a zene ritmusára kell koppintani.
Először is elkezdtem a játék logikáját megvalósítani:

  1. Létrehozott jegyzetosztályokat, gombokat és csíkokat, amelyek mentén a hangjegyek mozogni fognak.
  2. A vásznat az alkalmazás teljes képernyőjén elhelyeztem és azon már leírtam a létrehozott osztályok objektumainak elhelyezkedését.
  3. Megvalósítottam egy dal mp3 fájljának és az adatbázisból nyert hangjegyek tömbjének egyidejű elindítását, és íme! A játék első vázlatai már az okostelefonomon :)

DrumHero: Hogyan készítettem el életem első játékát

A játék első verziója

Igen, „lenyűgözőnek” tűnik, de majdnem elég volt a játék teszteléséhez! Az utolsó szükséges lépés a dal hangjegyeinek listája volt, és sok időt kellett fordítanom a megvalósításra.
Az elv nagyon egyszerű: az adatbázistábla értékeinek felhasználásával a program létrehozza a „Megjegyzés” osztály objektumait, és hozzáadja a kapott megjegyzéseket a tömbhöz. A táblázat két oszlopból áll:

  • sorszám 1-től 4-ig, amelyre a hangnak mennie kell, és
  • az időpont, amikor meg kell jelennie a képernyőn.

Miért töltöttem sok időt, ha minden ilyen egyszerű? Az adatbázis feltöltéséhez!
Sajnos akkor még nem tudtam rájönni, hogyan automatizálhatnám azt a folyamatot, hogy a dal mp3 fájljából a kívánt formátumba kerüljön a kotta, ezért ezeket a rovatokat manuálisan, füllel kellett kitöltenem.

DrumHero: Hogyan készítettem el életem első játékát

Az adatbázis jegyzetekkel való feltöltésének folyamata

Ezzel a módszerrel már korán elkezdtem fejleszteni és tesztelni a játékot, de egyértelmű volt, hogy valami mást kell kitalálnom. Itt nagyon sokat segített a tanárom, Iljin Vlagyimir Vlagyimirovics, aki beszélt a MIDI formátum létezéséről, elmagyarázta a felépítését és segített kitalálni, hogy milyen könyvtárat találtam a MIDI fájlokkal való munkához.

Ennek a formátumnak az a szépsége, hogy benne minden hangszer már egy külön sáv, amelyen bizonyos „nóták” helyezkednek el. Így könnyedén végignézheti az összes jegyzetet, és a számtól és az időtől függően automatikusan hozzáadhatja őket az adatbázishoz. Ez egy nagyon fontos tulajdonság, mert ennek köszönhetően tudtam megoldani az ilyen műfajú játékok problémáját: azt, hogy nem tudtam hozzáadni saját dalokat. Igaz, a MIDI formátumnak van egy nagy hátránya - a hangzás (mindannyian emlékszünk dallamokra a retro játékokban, igaz?).

Fokozatosan javítva a játékmenetet, a programot teljesen működőképes állapotba hoztam, számos „funkcióval” bővítettem: saját dal hozzáadásának lehetősége az eszköz memóriájából vagy a felhőkatalógusból, a nehézségi szint kiválasztása, a kezdő mód és még sok más.
És végül elérkeztem a „cseresznye a tortán”-hoz...

Tervezés

Itt kezdődött a játékról alkotott „látásom” megtestesülése. Először is elkezdtem rajzprogramot választani. Nem volt tapasztalatom a grafikai tervezésben, ezért olyan programra volt szükségem, ami könnyen megtanulható (egyébként Photoshop), ugyanakkor rugalmas és kényelmes (Paint, bocs). A választás az Inkscape-re esett - ez egy jó eszköz a vektoros képek szerkesztéséhez, főleg svg formátumban.

Miután kicsit jobban megismerkedtem ezzel a programmal, elkezdtem rajzolni a játék minden elemét, és elmentem azokat különböző felbontásban, különböző képernyőméretekhez. Voltak kísérletek a hangok robbanásszerű animációjának megvalósítására is, és az így létrejött terv alkalmatlansága ellenére elégedett voltam. Természetesen a projekt véglegesítésével párhuzamosan folytattam a tervezést, új színek hozzáadásával (a színátmenetek szerelem „első látásra”).

DrumHero: Hogyan készítettem el életem első játékát

A terv első változata (két képernyő, animáció nélkül, régi név)

DrumHero: Hogyan készítettem el életem első játékát

A kialakítás második változata (4 képernyő, a kezdeti képernyő simán pulzál különböző színekkel, színátmenetekkel mindenhol)

Megvédtem a zárómunkámat, és nagyon boldog voltam, amikor megtudtam, hogy túljutottam a selejtezőn, és meghívást kaptam az IT ISKOLA pályázati verseny döntőjébe. Körülbelül egy hónapom volt hátra a versenyig, és komolyan elgondolkodtam azon, hogy egy profibb embert vegyek fel a tervezés területére. A keresés nem volt hiábavaló: mint kiderült, bátyám közeli barátja kiváló tervező! Azonnal beleegyezett, hogy segítsen nekem, és a jelenlegi játéktervezés az ő érdeme.

DrumHero: Hogyan készítettem el életem első játékát

Végső tervezés

kiadvány

A kiadási verzióval kapcsolatos munka befejezése után azonnal megkezdtem az alkalmazás előkészítését a Google Play Marketen való közzétételre. Normál eljárás: fejlesztői fiók beszerzése, alkalmazásoldal létrehozása stb. De ez a rész nem erről szól.

A legmeglepőbb ebben a történetben a letöltési statisztikák. Eleinte fokozatosan és szinte egyenletesen nőtt a DrumHero letöltések száma néhány európai országban, az USA-ban és a FÁK országokban, de eltelt egy hónap, és a letöltések száma elérte a 100 000 letöltést! Érdekes tény, hogy a legtöbb letöltés Indonéziából érkezett.

Következtetés

A DrumHero az első komoly projektem, ahol megtanultam programozni. Nemcsak a SAMSUNG IT SCHOOL projektverseny összoroszországi döntőjébe vitt el, hanem rengeteg tapasztalatot is szerzett a grafikai tervezés, a GameDev, a Play Market szolgáltatással való interakció és még sok más terén.

DrumHero: Hogyan készítettem el életem első játékát

Természetesen most sok hiányosságot látok a játékban, bár mára a letöltések száma elérte a közel 200 ezret.. Terveim között szerepel egy új verzió kiadása, vannak ötletek a stabilitás növelésére, a játékmenet javítására és a letöltések számának növelésére.

FAQ:
A SAMSUNG IT SCHOOL egy ingyenes, nappali tagozatos kiegészítő oktatási program középiskolás diákok számára, amely Oroszország 25 városában működik.
A diákok érettségi projektje egy mobilalkalmazás. Lehet ez egy játék, egy közösségi alkalmazás, egy tervező, amit csak akarnak.
A képzésre 2019 szeptemberétől lehet jelentkezni a címen Online programok.


Forrás: will.com

Hozzászólás