DrumHero: Kiel mi faris la unuan ludon en mia vivo

Ĉi-jare la socia kaj eduka programo IT SCHOOL SAMSUNG plenumas 5 jarojn (legu pri IT LERNEJO tie), kaj ĉi-okaze ni invitis niajn diplomiĝintojn paroli pri si mem kaj ilia sperto pri kreado de siaj moveblaj aplikaĵoj. Ni kredas, ke kun multe da deziro, ĉiuj povas atingi sukceson!

La unua tia gasto en ĉi tiu sekcio estis Shamil Magomedov, diplomiĝinto en 2017 de SAMSUNG IT SCHOOL, nun studento ĉe MIEM NRU HSE. Shamil, koran dankon por preni la tempon por skribi ĉi tiun artikolon, malgraŭ via okupata horaro!

Saluton ĉiuj!
Hodiaŭ mi ŝatus paroli pri kiel mi iris de "kondiĉe akceptita" al la SAMSUNG IT-LErnejo al finalisto en la Tutrusa poŝtelefona evolukonkurso danke al la ludo. DrumHero.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

antaŭhistorio

Mi eniris IT-LERNEJN kiam mi estis en la 10-a klaso. Ekde la unuaj tagoj de trejnado, mi postrestis malantaŭ la aliaj uloj, kaj tio estis antaŭvidebla eĉ antaŭ la komenco de la kurso (tion pruvis miaj terure malaltaj enirekzamenaj poentoj). Ĉiuj ĉi tiuj programaj principoj, la strukturo de la Android-platformo kaj la Java lingvo, kiel kompreni ĉion?

Feliĉe, mi havis ĉion, kion mi bezonis por sukcese regi evoluajn kapablojn: senliman deziron antaŭeniri kaj ne halti.

Dediĉante multan tempon al hejmtasko, konstante restanta malfrue post klasoj kun instruisto Vladimir Vladimirovich Ilyin (mi estis nekredeble bonŝanca kun li), mi komencis adaptiĝi al la rapida lernado kaj pensi pri mia diplomiĝa projekto.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Kun instruisto - V.V. Ilyin

Serĉu ideon

Multaj homoj pensas, ke kiam oni kreas projekton, ĉu ĝi estas ekentrepreno aŭ io malgranda por akiri sperton, la tuta malfacilaĵo kuŝas en la evoluo: verki amason da kodoj, lerni novajn bibliotekojn, senĉese provi - teruro! Kredu min, ĉi tio tute ne veras. Mi rezonis tute same, ĝis mi mem renkontis la bezonon elekti kaj efektivigi ideon; ĝi montriĝis unu el la plej malfacilaj etapoj.

La plej malfacila afero en la elekto de ideo en la komenca etapo de lernado estas determini la kompleksecon de efektivigo: dum longa tempo mi ne povis elpensi aplikaĵon, kiun mi povus fari kaj samtempe ŝati.

Plejparte mi volis skribi muzikan ludon, sed duboj pri miaj kapabloj vere malhelpis. Ŝajnis, ke ne eblos fini la laboron, kaj tial mi ŝanĝis mian elekton pli ol unu fojon: movebla bilardo, boŭlo, kuristo ktp. Finfine, mi lernis unu lecionon el ĉi tio: malfacilaĵoj ĉiam aperos, sendepende de la aplika ideo, kaj tial la plej grava afero estas elekti kion vi ŝatas kaj iri ĝis la fino.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Mi ĉiam ŝatis la ludon Guitar Hero

Efektivigo de ludlogiko

La baza ideo malantaŭ programoj kiel Guitar Hero estas frapeti la ekranon laŭ la ritmo de la muziko.
Antaŭ ĉio, mi komencis efektivigi la ludlogikon:

  1. Kreis klasojn de notoj, butonoj kaj strioj laŭ kiuj moviĝos la notoj.
  2. Mi metis la tolon sur la tutan ekranon de la aplikaĵo kaj sur ĝi mi jam priskribis la lokon de objektoj de la kreitaj klasoj.
  3. Efektivigis la samtempan lanĉon de mp3-dosiero de kanto kaj aro da notoj akiritaj de la datumbazo kaj voila! La unuaj skizoj de la ludo jam estas sur mia inteligenta telefono :)

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Unua versio de la ludo

Jes, ĝi aspektas "impresa", sed preskaŭ sufiĉis por testi la ludon! La lasta necesa paŝo estis la listo de notoj por la kanto, kaj mi devis multe da tempo labori pri ĝia efektivigo.
La principo estas sufiĉe simpla: uzante la valorojn de la datumbaza tabelo, la programo kreas objektojn de la klaso "Noto" kaj aldonas la rezultajn notojn al la tabelo. La tabelo konsistas el du kolumnoj:

  • linio numero de 1 ĝis 4 sur kiu la noto devus iri kaj
  • la tempo en kiu ĝi devus aperi sur la ekrano.

Kial mi pasigis multe da tempo, se ĉio estas tiel simpla? Por plenigi ĉi tiun datumbazon!
Bedaŭrinde, tiam mi ne povis eltrovi kiel aŭtomatigi la procezon akiri la partituron en la formato kiun mi bezonis el mp3-dosiero de la kanto, kaj do mi devis permane plenigi ĉi tiujn kolumnojn per orelo.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

La procezo plenigi la datumbazon per notoj

Ĉi tiu metodo permesis al mi komenci disvolvi kaj testi la ludon frue, sed estis klare, ke mi bezonas elpensi ion malsaman. Ĉi tie multe helpis min mia instruisto, Ilyin Vladimir Vladimiroviĉ, kiu parolis pri la ekzisto de la formato MIDI, klarigis ĝian strukturon kaj helpis min eltrovi la bibliotekon, kiun mi trovis por labori kun MIDI-dosieroj.

La beleco de ĉi tiu formato estas, ke en ĝi ĉiu instrumento jam estas aparta trako, sur kiu troviĝas certaj "notoj". Tiel vi povas facile trarigardi ĉiujn notojn kaj, depende de la trako kaj tempo, aŭtomate aldoni ilin al la datumbazo. Ĉi tio estas tre grava posedaĵo, ĉar danke al ĝi mi povis solvi la problemon de ludoj de ĉi tiu ĝenro: la nekapablo aldoni miajn proprajn kantojn. Vere, la formato MIDI havas grandan malavantaĝon - sonon (ni ĉiuj memoras melodiojn en retroludoj, ĉu ne?).

Iom post iom plibonigante la ludadon, mi alportis la programon al plene funkcia stato, aldonis multajn "trajtojn": la kapablo aldoni vian propran kanton el la memoro de la aparato aŭ el nuba katalogo, elekto de malfacila nivelo, komencanto-reĝimo kaj multe pli.
Kaj finfine mi venis al la "ĉerizo sur la kuko"...

Dezajno

Ĉi tie komenciĝis la formado de mia "vizio" de la ludo. Antaŭ ĉio, mi komencis elekti desegnan programon. Mi ne havis sperton pri grafika dezajno, do mi bezonis programon facile lerneblan (Photoshop, cetere), sed ankaŭ flekseblan kaj oportunan (Paint, pardonu). La elekto falis sur Inkscape - bona ilo por redakti vektorajn bildojn, ĉefe en la svg-formato.

Iom pli konata kun ĉi tiu programo, mi komencis desegni ĉiun elementon de la ludo kaj konservi ĝin en malsamaj rezolucioj, taŭgaj por malsamaj ekranaj grandecoj de aparato. Estis ankaŭ provoj efektivigi animacion de la eksplodo de notoj, kaj malgraŭ la maltaŭgeco de la rezulta dezajno, mi estis kontenta. Kompreneble, paralele al finfinado de la projekto, mi daŭre laboris pri la dezajno, aldonante novajn kolorojn (gradientoj estas amo "unuavide").

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Unua versio de la dezajno (du ekranoj, neniu animacio, malnova nomo)

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Dua versio de la dezajno (4 ekranoj, la komenca ekrano glate pulsas kun malsamaj koloroj, gradientoj ĉie)

Mi defendis mian finan projekton kaj estis tre feliĉa kiam mi eksciis, ke mi trapasis la kvalifikan raŭndon kaj estis invitita al la finalo de la konkurso pri aplikaĵo de IT LERNEJO. Restis al mi ĉirkaŭ unu monato antaŭ la konkurso, kaj mi serioze pensis pri dungi pli profesian personon en la kampo de dezajno. La serĉo ne estis vana: kiel evidentiĝis, la proksima amiko de mia frato estas bonega dezajnisto! Ŝi tuj konsentis helpi min, kaj la nuna luddezajno estas ŝia merito.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Fina dezajno

Publikigo

Fininte laboron pri la eldonversio, mi tuj komencis prepari la aplikaĵon por publikigo en la Google Play Market. Norma proceduro: akirado de programisto, kreado de aplika paĝo ktp. Sed ĉi tiu sekcio ne temas pri tio.

La plej surpriza afero en ĉi tiu rakonto estas la elŝutaj statistikoj. Komence, la nombro da elŝutoj de DrumHero pliiĝis iom post iom kaj preskaŭ egale tra iuj eŭropaj landoj, Usono kaj CIS-landoj, sed pasis monato kaj la nombro da elŝutoj atingis 100 000 elŝutojn! Interesa fakto estas, ke la plimulto de la elŝutoj venis el Indonezio.

konkludo

DrumHero estas mia unua serioza projekto, kie mi lernis programi. Li ne nur venigis min al la tutrusa finalo de la konkurso pri projektoj de SAMSUNG IT SCHOOL, sed ankaŭ donis al mi multan sperton pri grafika dezajno, GameDev, interago kun la servo de Play Market kaj multe pli.

DrumHero: Kiel mi faris la unuan ludon en mia vivo

Kompreneble, nun mi vidas multajn mankojn en la ludo, kvankam hodiaŭ la nombro da elŝutoj atingis preskaŭ 200 000. Miaj planoj estas publikigi novan version, estas ideoj pri kiel pliigi stabilecon, plibonigi ludadon kaj pliigi la nombron de elŝutoj.

Helpo:
SAMSUNG IT SCHOOL estas senpaga plentempa kromeduka programo por gimnazianoj, funkcianta en 25 urboj de Rusio.
La diplomiĝa projekto de studentoj estas movebla aplikaĵo. Ĝi povus esti ludo, socia apo, planisto, kion ajn ili volas.
Vi povas peti trejnadon ekde septembro 2019 ĉe ejo programoj.


fonto: www.habr.com

Aldoni komenton