DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

In diesem Jahr wird das Sozial- und Bildungsprogramm IT SCHOOL SAMSUNG 5 Jahre alt (lesen Sie mehr über IT SCHOOL hier), und bei dieser Gelegenheit haben wir unsere Absolventen eingeladen, über sich selbst und ihre Erfahrungen bei der Erstellung ihrer mobilen Anwendungen zu sprechen. Wir glauben, dass jeder mit viel Willen Erfolg haben kann!

Der erste Gast dieser Art in diesem Bereich war Shamil Magomedov, ein Absolvent der SAMSUNG IT SCHOOL im Jahr 2017, jetzt Student an der MIEM NRU HSE. Shamil, vielen Dank, dass Sie sich trotz Ihres vollen Terminkalenders die Zeit genommen haben, diesen Artikel zu schreiben!

Hallo an alle!
Heute möchte ich darüber sprechen, wie ich dank des Spiels von einer „bedingten Zulassung“ zur SAMSUNG IT SCHOOL zu einem Finalisten im Allrussischen Wettbewerb für mobile Entwicklung geworden bin DrumHero.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Vorgeschichte

Ich bin in die Informatikschule gekommen, als ich in der 10. Klasse war. Von den ersten Tagen des Trainings an hinkte ich den anderen Jungs hinterher, und das war bereits vor Kursbeginn vorhersehbar (das zeigte sich an meinen erschreckend niedrigen Ergebnissen bei den Aufnahmeprüfungen). All diese Programmierprinzipien, die Struktur der Android-Plattform und der Java-Sprache, wie ist das alles zu verstehen?

Glücklicherweise hatte ich alles, was ich brauchte, um Entwicklungskompetenzen erfolgreich zu meistern: den grenzenlosen Wunsch, voranzukommen und nicht stehen zu bleiben.

Ich widmete viel Zeit den Hausaufgaben und blieb nach dem Unterricht ständig lange bei Lehrer Wladimir Wladimirowitsch Iljin (ich hatte unglaubliches Glück mit ihm) und begann, mich an das schnelle Lerntempo anzupassen und über mein Abschlussprojekt nachzudenken.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Mit Lehrer - V.V. Ilyin

Suche nach einer Idee

Viele Leute denken, dass beim Erstellen eines Projekts, sei es ein Startup oder etwas Kleines, um Erfahrungen zu sammeln, die ganze Schwierigkeit in der Entwicklung liegt: eine Menge Code schreiben, neue Bibliotheken lernen, ständig testen – Horror! Glauben Sie mir, das stimmt überhaupt nicht. Ich habe genauso argumentiert, bis ich selbst vor der Notwendigkeit stand, eine Idee auszuwählen und umzusetzen; es stellte sich heraus, dass es sich um eine der schwierigsten Phasen handelte.

Das Schwierigste bei der Auswahl einer Idee in der Anfangsphase des Lernens ist die Bestimmung der Komplexität der Umsetzung: Lange Zeit konnte ich keine Anwendung finden, die ich umsetzen konnte und die mir gleichzeitig gefällt.

Am liebsten wollte ich ein Musikspiel schreiben, aber Zweifel an meinen Fähigkeiten störten mich wirklich. Es schien, dass es nicht möglich sein würde, die Arbeit zu Ende zu bringen, und aus diesem Grund habe ich meine Wahl mehr als einmal geändert: mobiles Billard, Bowling, Läufer usw. Letztendlich habe ich daraus eine Lektion gelernt: Es wird immer Schwierigkeiten geben, unabhängig von der Anwendungsidee, und daher Das Wichtigste ist, auszuwählen, was Ihnen gefällt, und bis zum Ende zu gehen.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Das Spiel Guitar Hero hat mir schon immer gefallen

Implementierung der Spiellogik

Die Grundidee von Apps wie Guitar Hero besteht darin, im Rhythmus der Musik auf den Bildschirm zu tippen.
Zunächst begann ich mit der Implementierung der Spiellogik:

  1. Es wurden Notenklassen, Schaltflächen und Streifen erstellt, entlang derer sich die Noten bewegen.
  2. Ich habe die Leinwand auf dem gesamten Bildschirm der Anwendung platziert und darauf bereits die Position der Objekte der erstellten Klassen beschrieben.
  3. Der gleichzeitige Start einer MP3-Datei eines Liedes und einer Reihe von Noten aus der Datenbank wurde implementiert und voilà! Die ersten Entwürfe des Spiels sind bereits auf meinem Smartphone :)

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

ервая версия игры

Ja, es sieht „beeindruckend“ aus, aber es hat fast gereicht, um das Spiel zu testen! Der letzte notwendige Schritt war die Liste der Noten für den Song, und ich musste viel Zeit mit der Umsetzung verbringen.
Das Prinzip ist ganz einfach: Aus den Werten der Datenbanktabelle erstellt das Programm Objekte der Klasse „Note“ und fügt die resultierenden Notizen dem Array hinzu. Die Tabelle besteht aus zwei Spalten:

  • Zeilennummer von 1 bis 4, auf der die Notiz stehen soll und
  • den Zeitpunkt, zu dem es auf dem Bildschirm erscheinen soll.

Warum habe ich so viel Zeit aufgewendet, wenn doch alles so einfach ist? Um diese Datenbank zu füllen!
Leider konnte ich zu diesem Zeitpunkt nicht herausfinden, wie ich den Prozess automatisieren kann, um die Noten in dem von mir benötigten Format aus einer MP3-Datei des Liedes zu erhalten, und so musste ich diese Spalten manuell nach Gehör ausfüllen.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Der Vorgang des Füllens der Datenbank mit Notizen

Diese Methode ermöglichte es mir, schon früh mit der Entwicklung und dem Testen des Spiels zu beginnen, aber es war klar, dass ich mir etwas anderes einfallen lassen musste. Hier hat mir mein Lehrer Iljin Wladimir Wladimirowitsch sehr geholfen, der über die Existenz des MIDI-Formats sprach, seine Struktur erklärte und mir half, die Bibliothek herauszufinden, die ich für die Arbeit mit MIDI-Dateien gefunden hatte.

Das Schöne an diesem Format ist, dass darin jedes Instrument bereits eine eigene Spur ist, auf der sich bestimmte „Noten“ befinden. Auf diese Weise können Sie ganz einfach alle Notizen durchlaufen und je nach Titel und Zeit automatisch zur Datenbank hinzufügen. Dies ist eine sehr wichtige Eigenschaft, denn dank ihr konnte ich das Problem von Spielen dieses Genres lösen: die Unfähigkeit, eigene Songs hinzuzufügen. Das MIDI-Format hat zwar einen großen Nachteil – den Klang (wir alle erinnern uns an Melodien aus Retro-Spielen, oder?).

Nach und nach verbesserte ich das Gameplay, brachte das Programm in einen voll funktionsfähigen Zustand und fügte viele „Funktionen“ hinzu: die Möglichkeit, einen eigenen Song aus dem Speicher des Geräts oder aus einem Cloud-Katalog hinzuzufügen, die Wahl des Schwierigkeitsgrads, den Anfängermodus und vieles mehr.
Und schließlich kam ich zum „Tüpfelchen auf dem i“ …

Design

Hier begann die Verkörperung meiner „Vision“ des Spiels. Als erstes habe ich mich für ein Zeichenprogramm entschieden. Ich hatte keine Erfahrung im Grafikdesign und brauchte daher ein Programm, das leicht zu erlernen war (Photoshop übrigens), aber auch flexibel und praktisch (Paint, sorry). Die Wahl fiel auf Inkscape – ein gutes Tool zum Bearbeiten von Vektorbildern, hauptsächlich im SVG-Format.

Nachdem ich mit diesem Programm etwas vertrauter geworden war, begann ich, jedes Element des Spiels zu zeichnen und es in verschiedenen Auflösungen zu speichern, die für verschiedene Bildschirmgrößen des Geräts geeignet waren. Es gab auch Versuche, eine Animation der Notenexplosion umzusetzen, und obwohl das resultierende Design ungeeignet war, war ich zufrieden. Natürlich habe ich parallel zur Fertigstellung des Projekts weiter am Design gearbeitet und neue Farben hinzugefügt (Verläufe sind „Liebe auf den ersten Blick“).

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Erste Version des Designs (zwei Bildschirme, keine Animation, alter Name)

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Zweite Version des Designs (4 Bildschirme, der erste Bildschirm pulsiert sanft mit verschiedenen Farben, überall Farbverläufe)

Ich verteidigte mein Abschlussprojekt und freute mich sehr, als ich erfuhr, dass ich die Qualifikationsrunde bestanden hatte und zum Finale des IT SCHOOL-Bewerbungswettbewerbs eingeladen wurde. Bis zum Wettbewerb blieb mir noch etwa ein Monat und ich dachte ernsthaft darüber nach, eine professionellere Person im Bereich Design einzustellen. Die Suche war nicht umsonst: Wie sich herausstellte, ist der enge Freund meines Bruders ein ausgezeichneter Designer! Sie erklärte sich sofort bereit, mir zu helfen, und das aktuelle Spieldesign ist ihr Verdienst.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Endgültiges Design

Veröffentlichung

Nachdem ich die Arbeit an der Release-Version abgeschlossen hatte, begann ich sofort mit der Vorbereitung des Antrags für die Veröffentlichung im Google Play Market. Standardverfahren: Erwerb eines Entwicklerkontos, Erstellen einer Anwendungsseite usw. Aber darum geht es in diesem Abschnitt nicht.

Das Überraschendste an dieser Geschichte sind die Download-Statistiken. Zunächst stieg die Zahl der DrumHero-Downloads in einigen europäischen Ländern, den USA und den GUS-Staaten allmählich und nahezu gleichmäßig an, aber nach einem Monat erreichte die Zahl der Downloads 100 Downloads! Interessant ist, dass die meisten Downloads aus Indonesien kamen.

Abschluss

DrumHero ist mein erstes ernsthaftes Projekt, bei dem ich das Programmieren gelernt habe. Er brachte mich nicht nur zum gesamtrussischen Finale des SAMSUNG IT SCHOOL-Projektwettbewerbs, sondern vermittelte mir auch viel Erfahrung in Grafikdesign, GameDev, Interaktion mit dem Play Market-Dienst und vielem mehr.

DrumHero: Wie ich das erste Spiel in meinem Leben gemacht habe

Natürlich sehe ich jetzt viele Mängel im Spiel, obwohl die Anzahl der Downloads heute fast 200 erreicht hat. Meine Pläne sind die Veröffentlichung einer neuen Version, es gibt Ideen, wie man die Stabilität erhöhen, das Gameplay verbessern und die Anzahl der Downloads erhöhen kann.

Information:
SAMSUNG IT SCHOOL ist ein kostenloses Vollzeit-Zusatzbildungsprogramm für Oberstufenschüler, das in 25 Städten Russlands durchgeführt wird.
Das Abschlussprojekt der Studierenden ist eine mobile Anwendung. Es könnte ein Spiel, eine soziale App, ein Planer oder was auch immer sie wollen sein.
Ab September 2019 können Sie sich für eine Ausbildung bewerben unter Webseite Programme.


Source: habr.com

Kommentar hinzufügen