この記事は非常に大きいことが判明したため、2つの部分に分けました。 最初の部分では、ゲームを書くための前提条件について、実装のアイデアと技術的側面について、そして2番目の部分では -ゲーム開発の経済的および心理的側面、市場での公開、およびそのすべてについて説明しました。 すぐにゲームを鑑賞したい人のために- ここに 。
背景
Androidの世界とモバイル開発について知り合いになったのは、2010年の秋、友人がこのプラットフォーム用のアプリケーションを有料で作成するように頼んだときです。 夕方の自由時間に加えて、新しいことに挑戦したいという願望(一般的に、私は.NET開発者です)-私は同意しました。
プロジェクトの終了後、アプリケーションを作成することにしました。 3つの主な理由がありました。
1)Androidはまだ若いシステムであり、使用できる無料のニッチがたくさんあります。
2)開発に必要なものはすべて完全に無料です-ダウンロードして使用します。
3)Androidマーケットでは、アプリケーションの配布と販売に最小限の労力が必要です。レジストラやライセンスキーなどを気にする必要はありません。 良いアプリケーションを書くだけで、それを出せばお金があなたのポケットに注がれます:)もちろん、それはばかげていますが、私はそれだけを考えました。
すぐに言ってやった。 開発プロセス全体を説明するのではなく、技術的な詳細を説明しません。代わりに、この記事と以降の記事では、遭遇した主なポイントと問題に焦点を当てます。
アイデア
アプリケーションのアイデアは、将来のアプリケーションのアルファとオメガであり、実装自体と同じくらい重要です。 人々がゲームをプレイし、プレイしていてプレイするので、私はゲームに落ち着きました。 ここにも微妙な点があります。もしあなたが孤独な開発者であり、自由な時間をあまり持っていないなら、何百ものレベルの3Dモンスターやプラットフォーマーを引き受けるべきではありません。 単純な3Dゲームでも時間がかかります。そして、プロジェクトが一般的に日の目を見るように、過大評価するよりも少しだけあなたの強さを過小評価する方が良いです。
私の場合、選択は論理ゲームとパズルのセクションにありました。
1)非常に人気がある(このセクションのリーダーのダウンロード数は数千万に達する);
2)原則として、それらの実装はそれほど難しくありません-キャラクターアニメーションは簡単で、ストーリーはシンプルです。
この選択の主な欠点は、このセクションでのかなり高い競争です。
出発点として、私はゲーム「Heat and Cold」を取りました-私と私の友人はそれが好きでした、そして、Androidのためのどんなアナログも見つけませんでした。 ルールを作り直し、別のゲームモードを追加し、デザインを完全に変更しました。これは、ゲームを新鮮で面白いものにするのに十分なように思えました。
技術面
TK。 頭の中で何をするのかをよく理解したら、座ってまず最初に...
プロトタイプ。 TKと同じくらい重要なのは、アプリケーションのプロトタイプを書くことです。その上で、ゲームの将来のインターフェイスで実行し、それまでは「紙上」でしかなかった多くのことを管理および確認できます。
私のプロトタイプは次のように見えました。
![](https://habrastorage.org/getpro/habr/post_images/e6e/838/d93/e6e838d9393c7b28517dad3bb1904e22.jpg)
![](https://habrastorage.org/getpro/habr/post_images/0bd/f13/eeb/0bdf13eeb2f9b8d25e62eafa26d39205.jpg)
数字に注意しないでください-スクリーンショットはタスクからデザイナーに取得されます。 そのシンプルさにもかかわらず、このプロトタイプは、最終的にどのようなアプリケーションが必要であるかを理解し、明らかに不要なものをあきらめるのに役立ちました。
エミュレーター .NETを使用したAndroidプラットフォームへの切り替えは非常に簡単でしたが、エミュレーターの方が優れている可能性があります。 私はすぐに彼に別れを告げなければなりませんでした。プロトタイプからゲームのメインバージョンの作成に切り替えるとすぐに、タブレットを購入する機会が得られ、その購入費用は当初予算に入れられました。 エミュレータの速度は実際のデバイスでは数回低下するため、エミュレータでのアニメーションのデバッグや複雑な計算を忘れることがあります。 エミュレータは移動を選択しましたが、タブレットでは8〜10秒で1〜2秒かかりました。 さらに、エミュレーターでうまく機能する多くの機能が実際のデバイス(たとえば、バックグラウンドミュージックの再生)で動作することを望んでいなかったとき、私は怖かったです。 そのため、開発期間全体でエミュレータを使用する場合でも、テスト用に少なくとも1つ(できれば2つ-携帯電話とタブレット)のデバイスをどこで入手し、それらに焦点を当てるかを考える必要があります。
アメリカのオークションでAsus EEE Pad Transformer 10インチタブレットを購入し、友人(詳細は下記)がSamsung Galaxy Sを購入したので、テストデバイスの問題は解決しました。
ユーザーインターフェイスと管理。 これが、モバイルアプリケーションの惨劇です! 小さい画面で、どれだけ収まる必要がありますか! あなたのゲームがプレイするのが不快であるか、それがわかりにくいインターフェースを持っている場合-これは最初にそれを埋めます。 プロトタイプでいくつかの制御オプションを作成し(もちろん、それが絶対に些細なことでない限り)、いくつかの異なる形式のデバイスを見つけて、それらを試してみて、ゲームのターゲットオーディエンスになる人からアドバイスを求めてください。 そして、資金が許せばゲームデザイナーを雇っても害はありません(残念ながら、予算は限られていました)。
インターフェイスの主な問題の1つは、フィールドが大きいことであり、画面全体に合わせる必要があります。このゲームでは、マップ上の位置を全体として評価する必要があります。 その結果、ゲームが最初に次のようになった場合:
![](https://habrastorage.org/getpro/habr/post_images/c9f/6cf/5b5/c9f6cf5b5ff4c3bd97fa0be0350c3a9b.jpg)
![](https://habrastorage.org/getpro/habr/post_images/18d/6eb/416/18d6eb416df98beb606c5c28c10dddc8.jpg)
その後、最終バージョンは次のようになりました。
![](https://habrastorage.org/getpro/habr/post_images/456/f66/07f/456f6607f94cec040e90926ad99e1959.jpg)
![](https://habrastorage.org/getpro/habr/post_images/d4b/950/9f0/d4b9509f03a356ed6a0611574763240a.jpg)
作業中に、まずフィールドのディスプレイの角度を変更し、次にフィールドの下の最大画面領域を占有するようにしなければなりませんでした(ゲーム画面のボタンの数を拒否しました)。
また、作業中に、ヘルプセクションが大幅に変更されました。ページを切り替える8ページのセクションから、スクロールする小さなページに変更されました。 ところで、ユーザーからの否定的なフィードバックを受けて、このセクションは再設計されました。
そしてもちろん、ロシア語のマーケットセグメントは非常に重要だと考えているため、ロシアの開発者として、ゲームにロシア語のサポートを追加せざるを得ませんでした。
グラフィックとデザイン。 ゲームには優れたグラフィックスが必要です-それだけです。 あなた自身がデザイナーと並行して仕事をしておらず、非常に良いレベルで描画アプリケーションを所有していない場合-あなたの強さについて幻想を持ってはいけません。デザイナーを雇い、彼があなたが必要なものを得るためにどのように働くかを見てください。 多くの場合、人々はグラフィックが「マークされている」だけのゲームをプレイしません。 予算では、視覚的な部分のコストを確実に考慮する必要があり、予算全体のかなりの部分を占めることができます。 明確な描画、明るいキャラクター、優れたアニメーション-すべてがなければ、テトリスと三目並べだけが生き残り、Androidで長い間使用されてきました。
メインの作品でソーシャルゲームを描いているデザイナーを見つけて、価格と品質の良い比率を提供してくれましたが、視覚的な部分の仕事は今日も続いています。
フラグメンテーション。 これは神話ではなく、Androidの本当の悪です。 異なる特性と異なる画面を備えたデバイスの束。そのため、ゲームが異なるように見える場合があります。 異なる特性を持つ多くの仮想デバイスを作成し、ゲームの操作とそれらのインターフェースを確認するだけです。 さまざまな画面サイズとさまざまなdpiに応じて、リソース、個別のスタイル、画像、レイアウトを備えたフォルダーの名前にデバイス分類子を積極的に使用します。 非常に退屈な作業ですが、ユーザーから100件の怒りのレビューをもらい、低い評価を得るよりはましです。 結局、私はチェックできるすべてのタイプのデバイスでメニューとゲームの許容可能な表示を達成することができました。
この記事の文字数はすでに無作法な制限に達していると思うので、これに関する最初のパートを終了します。
パート2