DrumHero: 人生初のゲームの作り方

今年、社会教育プログラム IT SCHOOL SAMSUNG は 5 周年を迎えます (IT SCHOOL について読む ここで)、この機会に卒業生を招待し、自分自身とモバイル アプリケーション作成の経験について語ってもらいました。 私たちは、多くの願望があれば、誰もが成功を達成できると信じています。

このセクションの最初のゲストは、2017 年に SAMSUNG IT SCHOOL を卒業し、現在 MIEM NRU HSE の学生である Shamil Magomedov でした。 シャミルさん、お忙しい中、この記事を書く時間を割いていただき、誠にありがとうございます!

みなさん、こんにちは!
今日は、私がこのゲームのおかげで、SAMSUNG IT SCHOOL に「条件付き入学」から全ロシアのモバイル開発コンテストのファイナリストにまで上り詰めた方法について話したいと思います。 ドラムヒーロー.

DrumHero: 人生初のゲームの作り方

背景

私は10年生のときにIT SCHOOLに入学しました。 トレーニングの最初の日から、私は他の人たちに遅れをとってしまいましたが、これはコースの開始前から予測できていました(これは私の入学試験のスコアが恐ろしく低いことで証明されました)。 これらすべてのプログラミング原則、Android プラットフォームの構造、Java 言語、それらすべてを理解するにはどうすればよいでしょうか?

幸いなことに、私には開発スキルをうまく習得するために必要なものがすべて揃っていました。つまり、止まらず前進したいという限りない欲求でした。

宿題に多くの時間を費やし、ウラジミール・ウラジミロヴィッチ・イリン先生と一緒に授業後もいつも遅くまで残って(私は彼に信じられないほど幸運でした)、私は速い学習ペースに適応し、卒業プロジェクトについて考え始めました。

DrumHero: 人生初のゲームの作り方

先生と - V.V. イリン

アイデアを探す

多くの人は、プロジェクトを作成するとき、それがスタートアップであろうと、経験を積むための小さなプロジェクトであろうと、すべての困難は開発にあると考えています。つまり、大量のコードを書き、新しいライブラリを学習し、継続的にテストすることです。恐ろしいことです。 信じてください、これは全く真実ではありません。 私自身も、アイデアを選択して実装する必要に直面するまで、まったく同じ方法で推論しましたが、それが最も難しい段階の XNUMX つであることが判明しました。

学習の初期段階でアイデアを選択する際に最も難しいのは、実装の複雑さを判断することです。私は長い間、自分にできて同時に気に入るアプリケーションを思いつくことができませんでした。

何よりも音楽ゲームを書きたかったのですが、自分の能力に対する疑問が邪魔をしていました。 この仕事をやり遂げるのは不可能に思えたので、移動式ビリヤード、ボーリング、ランナーなど、選択を何度も変更しました。 最終的に、私はこのことから XNUMX つの教訓を学びました。 困難は常に起こります、アプリケーションのアイデアに関係なく、したがって 最も重要なことは、好きなものを選択して最後まで進むことです.

DrumHero: 人生初のゲームの作り方

私はいつもギターヒーローというゲームが好きでした

ゲームロジックの実装

Guitar Hero のようなアプリの基本的なアイデアは、音楽のリズムに合わせて画面をタップすることです。
まず最初に、ゲーム ロジックの実装を開始しました。

  1. ノートが移動するノート、ボタン、ストライプのクラスを作成しました。
  2. アプリケーションの画面全体にキャンバスを配置し、その上に作成したクラスのオブジェクトの位置をすでに記述しました。
  3. 曲の MP3 ファイルとデータベースから取得したノートの配列を同時に起動する機能を実装しました。これで出来上がりです。 ゲームの最初のドラフトはすでにスマートフォンにあります:)

DrumHero: 人生初のゲームの作り方

ゲームの最初のバージョン

はい、見た目は「印象的」ですが、ゲームをテストするにはほぼ十分でした。 最後に必要なステップは曲の音符のリストであり、その実装に多くの時間を費やす必要がありました。
原理は非常に単純です。データベース テーブルの値を使用して、プログラムは「Note」クラスのオブジェクトを作成し、結果のメモを配列に追加します。 テーブルは XNUMX つの列で構成されます。

  • 音符を配置する 1 から 4 までの行番号と
  • 画面に表示される時刻。

すべてがとても単純であるなら、なぜ私は多くの時間を費やしたのでしょうか? このデータベースにデータを追加するには!
残念ながら、当時は曲の mp3 ファイルから必要な形式の楽譜を取得するプロセスを自動化する方法がわかりませんでした。そのため、耳でこれらの列を手動で入力する必要がありました。

DrumHero: 人生初のゲームの作り方

データベースにメモを書き込むプロセス

この方法により、早い段階でゲームの開発とテストを開始できましたが、何か別の方法を考え出す必要があることは明らかでした。 ここでは、私の先生であるイリン・ウラジミール・ウラジミロヴィッチが私を大いに助けてくれました。MIDI フォーマットの存在について話し、その構造を説明し、私が MIDI ファイルを扱うために見つけたライブラリを理解するのを助けてくれました。

この形式の利点は、各楽器がすでに特定の「ノート」が配置されている個別のトラックであることです。 このようにして、すべてのノートを簡単にループし、トラックと時間に応じてデータベースに自動的に追加できます。 これは非常に重要な特性です。なぜなら、このジャンルのゲームの問題、つまり独自の曲を追加できないという問題をこの特性のおかげで解決できたからです。 確かに、MIDI 形式にはサウンドという大きな欠点があります (誰もがレトロ ゲームのメロディーを覚えていますよね?)。

ゲームプレイを徐々に改善し、プログラムを完全に動作する状態にし、デバイスのメモリまたはクラウド カタログから独自の曲を追加する機能、難易度レベルの選択、初心者モードなど、多くの「機能」を追加しました。
そしてついに「チェリー・オン・ザ・ケーキ」に辿り着きました…。

デザイン

ここから、私のゲームに対する「ビジョン」の具現化が始まりました。 まず、描画プログラムを選択し始めました。 私にはグラフィック デザインの経験がなかったので、学びやすく (ちなみに Photoshop)、同時に柔軟で便利な (ペイント、ごめんなさい) プログラムが必要でした。 Inkscape は、主に SVG 形式のベクター画像を編集するための優れたツールです。

このプログラムに少し慣れてきたので、ゲームの各要素を描画し、さまざまなデバイスの画面サイズに適したさまざまな解像度で保存し始めました。 音符の爆発のアニメーションを実装する試みもあり、結果として不適当なデザインになったものの、満足できました。 もちろん、プロジェクトの完成と並行して、新しい色を追加してデザインの作業を続けました(グラデーションは「一目惚れ」です)。

DrumHero: 人生初のゲームの作り方

デザインの最初のバージョン (XNUMX 画面、アニメーションなし、旧名)

DrumHero: 人生初のゲームの作り方

デザインの 4 番目のバージョン (XNUMX つの画面、最初の画面はさまざまな色で滑らかに脈動し、あらゆる場所にグラデーションが施されます)

最終プロジェクトを守り抜き、予選を通過し、IT SCHOOL アプリケーションコンテストの決勝戦に招待されたことを知ったときは、とてもうれしかったです。 コンテストまであとXNUMXヶ月ほどあったので、デザイン分野でよりプロフェッショナルな人材を採用したいと真剣に考えました。 捜索は無駄ではありませんでした。結局のところ、兄の親友は優秀なデザイナーだったことが分かりました。 彼女はすぐに私を助けることに同意し、現在のゲームデザインは彼女の功績です。

DrumHero: 人生初のゲームの作り方

最終デザイン

出版物

リリース版の作業が完了した後、すぐに Google Play マーケットで公開するためのアプリケーションの準備を始めました。 標準的な手順:開発者アカウントの取得、アプリケーションページの作成などしかし、このセクションはそれについてではありません。

この話で最も驚くべきことは、ダウンロード統計です。 当初、DrumHero のダウンロード数は、ヨーロッパの一部の国、米国、CIS 諸国でほぼ均等に徐々に増加しましたが、100 か月が経過し、ダウンロード数は 000 ダウンロードに達しました。 興味深い事実は、ダウンロードのほとんどがインドネシアからのものであるということです。

まとめ

DrumHero は、私がプログラミングを学んだ最初の本格的なプロジェクトです。 彼は私を SAMSUNG IT SCHOOL プロジェクト コンテストの全ロシアの決勝戦に連れて行ってくれただけでなく、グラフィック デザイン、ゲーム開発、Play Market サービスとのやり取りなどで多くの経験を与えてくれました。

DrumHero: 人生初のゲームの作り方

もちろん、今ではゲームには多くの欠点があると感じていますが、今日のダウンロード数はほぼ 200 に達しています。私の計画では新しいバージョンをリリースする予定であり、安定性を高め、ゲームプレイを改善し、ダウンロード数を増やす方法についてのアイデアがあります。

ヘルプ:
SAMSUNG IT SCHOOL は、ロシアの 25 都市で運営されている高校生向けの無料の全日制追加教育プログラムです。
学生たちの卒業プロジェクトはモバイル アプリケーションです。 それは、ゲーム、ソーシャル アプリ、プランナーなど、彼らが望むものなら何でも可能です。
2019 年 XNUMX 月以降のトレーニングは以下からお申し込みいただけます。 オンライン プログラム。


出所: habr.com

コメントを追加します