DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Tahun ini program sosial dan pendidikan IT SCHOOL SAMSUNG genap berusia 5 tahun (baca tentang IT SCHOOL di sini), dan pada kesempatan kali ini kami mengajak para lulusan kami untuk berbicara tentang dirinya dan pengalamannya dalam membuat aplikasi mobile. Kami percaya bahwa dengan banyak keinginan, semua orang bisa meraih kesuksesan!

Tamu pertama di bagian ini adalah Shamil Magomedov, lulusan SAMSUNG IT SCHOOL tahun 2017, sekarang menjadi siswa di MIEM NRU HSE. Shamil, terima kasih banyak telah meluangkan waktu untuk menulis artikel ini, meskipun jadwal Anda padat!

Hello!
Hari ini saya ingin berbicara tentang bagaimana saya beralih dari “diterima secara bersyarat” ke SAMSUNG IT SCHOOL menjadi finalis dalam kompetisi pengembangan seluler Seluruh Rusia berkat game tersebut Pahlawan Drum.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

prasejarah

Saya masuk SEKOLAH IT ketika saya kelas 10. Sejak hari-hari pertama pelatihan, saya tertinggal dari teman-teman lainnya, dan ini sudah dapat diprediksi bahkan sebelum kursus dimulai (hal ini dibuktikan dengan nilai ujian masuk saya yang sangat rendah). Semua prinsip pemrograman ini, struktur platform Android dan bahasa Java, bagaimana memahami semuanya?

Untungnya, saya memiliki semua yang saya butuhkan untuk berhasil menguasai keterampilan pengembangan: keinginan tanpa batas untuk maju dan tidak berhenti.

Mencurahkan banyak waktu untuk pekerjaan rumah, terus-menerus lembur setelah kelas dengan guru Vladimir Vladimirovich Ilyin (saya sangat beruntung bersamanya), saya mulai beradaptasi dengan kecepatan belajar yang cepat dan memikirkan proyek kelulusan saya.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Dengan guru - V.V.Ilyin

Cari ide

Banyak orang berpikir bahwa ketika membuat sebuah proyek, baik itu startup atau sesuatu yang kecil untuk mendapatkan pengalaman, seluruh kesulitannya terletak pada pengembangan: menulis banyak kode, mempelajari perpustakaan baru, terus-menerus menguji - horor! Percayalah, ini tidak benar sama sekali. Saya beralasan dengan cara yang persis sama sampai saya sendiri dihadapkan pada kebutuhan untuk memilih dan mengimplementasikan sebuah ide; ternyata itu adalah salah satu tahapan yang paling sulit.

Hal tersulit dalam memilih ide pada tahap awal pembelajaran adalah menentukan kompleksitas implementasi: sudah lama saya tidak dapat menemukan aplikasi yang dapat saya lakukan dan sekaligus sukai.

Yang terpenting, saya ingin menulis permainan musikal, tetapi keraguan tentang kemampuan saya benar-benar menghalangi saya. Tampaknya pekerjaan itu tidak dapat diselesaikan, dan karena alasan ini saya mengubah pilihan saya lebih dari sekali: biliar keliling, bowling, pelari, dll. Pada akhirnya, saya mendapat satu pelajaran dari ini: kesulitan akan selalu muncul, terlepas dari ide aplikasinya, dan karenanya yang paling penting adalah memilih apa yang Anda suka dan melanjutkan ke akhir.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Saya selalu menyukai permainan Guitar Hero

Implementasi logika permainan

Ide dasar di balik aplikasi seperti Guitar Hero adalah mengetuk layar mengikuti irama musik.
Pertama-tama, saya mulai menerapkan logika permainan:

  1. Kelas nada, tombol, dan garis yang dibuat di mana nada akan bergerak.
  2. Saya menempatkan kanvas di seluruh layar aplikasi dan di atasnya saya sudah menjelaskan lokasi objek dari kelas yang dibuat.
  3. Menerapkan peluncuran file mp3 secara bersamaan dari sebuah lagu dan serangkaian catatan yang diperoleh dari database dan voila! Draf pertama game ini sudah ada di ponsel cerdas saya :)

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Versi pertama permainan

Ya, itu terlihat “mengesankan”, tetapi itu hampir cukup untuk menguji permainannya! Langkah terakhir yang diperlukan adalah membuat daftar not untuk lagu tersebut, dan saya harus menghabiskan banyak waktu untuk mengerjakan implementasinya.
Prinsipnya cukup sederhana: dengan menggunakan nilai tabel database, program membuat objek kelas "Catatan" dan menambahkan catatan yang dihasilkan ke dalam array. Tabel ini terdiri dari dua kolom:

  • nomor baris dari 1 sampai 4 yang menjadi tujuan catatan itu dan
  • waktu di mana itu akan muncul di layar.

Mengapa saya menghabiskan banyak waktu jika semuanya begitu sederhana? Untuk mengisi database ini!
Sayangnya, pada saat itu saya tidak dapat menemukan cara mengotomatiskan proses mendapatkan lembaran musik dalam format yang saya perlukan dari file mp3 lagu tersebut, sehingga saya harus mengisi kolom-kolom ini secara manual.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Proses pengisian database dengan catatan

Metode ini memungkinkan saya untuk mulai mengembangkan dan menguji permainan sejak dini, namun jelas bahwa saya perlu menemukan sesuatu yang berbeda. Di sini guru saya, Ilyin Vladimir Vladimirovich, banyak membantu saya, yang berbicara tentang keberadaan format MIDI, menjelaskan strukturnya dan membantu saya mengetahui perpustakaan yang saya temukan untuk bekerja dengan file MIDI.

Keindahan format ini adalah bahwa setiap instrumen sudah memiliki track terpisah di mana “not” tertentu berada. Dengan cara ini, Anda dapat dengan mudah mengulang semua catatan dan, bergantung pada trek dan waktu, secara otomatis menambahkannya ke database. Ini adalah properti yang sangat penting, karena berkat itulah saya dapat memecahkan masalah game bergenre ini: ketidakmampuan untuk menambahkan lagu saya sendiri. Benar, format MIDI memiliki kelemahan besar - suaranya (kita semua ingat melodi di game retro, bukan?).

Secara bertahap meningkatkan gameplay, saya membawa program ke kondisi berfungsi penuh, menambahkan banyak “fitur”: kemampuan untuk menambahkan lagu Anda sendiri dari memori perangkat atau dari katalog cloud, pilihan tingkat kesulitan, mode pemula dan banyak lagi.
Dan akhirnya saya sampai pada “ceri di atas kue”…

Disain

Di sinilah perwujudan “visi” saya terhadap permainan dimulai. Pertama-tama, saya mulai memilih program menggambar. Saya tidak punya pengalaman dalam desain grafis, jadi saya membutuhkan program yang mudah dipelajari (Omong-omong, Photoshop), tetapi juga fleksibel dan nyaman (Paint, maaf). Pilihan jatuh pada Inkscape - alat yang bagus untuk mengedit gambar vektor, terutama dalam format svg.

Setelah menjadi lebih akrab dengan program ini, saya mulai menggambar setiap elemen permainan dan menyimpannya dalam resolusi berbeda, sesuai untuk ukuran layar perangkat berbeda. Ada juga upaya untuk mengimplementasikan animasi ledakan nada, dan meskipun desain yang dihasilkan tidak sesuai, saya tetap senang. Tentu saja, bersamaan dengan penyelesaian proyek, saya terus mengerjakan desain, menambahkan warna baru (gradien adalah cinta “pada pandangan pertama”).

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Desain versi pertama (dua layar, tanpa animasi, nama lama)

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Desain versi kedua (4 layar, layar awal berdenyut mulus dengan warna berbeda, gradien di mana-mana)

Saya mempertahankan tugas akhir saya dan sangat senang ketika mengetahui saya lolos babak kualifikasi dan diundang ke final kompetisi aplikasi IT SCHOOL. Saya memiliki waktu sekitar satu bulan tersisa sebelum kompetisi, dan saya serius berpikir untuk mempekerjakan orang yang lebih profesional di bidang desain. Pencariannya tidak sia-sia: ternyata, teman dekat saudara laki-laki saya adalah seorang desainer yang hebat! Dia segera setuju untuk membantu saya, dan desain game saat ini adalah penghargaannya.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Desain akhir

Publikasi

Setelah menyelesaikan pengerjaan versi rilis, saya segera mulai mempersiapkan aplikasi untuk dipublikasikan di Google Play Market. Prosedur standar: memperoleh akun pengembang, membuat halaman aplikasi, dll. Namun bagian ini bukan tentang itu.

Hal yang paling mengejutkan dalam cerita ini adalah statistik unduhan. Pada awalnya, jumlah download DrumHero meningkat secara bertahap dan hampir merata di beberapa negara Eropa, Amerika Serikat dan negara-negara CIS, namun sebulan berlalu dan jumlah download mencapai 100 download! Fakta menariknya, sebagian besar unduhan berasal dari Indonesia.

Kesimpulan

DrumHero adalah proyek serius pertama saya tempat saya belajar pemrograman. Dia tidak hanya membawa saya ke final kompetisi proyek SAMSUNG IT SCHOOL se-Rusia, tetapi juga memberi saya banyak pengalaman dalam desain grafis, GameDev, interaksi dengan layanan Play Market, dan banyak lagi.

DrumHero: Bagaimana saya membuat game pertama dalam hidup saya

Tentu saja sekarang saya melihat banyak kekurangan pada game tersebut, meskipun saat ini jumlah download sudah mencapai hampir 200. Rencana saya adalah merilis versi baru, ada ide bagaimana meningkatkan stabilitas, meningkatkan gameplay, dan meningkatkan jumlah download.

Bantuan:
SAMSUNG IT SCHOOL adalah program pendidikan tambahan penuh waktu gratis untuk siswa sekolah menengah, yang beroperasi di 25 kota di Rusia.
Proyek kelulusan siswa adalah aplikasi mobile. Bisa berupa permainan, aplikasi sosial, perencana, apa pun yang mereka inginkan.
Anda dapat mendaftar untuk pelatihan mulai September 2019 di Online program.


Sumber: www.habr.com

Tambah komentar