DrumHero: Həyatımda ilk oyunu necə etdim

Bu il IT SCHOOL SAMSUNG sosial və təhsil proqramının 5 yaşı tamam olur (IT SCHOOL haqqında oxuyun burada) və bu münasibətlə məzunlarımızı özləri və mobil tətbiqlərini yaratmaq təcrübələri haqqında danışmağa dəvət etdik. İnanırıq ki, böyük arzu ilə hər kəs uğur qazana bilər!

Bu bölmədə ilk belə qonaq SAMSUNG IT SCHOOL-un 2017-ci il məzunu, hazırda MIEM NRU SƏTƏM-in tələbəsi Şamil Maqomedov oldu. Şamil, çox sağ olun ki, iş qrafikinizin çox olmasına baxmayaraq, vaxtınızı ayırıb bu yazını yazdığınız üçün!

Hello!
Bu gün oyun sayəsində SAMSUNG İT MƏKTƏBinə “şərti olaraq qəbul olmaqdan” Ümumrusiya mobil inkişaf müsabiqəsində finalçıya çevrildiyimdən danışmaq istərdim. DrumHero.

DrumHero: Həyatımda ilk oyunu necə etdim

Prehistorya

10-cu sinifdə oxuyanda İT MƏKTƏB-ə daxil olmuşam. Təlimin ilk günlərindən mən digər uşaqlardan geri qaldım və bu, hətta kurs başlamazdan əvvəl proqnozlaşdırıla bilən idi (bunu qəbul imtahanında çox aşağı ballarım sübut etdi). Bütün bu proqramlaşdırma prinsipləri, Android platformasının strukturu və Java dili, hamısını necə başa düşmək olar?

Xoşbəxtlikdən, inkişaf bacarıqlarını uğurla mənimsəmək üçün lazım olan hər şeyə sahib idim: irəliləmək və dayanmamaq üçün sonsuz istək.

Ev tapşırığına çox vaxt ayıraraq, müəllim Vladimir Vladimiroviç İlyinlə dərslərdən sonra daim gecikərək (onunla inanılmaz dərəcədə şanslı idim) sürətli öyrənmə tempinə uyğunlaşmağa və buraxılış layihəm haqqında düşünməyə başladım.

DrumHero: Həyatımda ilk oyunu necə etdim

Müəllimlə - V.V. İlyin

Bir fikir axtarın

Bir çox insanlar düşünür ki, layihə yaradanda, istər başlanğıc olsun, istərsə də təcrübə qazanmaq üçün kiçik bir şey olsun, bütün çətinlik inkişafdadır: bir dəstə kod yazmaq, yeni kitabxanalar öyrənmək, daim sınaqdan keçirmək - dəhşət! İnanın, bu heç də doğru deyil. Mən özüm bir ideya seçmək və həyata keçirmək zərurəti ilə üzləşənə qədər eyni şəkildə əsaslandırdım, ən çətin mərhələlərdən biri olduğu ortaya çıxdı.

Öyrənmənin ilkin mərhələsində ideya seçməkdə ən çətin şey həyata keçirmənin mürəkkəbliyini müəyyən etməkdir: uzun müddətdir ki, edə biləcəyim və eyni zamanda bəyəndiyim bir tətbiq tapa bilmirdim.

Ən çox mən musiqili oyun yazmaq istəyirdim, amma qabiliyyətlərimlə bağlı şübhələr mənə mane oldu. Görünürdü ki, işi bitirmək mümkün olmayacaq və bu səbəbdən seçimimi bir neçə dəfə dəyişdim: mobil bilyard, boulinq, qaçışçı və s. Nəhayət, bundan bir dərs aldım: çətinliklər həmişə yaranacaq, tətbiqi ideyasından asılı olmayaraq və buna görə də ən əsası bəyəndiyinizi seçmək və sona qədər getməkdir.

DrumHero: Həyatımda ilk oyunu necə etdim

Guitar Hero oyununu həmişə bəyənmişəm

Oyun məntiqinin həyata keçirilməsi

Guitar Hero kimi proqramların əsas ideyası musiqinin ritminə uyğun olaraq ekrana toxunmaqdır.
Əvvəlcə oyun məntiqini həyata keçirməyə başladım:

  1. Qeydlərin hərəkət edəcəyi qeydlər, düymələr və zolaqlar sinifləri yaradılmışdır.
  2. Mən kətanı tətbiqin bütün ekranına yerləşdirdim və orada artıq yaradılmış siniflərin obyektlərinin yerini təsvir etdim.
  3. Bir mahnının mp3 faylının və verilənlər bazasından əldə edilmiş qeydlər silsiləsinin eyni vaxtda işə salınması həyata keçirildi və voila! Oyunun ilk qaralamaları artıq smartfonumdadır :)

DrumHero: Həyatımda ilk oyunu necə etdim

Oyunun ilk versiyası

Bəli, "təsirli" görünür, amma oyunu sınamaq üçün demək olar ki, kifayət idi! Son zəruri addım mahnı üçün notların siyahısı idi və mən onun həyata keçirilməsinə çox vaxt sərf etməli oldum.
Prinsip olduqca sadədir: verilənlər bazası cədvəlinin dəyərlərindən istifadə edərək, proqram "Qeyd" sinfinin obyektlərini yaradır və əldə edilən qeydləri massivə əlavə edir. Cədvəl iki sütundan ibarətdir:

  • notun getməli olduğu 1-dən 4-ə qədər sətir nömrəsi və
  • ekranda görünməli olduğu vaxt.

Hər şey bu qədər sadədirsə, niyə çox vaxt sərf etdim? Bu verilənlər bazasını doldurmaq üçün!
Təəssüf ki, o zaman mən mahnının mp3 faylından lazım olan formatda notların alınması prosesini necə avtomatlaşdıra bilmədim və ona görə də bu sütunları qulaqdan əllə doldurmalı oldum.

DrumHero: Həyatımda ilk oyunu necə etdim

Məlumat bazasının qeydlərlə doldurulması prosesi

Bu üsul mənə oyunu erkən inkişaf etdirməyə və sınaqdan keçirməyə başlamağa imkan verdi, lakin aydın oldu ki, fərqli bir şey tapmalıyam. Burada müəllimim İlyin Vladimir Vladimiroviç mənə çox kömək etdi, o, MIDI formatının mövcudluğundan danışdı, onun strukturunu izah etdi və MIDI faylları ilə işləmək üçün tapdığım kitabxananı anlamağa kömək etdi.

Bu formatın gözəlliyi ondadır ki, onda hər bir alət artıq müəyyən “notların” yerləşdiyi ayrıca trekdir. Beləliklə, siz asanlıqla bütün qeydləri dövrə vura və trekdən və vaxtdan asılı olaraq onları avtomatik olaraq verilənlər bazasına əlavə edə bilərsiniz. Bu, çox vacib bir xüsusiyyətdir, çünki onun sayəsində mən bu janrın oyun problemini həll edə bildim: öz mahnılarımı əlavə edə bilməmək. Düzdür, MIDI formatının böyük bir çatışmazlığı var - səs (retro oyunlarda melodiyaları hamımız xatırlayırıq, elə deyilmi?).

Oyunu tədricən təkmilləşdirərək proqramı tam işlək vəziyyətə gətirdim, bir çox "xüsusiyyətlər" əlavə etdim: cihazın yaddaşından və ya bulud kataloqundan öz mahnınızı əlavə etmək imkanı, çətinlik səviyyəsinin seçimi, başlanğıc rejimi və daha çox.
Və nəhayət “tort üzərində albalı”ya gəldim...

Layihə

Oyunun "görmə" təcəssümü burada başladı. İlk olaraq rəsm proqramı seçməyə başladım. Qrafik dizaynda heç bir təcrübəm yox idi, ona görə də mənə öyrənmək asan (yeri gəlmişkən, Photoshop), eyni zamanda çevik və rahat (Paint, üzr istəyirəm) proqram lazım idi. Seçim Inkscape-ə düşdü - vektor şəkillərini, əsasən svg formatında redaktə etmək üçün yaxşı bir vasitədir.

Bu proqramla bir az daha tanış olduqdan sonra oyunun hər bir elementini çəkməyə və müxtəlif cihaz ekran ölçülərinə uyğun müxtəlif qətnamələrdə saxlamağa başladım. Notların partlamasının animasiyasını həyata keçirmək cəhdləri də var idi və nəticədə dizaynın uyğun olmamasına baxmayaraq, mən məmnun oldum. Əlbəttə ki, layihəni yekunlaşdırmaqla paralel olaraq, dizayn üzərində işləməyə davam etdim, yeni rənglər əlavə etdim (gradientlər "ilk baxışdan" sevgidir).

DrumHero: Həyatımda ilk oyunu necə etdim

Dizaynın ilk versiyası (iki ekran, animasiya yoxdur, köhnə ad)

DrumHero: Həyatımda ilk oyunu necə etdim

Dizaynın ikinci versiyası (4 ekran, ilkin ekran müxtəlif rənglərlə rəvan pulsasiya edir, hər yerdə gradientlər)

Yekun layihəmi müdafiə etdim və seçmə mərhələdən keçdiyimi və IT SCHOOL ərizə müsabiqəsinin finalına dəvət aldığımı biləndə çox sevindim. Yarışmaya təxminən bir aya yaxın vaxtım var idi və dizayn sahəsində daha peşəkar bir insanı işə götürmək barədə ciddi fikirləşdim. Axtarış boşa getmədi: məlum oldu ki, qardaşımın yaxın dostu əla dizaynerdir! O, dərhal mənə kömək etməyə razı oldu və hazırkı oyun dizaynı onun kreditidir.

DrumHero: Həyatımda ilk oyunu necə etdim

Son dizayn

Nəşr

Buraxılış versiyası üzərində işi başa vurduqdan sonra dərhal tətbiqi Google Play Marketdə dərc üçün hazırlamağa başladım. Standart prosedur: tərtibatçı hesabının əldə edilməsi, tətbiq səhifəsinin yaradılması və s. Ancaq bu bölmə bu barədə deyil.

Bu hekayədə ən təəccüblü şey yükləmə statistikasıdır. Əvvəlcə DrumHero yükləmələrinin sayı bəzi Avropa ölkələri, ABŞ və MDB ölkələrində tədricən və demək olar ki, bərabər şəkildə artdı, lakin bir ay keçdi və yükləmələrin sayı 100 yükləməyə çatdı! Maraqlı fakt ondan ibarətdir ki, yükləmələrin əksəriyyəti İndoneziyadan gəlib.

Nəticə

DrumHero proqramlaşdırmağı öyrəndiyim ilk ciddi layihəmdir. O, məni nəinki SAMSUNG IT SCHOOL layihə müsabiqəsinin ümumrusiya finalına gətirdi, həm də mənə qrafik dizayn, GameDev, Play Market xidməti ilə qarşılıqlı əlaqə və daha çox şeylərdə böyük təcrübə qazandırdı.

DrumHero: Həyatımda ilk oyunu necə etdim

Təbii ki, indi oyunda çoxlu çatışmazlıqlar görürəm, baxmayaraq ki, bu gün yükləmələrin sayı az qala 200-ə çatıb.Planlarım yeni versiyanı buraxmaqdır, stabilliyi artırmaq, oyunun gedişatını yaxşılaşdırmaq və yükləmələrin sayını artırmaq barədə fikirlər var.

Kömək:
SAMSUNG IT SCHOOL Rusiyanın 25 şəhərində fəaliyyət göstərən orta məktəb şagirdləri üçün pulsuz tam zamanlı əlavə təhsil proqramıdır.
Tələbələrin buraxılış layihəsi mobil proqramdır. İstədikləri oyun, sosial proqram, planlaşdırıcı ola bilər.
2019-cu ilin sentyabr ayından etibarən təlim üçün müraciət edə bilərsiniz Online proqramlar.


Mənbə: www.habr.com

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