Tahun ini, program sosial dan pendidikan untuk siswa sekolah menengah IT SCHOOL SAMSUNG berusia 5 tahun (baca tentang IT SCHOOL di sini ), dan pada kesempatan ini kami mengundang lulusan kami untuk berbicara tentang diri mereka sendiri dan pengalaman membuat aplikasi mobile mereka. Kami percaya bahwa dengan keinginan besar, semua orang dapat mencapai kesuksesan!Halo semuanya!
Nama saya Shamil Magomedov, saya lulusan SCHOOL SAMSUNG SAMSUNG 2017, saat ini saya mahasiswa di MIEM NRU HSE. Hari ini saya ingin berbicara tentang bagaimana saya beralih dari “penghargaan bersyarat” di SAMSUNG IT-SCHOOL menjadi finalis dari kontes All-Russia mengenai pengembangan mobile berkat game
DrumHero .

Latar belakang
Saya masuk sekolah TI ketika saya di kelas 10. Dari hari-hari pertama pelatihan, saya tertinggal dari yang lain, dan ini sudah dapat diprediksi bahkan sebelum dimulainya kursus (ini ditunjukkan oleh nilai ujian masuk yang sangat rendah). Semua prinsip pemrograman ini, perangkat platform Android dan bahasa Java, bagaimana memahami semua ini?
Untungnya, saya memiliki semua yang diperlukan untuk pengembangan keterampilan pengembangan yang sukses: keinginan tanpa batas untuk maju dan tidak berhenti.
Memberikan banyak waktu untuk mengerjakan pekerjaan rumah, terus-menerus berlama-lama mengejar pasangan dengan guru Vladimir Vladimirovich Ilyin (saya sangat beruntung dengannya), saya mulai beradaptasi dengan langkah cepat pelatihan dan memikirkan proyek kelulusan.
Dengan seorang guru - V.V. IlyinCari ide
Banyak orang berpikir bahwa ketika membuat proyek, apakah itu startup atau sesuatu yang kecil untuk mendapatkan pengalaman, seluruh kesulitan terletak pada pengembangan: menulis banyak kode, mempelajari perpustakaan baru, terus-menerus menguji mengerikan! Percayalah, ini sama sekali tidak benar. Saya bernalar dengan cara yang persis sama, sampai saya sendiri dihadapkan pada kebutuhan untuk memilih dan mengimplementasikan ide, ternyata itu menjadi salah satu tahap yang paling sulit.
Hal yang paling sulit dalam memilih ide pada tahap awal pelatihan adalah menentukan kerumitan implementasi: untuk waktu yang lama saya tidak dapat menemukan aplikasi yang saya mampu dan pada saat yang sama suka.
Yang paling utama saya ingin menulis permainan musik, tetapi keraguan tentang kemampuan saya sangat mengganggu. Tampaknya tidak mungkin menyelesaikan pekerjaan itu, dan untuk alasan ini saya telah mengubah pilihan saya lebih dari sekali: biliar seluler, bowling, pelari, dll. Pada akhirnya, saya belajar satu pelajaran dari ini:
kesulitan akan selalu timbul , terlepas dari ide aplikasi, dan karena itu yang
paling penting adalah memilih apa yang Anda suka dan pergi ke akhir .
Saya selalu menyukai game Guitar HeroImplementasi logika game
Gagasan utama aplikasi seperti Guitar Hero adalah untuk mengetuk layar dengan irama musik.
Pertama-tama, saya mulai menerapkan logika game:
- Dibuat kelas catatan, tombol dan garis-garis di mana catatan akan bergerak.
- Saya menempatkan kanvas di seluruh layar aplikasi dan di atasnya sudah melukis lokasi objek dari kelas yang dibuat.
- Diimplementasikan peluncuran simultan file mp3 lagu dan catatan yang diterima dari database array catatan dan voila! Draf pertama game sudah ada di ponsel cerdas saya :)
Versi pertama gameYa, itu terlihat "mengesankan", tetapi itu hampir cukup untuk menguji permainan! Langkah terakhir yang diperlukan adalah daftar catatan untuk lagu tersebut, dan saya harus duduk banyak waktu dalam pelaksanaannya.
Prinsipnya cukup sederhana: sesuai dengan nilai-nilai tabel database, program menciptakan objek dari kelas "Catatan" dan menambahkan catatan yang diterima ke array. Tabel terdiri dari dua kolom:
- nomor baris dari 1 hingga 4 sepanjang catatan itu harus pergi dan
- waktu di mana ia akan muncul di layar.
Apa yang saya habiskan banyak waktu, jika semuanya begitu sederhana? Untuk mengisi basis data ini!
Sayangnya, pada saat itu saya tidak bisa memikirkan cara mengotomatiskan proses menerima catatan dalam format yang saya butuhkan dari file mp3 lagu tersebut, dan oleh karena itu saya harus mengisi kolom ini secara manual dengan telinga.
Proses mengisi database dengan catatanMetode ini memungkinkan saya untuk mulai mengembangkan dan menguji permainan pada awalnya, tetapi jelas bahwa sesuatu yang lain harus muncul. Kemudian guru saya, Ilyin Vladimir Vladimirovich, banyak membantu saya, yang berbicara tentang keberadaan format MIDI, menjelaskan strukturnya dan membantu saya mencari tahu perpustakaan yang saya temukan untuk bekerja dengan file MIDI.
Keindahan format ini adalah bahwa di dalamnya setiap instrumen sudah menjadi trek terpisah di mana "catatan" tertentu berada. Dengan demikian, Anda dapat dengan mudah memproses semua catatan dalam satu siklus dan secara otomatis menambahkannya ke basis data tergantung pada trek dan waktu. Ini adalah properti yang sangat penting, karena itu berkat dia bahwa saya dapat menyelesaikan masalah permainan genre ini: ketidakmampuan untuk menambahkan lagu saya sendiri. Benar, format MIDI memiliki minus besar - suara (kita semua ingat lagu-lagu di game retro, kan?).
Secara bertahap meningkatkan gameplay, saya membawa program ke kondisi operasional penuh, menambahkan banyak "fitur": kemampuan untuk menambahkan lagu saya dari memori perangkat atau dari direktori cloud, pilihan tingkat kesulitan, mode pemula dan banyak lagi.
Dan akhirnya saya sampai di "cherry on the cake" ...
Desain
Di sinilah perwujudan dari "visi" permainan saya dimulai. Pertama-tama, saya mulai memilih program menggambar. Saya tidak punya pengalaman dalam desain grafis, jadi saya perlu yang sederhana untuk belajar (Photoshop - by), tetapi pada saat yang sama program yang fleksibel dan nyaman (Paint, maaf). Pilihannya jatuh pada Inkscape - alat yang baik untuk mengedit gambar vektor, terutama format svg.
Setelah terbiasa dengan program ini sedikit, saya mulai menggambar setiap elemen permainan dan menyimpannya dalam resolusi yang berbeda, cocok untuk ukuran layar perangkat yang berbeda. Ada juga upaya untuk menerapkan animasi ledakan catatan, dan meskipun desainnya tidak sesuai, saya senang. Tentu saja, seiring dengan selesainya proyek, saya terus bekerja pada desain, menambahkan warna baru (gradien cinta "pada pandangan pertama").
Versi pertama dari desain (dua layar, tanpa animasi, nama lama)
Versi kedua dari desain (4 layar, layar awal berdenyut dengan warna yang berbeda, gradien di mana-mana)Saya membela proyek kelulusan dan sangat senang ketika saya tahu bahwa saya telah melewati babak kualifikasi dan diundang ke final kontes aplikasi IT SCHOOLS. Saya memiliki sekitar satu bulan tersisa sebelum kompetisi, dan saya serius memikirkan untuk menarik orang yang lebih profesional di bidang desain. Pencarian itu tidak sia-sia: ternyata, teman dekat saudara saya adalah perancang yang luar biasa! Dia segera setuju untuk membantu saya, dan desain game saat ini adalah kelebihannya.
Versi final dari desainPosting
Setelah menyelesaikan pekerjaan pada versi rilis, saya segera mulai menyiapkan aplikasi untuk publikasi di Google Play Market. Prosedur standar: memperoleh akun pengembang, menyusun halaman aplikasi, dll. Tetapi bagian ini bukan tentang itu.
Hal yang paling menakjubkan dalam cerita ini adalah statistik unduhan. Pada awalnya, jumlah unduhan DrumHero meningkat secara bertahap dan hampir seragam di beberapa negara Eropa, AS, dan negara-negara CIS, tetapi satu bulan berlalu dan jumlah unduhan mencapai angka 100.000 unduhan! Fakta yang menarik adalah bahwa sebagian besar unduhan berasal dari Indonesia.
Kesimpulan
DrumHero adalah proyek besar pertama saya di mana saya belajar memprogram. Dia tidak hanya membawa saya ke final All-Rusia dari kompetisi proyek TI SAMSUNG SCHOOLS, tetapi juga memberi saya pengalaman hebat dalam desain grafis, di GameDev, dalam hubungannya dengan layanan Play Market dan banyak lagi.

Tentu saja, sekarang saya melihat banyak kekurangan dalam permainan, meskipun hari ini jumlah unduhan telah mencapai hampir 200.000. Rencana saya adalah untuk merilis versi baru, saya punya ide tentang bagaimana meningkatkan stabilitas, meningkatkan gameplay dan meningkatkan jumlah unduhan.
Bantuan:
SEKOLAH ITU SAMSUNG adalah program pendidikan penuh waktu gratis gratis untuk siswa sekolah menengah, ini bekerja di 25 kota di Rusia.
Proyek Kelulusan Mahasiswa adalah aplikasi mobile. Ini bisa berupa permainan, aplikasi sosial, penjadwal - semua yang mereka inginkan.
Anda dapat mendaftar untuk pelatihan mulai September 2019 di situs web program.