DrumHero : Comment j'ai créé le premier jeu de ma vie

Cette année, le programme social et éducatif IT SCHOOL SAMSUNG fête ses 5 ans (en savoir plus sur IT SCHOOL ici), et à cette occasion nous avons invité nos diplômés à parler d'eux et de leur expérience dans la création de leurs applications mobiles. Nous pensons qu’avec beaucoup d’envie, tout le monde peut réussir !

Le premier invité de cette section était Shamil Magomedov, diplômé en 2017 de SAMSUNG IT SCHOOL, maintenant étudiant au MIEM NRU HSE. Shamil, merci beaucoup d'avoir pris le temps d'écrire cet article, malgré votre emploi du temps chargé !

Bonjour à tous!
Aujourd'hui, je voudrais parler de la façon dont je suis passé d'« admis sous condition » à la SAMSUNG IT SCHOOL à finaliste du concours panrusse de développement mobile grâce au jeu TambourHéros.

DrumHero : Comment j'ai créé le premier jeu de ma vie

Préhistoire

Je suis entré à l'école d'informatique quand j'étais en 10e année. Dès les premiers jours de formation, j'étais à la traîne par rapport aux autres, et cela était prévisible avant même le début du cours (en témoignent mes résultats horriblement bas à l'examen d'entrée). Tous ces principes de programmation, la structure de la plateforme Android et le langage Java, comment tout comprendre ?

Heureusement, j'avais tout ce dont j'avais besoin pour maîtriser avec succès les compétences de développement : une envie sans limite d'avancer et de ne pas m'arrêter.

Consacrant beaucoup de temps aux devoirs, restant constamment tard après les cours avec le professeur Vladimir Vladimirovitch Ilyin (j'ai eu une chance incroyable avec lui), j'ai commencé à m'adapter au rythme rapide de l'apprentissage et à réfléchir à mon projet de fin d'études.

DrumHero : Comment j'ai créé le premier jeu de ma vie

Avec professeur - V.V. Ilyin

Rechercher une idée

Beaucoup de gens pensent que lors de la création d'un projet, qu'il s'agisse d'une startup ou de quelque chose de petit pour acquérir de l'expérience, toute la difficulté réside dans le développement : écrire un tas de code, apprendre de nouvelles bibliothèques, tester constamment - horreur ! Croyez-moi, ce n'est pas vrai du tout. J'ai raisonné exactement de la même manière jusqu'à ce que je sois moi-même confronté à la nécessité de choisir et de mettre en œuvre une idée ; cela s'est avéré être l'une des étapes les plus difficiles.

La chose la plus difficile dans le choix d'une idée au stade initial de l'apprentissage est de déterminer la complexité de la mise en œuvre : pendant longtemps, je n'ai pas pu proposer une application que je pourrais faire et en même temps aimer.

Je voulais surtout écrire un jeu musical, mais les doutes sur mes capacités me gênaient vraiment. Il semblait qu'il ne serait pas possible de terminer le travail, et pour cette raison j'ai changé plus d'une fois mon choix : billard mobile, bowling, coureur, etc. En fin de compte, j’en ai tiré une leçon : des difficultés surgiront toujours, quelle que soit l'idée d'application, et donc le plus important c'est de choisir ce qui te plaît et d'aller jusqu'au bout.

DrumHero : Comment j'ai créé le premier jeu de ma vie

J'ai toujours aimé le jeu Guitar Hero

Implémentation de la logique du jeu

L'idée de base derrière des applications comme Guitar Hero est de toucher l'écran au rythme de la musique.
Tout d'abord, j'ai commencé à implémenter la logique du jeu :

  1. Création de classes de notes, de boutons et de bandes le long desquelles les notes se déplaceront.
  2. J'ai placé le canevas sur tout l'écran de l'application et j'y ai déjà décrit l'emplacement des objets des classes créées.
  3. Implémentation du lancement simultané d'un fichier mp3 d'une chanson et d'un tableau de notes obtenus depuis la base de données et le tour est joué ! Les premières versions du jeu sont déjà sur mon smartphone :)

DrumHero : Comment j'ai créé le premier jeu de ma vie

Première version du jeu

Oui, ça a l’air « impressionnant », mais c’était presque suffisant pour tester le jeu ! La dernière étape nécessaire était la liste des notes de la chanson, et j'ai dû consacrer beaucoup de temps à travailler sur sa mise en œuvre.
Le principe est assez simple : en utilisant les valeurs de la table de la base de données, le programme crée des objets de la classe « Note » et ajoute les notes résultantes au tableau. Le tableau se compose de deux colonnes :

  • numéro de ligne de 1 à 4 sur laquelle doit aller la note et
  • l'heure à laquelle il doit apparaître à l'écran.

Pourquoi ai-je passé beaucoup de temps si tout est si simple ? Pour remplir cette base de données !
Malheureusement, à cette époque, je ne savais pas comment automatiser le processus d'obtention de la partition au format dont j'avais besoin à partir d'un fichier mp3 de la chanson, et j'ai donc dû remplir manuellement ces colonnes à l'oreille.

DrumHero : Comment j'ai créé le premier jeu de ma vie

Le processus de remplissage de la base de données avec des notes

Cette méthode m'a permis de commencer à développer et à tester le jeu très tôt, mais il était clair que je devais proposer quelque chose de différent. Ici, mon professeur, Ilyin Vladimir Vladimirovich, m'a beaucoup aidé, qui m'a parlé de l'existence du format MIDI, m'a expliqué sa structure et m'a aidé à comprendre la bibliothèque que j'avais trouvée pour travailler avec des fichiers MIDI.

La beauté de ce format est que chaque instrument y est déjà une piste distincte sur laquelle se trouvent certaines « notes ». De cette façon, vous pouvez facilement parcourir toutes les notes et, en fonction de la piste et de l'heure, les ajouter automatiquement à la base de données. C'est une propriété très importante, car c'est grâce à elle que j'ai pu résoudre le problème des jeux de ce genre : l'impossibilité d'ajouter mes propres chansons. Certes, le format MIDI a un gros inconvénient : le son (nous nous souvenons tous des mélodies des jeux rétro, n'est-ce pas ?).

En améliorant progressivement le gameplay, j'ai amené le programme à un état pleinement fonctionnel, ajouté de nombreuses « fonctionnalités » : la possibilité d'ajouter votre propre chanson à partir de la mémoire de l'appareil ou d'un catalogue cloud, le choix du niveau de difficulté, le mode débutant et bien plus encore.
Et finalement je suis arrivé à la « cerise sur le gâteau »...

Conception

C’est là que l’incarnation de ma « vision » du jeu a commencé. Tout d’abord, j’ai commencé à choisir un programme de dessin. Je n’avais aucune expérience en conception graphique, j’avais donc besoin d’un programme facile à apprendre (Photoshop, d’ailleurs), mais aussi flexible et pratique (Paint, désolé). Le choix s'est porté sur Inkscape - un bon outil pour éditer des images vectorielles, principalement au format svg.

M'étant un peu familiarisé avec ce programme, j'ai commencé à dessiner chaque élément du jeu et à l'enregistrer dans différentes résolutions, adaptées aux différentes tailles d'écran des appareils. Il y a eu également des tentatives pour mettre en œuvre une animation d'explosion de notes, et malgré l'inadéquation de la conception résultante, j'ai été satisfait. Bien sûr, parallèlement à la finalisation du projet, j'ai continué à travailler sur le design, en ajoutant de nouvelles couleurs (les dégradés sont un coup de foudre).

DrumHero : Comment j'ai créé le premier jeu de ma vie

Première version du design (deux écrans, pas d'animation, ancien nom)

DrumHero : Comment j'ai créé le premier jeu de ma vie

Deuxième version du design (4 écrans, l'écran initial palpite doucement avec différentes couleurs, des dégradés partout)

J'ai défendu mon projet final et j'ai été très heureux d'apprendre que j'avais réussi le tour de qualification et que j'avais été invité à la finale du concours d'application IT SCHOOL. Il me restait environ un mois avant le concours et j'ai sérieusement pensé à embaucher une personne plus professionnelle dans le domaine du design. La recherche n’a pas été vaine : il s’est avéré que l’ami proche de mon frère est un excellent designer ! Elle a immédiatement accepté de m'aider, et la conception actuelle du jeu est à son honneur.

DrumHero : Comment j'ai créé le premier jeu de ma vie

Conception finale

Publication

Après avoir terminé le travail sur la version commerciale, j'ai immédiatement commencé à préparer l'application pour la publication sur le Google Play Market. Procédure standard : acquisition d'un compte développeur, création d'une page de candidature, etc. Mais cette section ne traite pas de cela.

Le plus surprenant dans cette histoire, ce sont les statistiques de téléchargement. Au début, le nombre de téléchargements de DrumHero a augmenté progressivement et presque uniformément dans certains pays européens, aux États-Unis et dans les pays de la CEI, mais un mois s'est écoulé et le nombre de téléchargements a atteint 100 000 téléchargements ! Un fait intéressant est que la plupart des téléchargements provenaient d’Indonésie.

Conclusion

DrumHero est mon premier projet sérieux où j'ai appris à programmer. Il m'a non seulement amené à la finale panrusse du concours de projets SAMSUNG IT SCHOOL, mais m'a également apporté beaucoup d'expérience en conception graphique, GameDev, interaction avec le service Play Market et bien plus encore.

DrumHero : Comment j'ai créé le premier jeu de ma vie

Bien sûr, je vois maintenant de nombreuses lacunes dans le jeu, même si aujourd'hui le nombre de téléchargements a atteint près de 200 000. Mes plans sont de publier une nouvelle version, il y a des idées sur la façon d'augmenter la stabilité, d'améliorer le gameplay et d'augmenter le nombre de téléchargements.

Information:
SAMSUNG IT SCHOOL est un programme de formation complémentaire gratuit à temps plein destiné aux lycéens, opérant dans 25 villes de Russie.
Le projet de fin d'études des étudiants est une application mobile. Cela peut être un jeu, une application sociale, un planificateur, tout ce qu'ils veulent.
Vous pouvez postuler pour une formation à partir de septembre 2019 sur En ligne programmes.


Source: habr.com

Ajouter un commentaire