DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Ngayong taon ang programang panlipunan at pang-edukasyon na IT SCHOOL SAMSUNG ay magiging 5 taong gulang (basahin ang tungkol sa IT SCHOOL dito), at sa pagkakataong ito ay inimbitahan namin ang aming mga nagtapos na pag-usapan ang kanilang sarili at ang kanilang karanasan sa paglikha ng kanilang mga mobile application. Naniniwala kami na sa maraming pagnanais, lahat ay makakamit ang tagumpay!

Ang unang ganoong panauhin sa seksyong ito ay si Shamil Magomedov, isang 2017 graduate ng SAMSUNG IT SCHOOL, ngayon ay isang estudyante sa MIEM NRU HSE. Shamil, maraming salamat sa paglalaan ng oras upang isulat ang artikulong ito, sa kabila ng iyong abalang iskedyul!

Kumusta sa lahat!
Ngayon gusto kong pag-usapan ang tungkol sa kung paano ako napunta mula sa pagiging "conditionally admitted" sa SAMSUNG IT SCHOOL at naging finalist sa All-Russian mobile development competition salamat sa laro. DrumHero.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

prehistory

Pumasok ako sa IT SCHOOL noong grade 10 ako. Mula sa mga unang araw ng pagsasanay, nahuli ako sa iba pang mga lalaki, at ito ay mahuhulaan bago pa man magsimula ang kurso (ito ay napatunayan ng aking napakababang mga marka ng pagsusulit sa pasukan). Ang lahat ng mga prinsipyo ng programming na ito, ang istraktura ng platform ng Android at ang wikang Java, paano maunawaan ang lahat ng ito?

Sa kabutihang palad, mayroon akong lahat ng kailangan ko upang matagumpay na makabisado ang mga kasanayan sa pag-unlad: isang walang hangganang pagnanais na sumulong at hindi huminto.

Naglalaan ng maraming oras sa takdang-aralin, patuloy na nananatili sa huli pagkatapos ng mga klase kasama ang guro na si Vladimir Vladimirovich Ilyin (hindi kapani-paniwalang masuwerte ako sa kanya), nagsimula akong umangkop sa mabilis na bilis ng pag-aaral at iniisip ang aking proyekto sa pagtatapos.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Kasama ang guro - V.V. Ilyin

Maghanap ng ideya

Maraming tao ang nag-iisip na kapag gumagawa ng isang proyekto, ito man ay isang startup o isang bagay na maliit upang makakuha ng karanasan, ang lahat ng kahirapan ay nakasalalay sa pag-unlad: pagsulat ng isang grupo ng mga code, pag-aaral ng mga bagong aklatan, patuloy na pagsubok - horror! Maniwala ka sa akin, ito ay hindi totoo sa lahat. Nangangatuwiran ako sa parehong paraan hanggang sa ako mismo ay nahaharap sa pangangailangang pumili at ipatupad ang isang ideya; ito ay naging isa sa pinakamahirap na yugto.

Ang pinakamahirap na bagay sa pagpili ng ideya sa paunang yugto ng pag-aaral ay ang pagtukoy sa pagiging kumplikado ng pagpapatupad: sa loob ng mahabang panahon ay hindi ako makabuo ng isang aplikasyon na magagawa ko at kasabay nito ay gusto ko.

Higit sa lahat gusto kong magsulat ng musikal na laro, ngunit ang mga pagdududa tungkol sa aking mga kakayahan ay talagang humadlang. Tila hindi posible na tapusin ang trabaho, at sa kadahilanang ito ay binago ko ang aking pinili nang higit sa isang beses: mobile billiards, bowling, runner, atbp. Sa huli, natutunan ko ang isang aral mula dito: ang mga paghihirap ay palaging darating, anuman ang ideya ng aplikasyon, at samakatuwid ang pinakamahalagang bagay ay piliin kung ano ang gusto mo at pumunta sa dulo.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Palagi kong nagustuhan ang larong Guitar Hero

Pagpapatupad ng lohika ng laro

Ang pangunahing ideya sa likod ng mga app tulad ng Guitar Hero ay i-tap ang screen sa ritmo ng musika.
Una sa lahat, sinimulan kong ipatupad ang logic ng laro:

  1. Gumawa ng mga klase ng mga tala, mga pindutan at mga guhit kung saan ang mga tala ay lilipat.
  2. Inilagay ko ang canvas sa buong screen ng application at dito ko na inilarawan ang lokasyon ng mga bagay ng mga nilikhang klase.
  3. Ipinatupad ang sabay-sabay na paglulunsad ng isang mp3 file ng isang kanta at isang hanay ng mga tala na nakuha mula sa database at voila! Ang mga unang draft ng laro ay nasa aking smartphone na :)

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Unang bersyon ng laro

Oo, mukhang "kahanga-hanga", ngunit ito ay halos sapat na upang subukan ang laro! Ang huling kinakailangang hakbang ay ang listahan ng mga tala para sa kanta, at kailangan kong gumugol ng maraming oras sa pagtatrabaho sa pagpapatupad nito.
Ang prinsipyo ay medyo simple: gamit ang mga halaga ng talahanayan ng database, ang programa ay lumilikha ng mga bagay ng klase ng "Tandaan" at idinagdag ang mga nagresultang tala sa array. Ang talahanayan ay binubuo ng dalawang hanay:

  • numero ng linya mula 1 hanggang 4 kung saan dapat pumunta ang tala at
  • ang oras kung kailan dapat itong lumitaw sa screen.

Bakit ako naglaan ng maraming oras kung ang lahat ay napakasimple? Upang punan ang database na ito!
Sa kasamaang palad, sa oras na iyon ay hindi ko maisip kung paano i-automate ang proseso ng pagkuha ng sheet music sa format na kailangan ko mula sa isang mp3 file ng kanta, at kaya kinailangan kong manu-manong punan ang mga column na ito sa pamamagitan ng tainga.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Ang proseso ng pagpuno sa database ng mga tala

Ang pamamaraang ito ay nagpapahintulot sa akin na simulan ang pagbuo at pagsubok sa laro nang maaga, ngunit ito ay malinaw na kailangan kong makabuo ng isang bagay na naiiba. Dito, tinulungan ako ng aking guro na si Ilyin Vladimir Vladimirovich, na nag-usap tungkol sa pagkakaroon ng format ng MIDI, ipinaliwanag ang istraktura nito at tinulungan akong malaman ang library na natagpuan ko para sa pagtatrabaho sa mga MIDI file.

Ang kagandahan ng format na ito ay na sa loob nito ang bawat instrumento ay isang hiwalay na track kung saan matatagpuan ang ilang "mga tala". Sa ganitong paraan, madali mong mai-loop ang lahat ng mga tala at, depende sa track at oras, awtomatikong idagdag ang mga ito sa database. Ito ay isang napakahalagang pag-aari, dahil ito ay salamat dito na nalutas ko ang problema ng mga laro ng ganitong genre: ang kawalan ng kakayahang magdagdag ng sarili kong mga kanta. Totoo, ang format ng MIDI ay may malaking kawalan - tunog (naaalala nating lahat ang mga melodies sa mga retro na laro, tama ba?).

Unti-unting pinahusay ang gameplay, dinala ko ang programa sa isang ganap na gumaganang estado, nagdagdag ng maraming "mga tampok": ang kakayahang magdagdag ng iyong sariling kanta mula sa memorya ng device o mula sa isang cloud catalog, pagpili ng antas ng kahirapan, beginner mode at marami pa.
At sa wakas nakarating ako sa "cherry on the cake"...

Disenyo

Dito nagsimula ang embodiment ng aking "vision" ng laro. Una sa lahat, nagsimula akong pumili ng isang programa sa pagguhit. Wala akong anumang karanasan sa graphic na disenyo, kaya kailangan ko ng isang programa na madaling matutunan (Photoshop, nga pala), ngunit nababaluktot din at maginhawa (Paint, sorry). Ang pagpipilian ay nahulog sa Inkscape - isang mahusay na tool para sa pag-edit ng mga imahe ng vector, pangunahin sa svg na format.

Ang pagkakaroon ng medyo mas pamilyar sa program na ito, sinimulan kong iguhit ang bawat elemento ng laro at i-save ito sa iba't ibang mga resolusyon, na angkop para sa iba't ibang laki ng screen ng device. Mayroon ding mga pagtatangka na ipatupad ang isang animation ng pagsabog ng mga tala, at sa kabila ng hindi kaangkupan ng nagresultang disenyo, ako ay nalulugod. Siyempre, kasabay ng pag-finalize ng proyekto, nagpatuloy ako sa paggawa sa disenyo, pagdaragdag ng mga bagong kulay (gradients ay pag-ibig "sa unang tingin").

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Unang bersyon ng disenyo (dalawang screen, walang animation, lumang pangalan)

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Pangalawang bersyon ng disenyo (4 na mga screen, ang unang screen ay maayos na pumipintig na may iba't ibang kulay, mga gradient sa lahat ng dako)

Ipinagtanggol ko ang aking huling proyekto at laking tuwa ko nang malaman kong nakapasa ako sa qualifying round at naimbitahan ako sa finals ng IT SCHOOL application competition. Mayroon akong halos isang buwan bago ang kumpetisyon, at seryoso kong naisip ang tungkol sa pagkuha ng isang mas propesyonal na tao sa larangan ng disenyo. Ang paghahanap ay hindi walang kabuluhan: tulad ng nangyari, ang malapit na kaibigan ng aking kapatid ay isang mahusay na taga-disenyo! Agad siyang sumang-ayon na tulungan ako, at ang kasalukuyang disenyo ng laro ay ang kanyang kredito.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Panghuling disenyo

Publikasyon

Matapos makumpleto ang trabaho sa bersyon ng paglabas, agad kong sinimulan ang paghahanda ng aplikasyon para sa publikasyon sa Google Play Market. Karaniwang pamamaraan: pagkuha ng developer account, paggawa ng page ng application, atbp. Ngunit ang seksyong ito ay hindi tungkol doon.

Ang pinaka nakakagulat na bagay sa kwentong ito ay ang mga istatistika ng pag-download. Sa una, ang bilang ng mga pag-download ng DrumHero ay unti-unting tumaas at halos pantay-pantay sa ilang mga bansa sa Europa, sa USA at mga bansang CIS, ngunit lumipas ang isang buwan at ang bilang ng mga pag-download ay umabot sa 100 mga pag-download! Ang isang kawili-wiling katotohanan ay ang karamihan sa mga pag-download ay nagmula sa Indonesia.

Konklusyon

Ang DrumHero ang una kong seryosong proyekto kung saan natuto akong magprograma. Hindi lang niya ako dinala sa all-Russian final ng SAMSUNG IT SCHOOL project competition, ngunit binigyan din niya ako ng maraming karanasan sa graphic design, GameDev, pakikipag-ugnayan sa serbisyo ng Play Market at marami pa.

DrumHero: Paano ko ginawa ang unang laro sa aking buhay

Siyempre, ngayon nakikita ko ang maraming mga pagkukulang sa laro, bagaman ngayon ang bilang ng mga pag-download ay umabot sa halos 200. Ang aking mga plano ay maglabas ng isang bagong bersyon, may mga ideya kung paano mapataas ang katatagan, mapabuti ang gameplay at dagdagan ang bilang ng mga pag-download.

FAQ:
Ang SAMSUNG IT SCHOOL ay isang libreng full-time na karagdagang programa sa edukasyon para sa mga mag-aaral sa high school, na tumatakbo sa 25 lungsod ng Russia.
Ang proyekto ng pagtatapos ng mga mag-aaral ay isang mobile application. Maaaring ito ay isang laro, isang social app, isang tagaplano, anuman ang gusto nila.
Maaari kang mag-aplay para sa pagsasanay mula Setyembre 2019 sa Online mga programa.


Pinagmulan: www.habr.com

Magdagdag ng komento