Este ano o programa social e educativo IT SCHOOL SAMSUNG cumpre 5 anos (le sobre IT SCHOOL
O primeiro convidado deste tipo nesta sección foi Shamil Magomedov, graduado en 2017 da SAMSUNG IT SCHOOL, agora estudante en MIEM NRU HSE. Shamil, moitas grazas por dedicar o tempo a escribir este artigo, a pesar da túa apretada axenda!
Ola a todos!
Hoxe gustaríame falar de como pasei de ser "admitido condicionalmente" á SAMSUNG IT SCHOOL a finalista na competición de desenvolvemento móbil de toda Rusia grazas ao xogo.
prehistoria
Entrei na ESCOLA DE TI cando estaba en 10o de primaria. Desde os primeiros días de adestramento, quedei por detrás dos outros rapaces, e isto era previsible mesmo antes do comezo do curso (isto foi evidenciado polas miñas puntuacións horriblemente baixas nos exames de acceso). Todos estes principios de programación, a estrutura da plataforma Android e a linguaxe Java, como entendelo todo?
Afortunadamente, tiña todo o que necesitaba para dominar con éxito as habilidades de desenvolvemento: un desexo ilimitado de seguir adiante e non parar.
Dedicando moito tempo aos deberes, quedando constantemente ata tarde despois das clases co profesor Vladimir Vladimirovich Ilyin (tiven unha gran sorte con el), comecei a adaptarme ao ritmo rápido de aprendizaxe e a pensar no meu proxecto de graduación.
Co profesor - V.V. Ilyin
Busca unha idea
Moita xente pensa que ao crear un proxecto, xa sexa unha startup ou algo pequeno para gañar experiencia, toda a dificultade reside no desenvolvemento: escribir un montón de código, aprender novas bibliotecas, probar constantemente, ¡horror! Créame, isto non é certo en absoluto. Razonei exactamente do mesmo xeito ata que eu mesmo me atopei coa necesidade de escoller e poñer en práctica unha idea, resultou ser unha das etapas máis difíciles.
O máis difícil ao elixir unha idea na etapa inicial da aprendizaxe é determinar a complexidade da implementación: durante moito tempo non puiden chegar a unha aplicación que puidese facer e ao mesmo tempo que me gustase.
Sobre todo, quería escribir un xogo musical, pero as dúbidas sobre as miñas habilidades realmente me interviron. Parecía que non sería posible rematar o traballo, e por iso cambiei máis dunha vez a miña opción: billarda móbil, bolos, corredor, etc. Ao final, aprendín unha lección disto: sempre aparecerán dificultades, independentemente da idea de aplicación, e polo tanto o máis importante é escoller o que che gusta e ir ata o final.
Sempre me gustou o xogo Guitar Hero
Implantación da lóxica de xogo
A idea básica de aplicacións como Guitar Hero é tocar a pantalla ao ritmo da música.
Primeiro de todo, comecei a implementar a lóxica do xogo:
- Creáronse clases de notas, botóns e franxas ao longo das cales se moverán as notas.
- Coloquei o lenzo en toda a pantalla da aplicación e nel xa describín a localización dos obxectos das clases creadas.
- Implementouse o lanzamento simultáneo dun ficheiro mp3 dunha canción e unha serie de notas obtidas da base de datos e listo! Os primeiros borradores do xogo xa están no meu smartphone :)
Primeira versión do xogo
Si, parece "impresionante", pero case foi suficiente para probar o xogo! O último paso necesario foi a lista de notas para a canción, e tiven que dedicar moito tempo a traballar na súa implementación.
O principio é bastante sinxelo: usando os valores da táboa de base de datos, o programa crea obxectos da clase "Nota" e engade as notas resultantes á matriz. A táboa consta de dúas columnas:
- número de liña do 1 ao 4 no que debe ir a nota e
- a hora na que debería aparecer na pantalla.
Por que pasei moito tempo se todo é tan sinxelo? Para encher esta base de datos!
Desafortunadamente, nese momento non podía descubrir como automatizar o proceso de obter a partitura no formato que necesitaba a partir dun ficheiro mp3 da canción, polo que tiven que encher manualmente estas columnas de oído.
O proceso de encher a base de datos con notas
Este método permitiume comezar a desenvolver e probar o xogo desde o principio, pero estaba claro que necesitaba crear algo diferente. Aquí axudoume moito o meu profesor, Ilyin Vladimir Vladimirovich, quen falou da existencia do formato MIDI, explicou a súa estrutura e axudoume a descubrir a biblioteca que atopara para traballar con ficheiros MIDI.
A beleza deste formato é que nel cada instrumento xa é unha pista separada na que se sitúan certas "notas". Deste xeito, podes recorrer facilmente todas as notas e, dependendo da pista e da hora, engadilas automaticamente á base de datos. Esta é unha propiedade moi importante, porque foi grazas a ela que puiden resolver o problema dos xogos deste xénero: a imposibilidade de engadir as miñas propias cancións. É certo que o formato MIDI ten unha gran desvantaxe: o son (todos lembramos melodías nos xogos retro, non?).
Mellorando gradualmente o xogo, levei o programa a un estado de funcionamento completo, engadín moitas "características": a posibilidade de engadir a túa propia canción desde a memoria do dispositivo ou desde un catálogo na nube, elección do nivel de dificultade, modo principiante e moito máis.
E por fin cheguei ao "cherry on the cake"...
Proxecto
Aquí é onde comezou a encarnación da miña "visión" do xogo. En primeiro lugar, comecei a escoller un programa de debuxo. Non tiña experiencia en deseño gráfico, polo que necesitaba un programa fácil de aprender (Photoshop, por certo), pero tamén flexible e cómodo (Paint, perdón). A elección recaeu en Inkscape, unha boa ferramenta para editar imaxes vectoriais, principalmente no formato svg.
Unha vez familiarizado un pouco máis con este programa, comecei a debuxar cada elemento do xogo e gardalo en diferentes resolucións, axeitadas para diferentes tamaños de pantalla do dispositivo. Tamén houbo intentos de implementar unha animación da explosión de notas e, a pesar da inadecuación do deseño resultante, quedei satisfeito. Por suposto, paralelamente á finalización do proxecto, seguín traballando no deseño, engadindo novas cores (os degradados son amor "a primeira vista").
Primeira versión do deseño (dúas pantallas, sen animación, nome antigo)
Segunda versión do deseño (4 pantallas, a pantalla inicial pulsa suavemente con diferentes cores, degradados por todas partes)
Defendín o meu proxecto de fin de carreira e quedei moi contento cando me enterei de que pasara a fase de clasificación e me invitaron á final do concurso de solicitudes da ESCOLA INFORMÁTICA. Quedaba un mes para o concurso, e pensei seriamente en contratar unha persoa máis profesional no eido do deseño. A busca non foi en balde: como se viu, o amigo íntimo do meu irmán é un excelente deseñador! Inmediatamente aceptou axudarme, e o deseño do xogo actual é o seu mérito.
Deseño final
Publicación
Despois de completar o traballo na versión de lanzamento, inmediatamente comecei a preparar a aplicación para a súa publicación no Google Play Market. Procedemento estándar: adquisición dunha conta de programador, creación dunha páxina de aplicación, etc. Pero esta sección non trata diso.
O máis sorprendente desta historia son as estatísticas de descarga. Ao principio, o número de descargas de DrumHero aumentou gradualmente e case uniformemente nalgúns países europeos, os Estados Unidos e os países da CEI, pero pasou un mes e o número de descargas chegou a 100 descargas. Un dato interesante é que a maioría das descargas proviñan de Indonesia.
Conclusión
DrumHero é o meu primeiro proxecto serio onde aprendín a programar. Non só me levou á final rusa do concurso de proxectos SAMSUNG IT SCHOOL, senón que tamén me deu moita experiencia en deseño gráfico, GameDev, interacción co servizo Play Market e moito máis.
Por suposto, agora vexo moitas carencias no xogo, aínda que hoxe en día o número de descargas chegou a case 200 000. Os meus plans son lanzar unha nova versión, hai ideas sobre como aumentar a estabilidade, mellorar o xogo e aumentar o número de descargas.
FAQ:
SAMSUNG IT SCHOOL é un programa de educación adicional gratuíto a tempo completo para estudantes de secundaria, que opera en 25 cidades de Rusia.
O proxecto de graduación dos estudantes é unha aplicación móbil. Podería ser un xogo, unha aplicación social, un planificador, o que queiran.
Podes solicitar a formación a partir de setembro de 2019 en
Fonte: www.habr.com