モバむルゲヌム開発-パダワンではなく、ただマスタヌではありたせん

良い䞀日。 少し前たで、私はむンディヌズゲヌム開発の䞖界にどのように参入したか、そしおそれが䜕に぀ながったかに関する最初の蚘事を曞きたした。 厄介な旅の途䞭で、いく぀かのゲヌムを䜜りたしたが、有名なパズルのクロヌンだけが成功し、倚かれ少なかれダりンロヌドされたした。



そしお今、前回の蚘事で曞いた最埌の倱敗の埌、私は自分のゲヌムを宣䌝する無知ず経隓䞍足であるず決めたしたが、突然䌑憩を取り、他の分野で手を詊すこずにしたしたHabréには玠晎らしい蚘事が掲茉されおいたす。著者は、圌が詊みたすべおのプロモヌション方法ずその結果に぀いお説明しおいたす。 ポヌラキニンの脳、ゲヌムの成功はゲヌム自䜓に䟝存し、残りの半分はどのようにそれを促進するかに䟝存するので、私は決めたした実際には明らかなアむデアですが、間違いを確認できるたで、それを動かしおください開始しない、別のゲヌムを䜜成し、広告䌚瀟を開発する必芁がありたす。



2番目は前述の蚘事に基づいおいたすが、最初の蚘事ではすべおががやけおいたため、クロスプラットフォヌムlibGDXフレヌムワヌク、Kotlin蚀語、およびその由来を䜿甚しお叀いゲヌムに基づいお新しいゲヌムを䜜成するこずにしたした。 。





小さなゲヌムトレヌラヌ



どうする



倚くの堎合、遞択したパスに䟝存するため、この質問は毎回私を混乱させたす。 プログラマヌの掻動範囲に間違ったパスはありたせん-たずえあなたが䜜った補品が倱敗しおも、䜜成プロセス䞭に獲埗した貎重な経隓はどこにも行きたせん。 しかし、䟡倀のあるこずをしようずするかなり長い期間3幎半、1か月から5か月の䌑憩でを考えるず、人々が本圓にプレむするオリゞナルのゲヌムに時間ず゚ネルギヌを費やしたいず思いたす。



私は最埌のゲヌムのアむデアが本圓に奜きでした。あなたがそれを思い起こしお圌女の完党なプロモヌションを手配するず、いくらかの成功が達成されるず確信しおいたした。 私の頭の䞭では、思考の流れは次のずおりでした。私はすでにゲヌムをApp Storeで完成しお公開し、それをわずかに修正し、レベルを䞋げ、スケゞュヌルを厳しくしたした。 しかし、Google Playを芋倱うこずは愚かでした。特に、すべおが私から始たったので。 したがっお、Androidバヌゞョンのゲヌムを䜜成する必芁がありたす。 そしお、このバヌゞョンの公開埌にのみプロモヌションを開始できたす。



画像

ゲヌム "94" /ゲヌム "50"-メむンメニュヌ



方法



最初は情報を探し始めたしたが、サヌドパヌティのフレヌムワヌクを䜿甚せずにゲヌムを䜜成するこずは可胜ですかより正確には-Xcode for AndroidのSprite Kitの類䌌物はありたすか いや どうやら、Googleは倚数のサヌドパヌティのゲヌム゚ンゞンずフレヌムワヌクがあるため、独自のゲヌム゚ンゞンずフレヌムワヌクを䜜成するこずに煩わされるべきではないず刀断したした。 ただし、AndroidにはOpenGL ESず呌ばれる公匏の3D APIがあり、これを䜿甚しお、耇雑で高性胜な2Dおよび3Dゲヌムを䜜成できたす。



芁するに、OpenGL ESは、モバむルおよび組み蟌みデバむス向けのグラフィカルプログラミング3Dの業界暙準です。 APIは、これらのヘッダヌで説明されおいるAPIの動䜜方法の非垞に詳现な仕様ずずもに提䟛されるCヘッダヌファむルのセットで衚されたす。 実際、OpenGL ESは䞉角圢を芖芚化するためのかなり単玔なプログラムです。
この説明は、 「Android向けのゲヌムのプログラミング」ずいう題名の玠晎らしい人、マリオチェクナヌの本からのものです。 圌はOpenGL ESを䜿甚するだけでなく、原則ずしおゲヌムを䜜成するプロセスのすべおの埮劙さを非垞に明確に説明しおいるので、䜓系化された知識の倚くを読んだ埌にようやく1぀の絵になりたした。 この本は、ゲヌム開発ぞの没入のプロセスが始たる前に眮かなければならない基瀎を提䟛したす。 以前、この本に぀いお知らなかったこずを心から埌悔しおいたす。倚くの問題を回避できたかもしれたせんが、もちろん、決しお遅くはありたせん。 最近、モバむルゲヌムの開発に興味があり、どこから始めればよいかを考えおいる堎合は、この本が最善の遞択肢ですこれも謙虚な意芋です。



画像

ゲヌム「94」/ゲヌム「50」-レベルを遞択するためのメニュヌ



本を読む過皋で、著者は本質的に、順次、段階的に、ゲヌムの䜜成だけでなく、圌自身のゲヌムフレヌムワヌクの䜜成に぀いおも説明しおいるこずをたすたす理解したした。 圌はOpenGL ESでの䜜業をむンタヌフェヌスの背埌に隠し、ゲヌムの䜜成に䜿甚したした。 私の堎合、私の考えを珟実に倉える道を繰り返すこずには意味がないず感じたので、2Dゲヌムの䜜成に関する章を読んだ埌、あずがきを読むこずにしたした。 そしお、著者が自分のlibGDXフレヌムワヌクの簡易バヌゞョンの䜜成を説明しおいるこずに気付いたずき、私は驚きたした 私はこのフレヌムワヌクに぀いお䜕床か聞いたこずがありたすが、ふたたび再び珟れるずは思いたせんでした。 この発芋は私を興奮させ、私はすぐにこの「獣」に関する情報を研究し始めたした。



ビヌストは非垞に優れおいるこずが刀明したした-クロスプラットフォヌム、倚くの有甚なラむブラリたずえば、ナヌザヌむンタヌフェむスを䜜成するためのScene2d、優れた物理的なBox2d゚ンゞンのサポヌト、Android Studioおよびいく぀かのIDEでもプロゞェクトで動䜜したすが、私はそれを望んでいたした しかし、玠晎らしいのはKotlin蚀語のサポヌトです。 私はこのプログラミング蚀語に長い間泚目しおきたしたが、それでも私の手はそれを曞くものに届きたせんでした。 そしお、そのような機䌚がありたした-Kotlinで私のゲヌムを䜜るこず。



遞択は行われたしたが、最埌の疑問が残っおいたした-クロスプラットフォヌムフレヌムワヌク、぀たりAndroidずiOSの䞡方のビルドを䜜成できるこずを意味したす。 XcodeずSprite Kitの他のSwiftコヌドを曞き盎すよりも、コヌドを1回曞いお2぀のバヌゞョンを䜜成する方が簡単だず芋積もったので、最初のオプションで停止するこずにしたした。



画像

ゲヌム「94」/ゲヌム「50」-トレヌニング遞択メニュヌ



いくらですか



私のゲヌム「94」のミスずマむナスを理解したが前回の蚘事で詳现に曞いた、メむンアむデアを思い出し、私は非垞に奜きであり、それでも気に入っおいるので、これらのマむナスを取り陀き、このゲヌムを䜜る必芁があるず決めた。



䞻な問題は、倚数のレベルです。 すでに曞いたように、このゲヌムのためにApp Storeで怜玢ク゚リを䜜成するず、数字「9」ず「4」だけが駆動されるず考えお、「94」ずいう名前ずの類䌌性だけからゲヌムを「94」ず名付けたした。 、したがっお、私のゲヌムも怜玢結果に分類されたす。 私はこの名前の説明をゲヌムのレベル数にしたした-これが䞻な問題です。 ゲヌムプレむ、倚くの障害、プレむダヌの動きの皮類を思い぀きたしたが、これらのすべおのレベルに正確に分散しお、それらが䌌おいないようにするこずはうたくいきたせんでした。 あるレベルから別のレベルに移動するずきにダむナミクスはありたせんでした。そのため、ゲヌムの途䞭ですでに退屈しおいたす。 はい、すべおのレベルを䜜成しおテストする時間が非垞に倚く費やされたした。



したがっお、私が最初にしたこずは、ゲヌムプレむを䜜り盎し、より生き生きずしたものにし、プレヌダヌが退屈する時間がないように、新しいレベルを䞀床にいく぀かの機胜で満たすこずでした。 ゲヌムは、ナヌザヌが本圓に興味を持ったように、最初のレベルからナヌザヌを占有する必芁がありたす。 それで、私は50のレベルに到達したした。矎しい数字です。ゲヌムをそのように呌びたしょうテキストなしでプレむするずいう考えから離れないこずに決めたので、名前を再び数倀にしたした。



機胜は同じであるため、ゲヌム自䜓に぀いおは詳しく説明しおいたせん。前回の蚘事でそれらに぀いお曞きたした。



画像

ゲヌム「94」/ゲヌム「50」-レベルの1぀



libGDXを䜿甚したKotlinプログラミングプロセスの詳现には觊れたせん。別の蚘事を䜿甚しおいるため、前のゲヌムの経隓に基づいお、新しい蚀語ずフレヌムワヌクにもかかわらず、これをより速く、より明るくしたした。 2番目は優れたドキュメントであるこずが刀明し、すぐにそれらをマスタヌしたした。



私にずっお、今回の䞻なものはたさに開発スピヌドでした。わずか6か月間は少し倉曎したが、それでも同じゲヌムで、プロモヌションプロセスをより早く開始したかったからです。プログラミングだけでなく、新しい䜕か。



グラフィックスはどうですか



説明したすべおの倉曎を自分で実行できたした。 これたでの蚘事党䜓を通しお、ゲヌム「94」ずゲヌム「50」のスクリヌンショットを比范のために瀺しおきたした。 叀いアむコンず新しいアむコンは次のずおりです。



画像



違いは顕著ですよね だから、グラフィックス-これは明らかに私のものではなく、私は぀いにこれを確信したした。 私は私をグラフィックにする男が必芁でした。 同じフリヌランスがあり、䞀定量のデザむナヌをすばやく芋぀けるこずができるこずは明らかです。 しかし、私はプロモヌションでお金を節玄し始め、デザむナヌぞの支出は私の蚈画の䞀郚ではありたせんでした。



そしお、ビデオの撮圱ず線集に携わっおいる私の友人は、私にかなりの時間を提䟛しおくれたした。 圌がプロセスの本質を簡単に説明しおくれたように

芖芚的なグラフィック効果を䜜成するために、Adobe After Effectsプログラムが䜿甚され、3D空間のテンプレヌトプラグむンがロヌドおよび倉曎されたした。 「惑星」プレむダヌのために、動きの重芁な軌跡が䜜成されたした。 動きのタむプを倉曎する瞬間に「惑星」内に珟れる小さなオブゞェクトを䜜成するために、同様のアクションが取られたした。 さらに、受け取ったすべおの玠材は、プロゞェクトから、ダりンロヌド甚のアトラスあたり64フレヌムの容量に応じたフレヌムレヌトのアルファチャネルず透明な背景のあるPNGグラフィック圢匏にトランスコヌドされたす。 たた、ゲヌムの背景、および回避する必芁がある障害も䜜成したした。 芖芚的なデザむンずフォヌマットのみが倉曎されたした。

実際、それはすべお、アトラスを䜜成する必芁があるフレヌムの䜜成に垰着したす。たた、アトラスはすでにlibGDXによっおアニメヌションの䜜成に䜿甚されおいたす。 アニメヌションの䜜成を理解するためのドキュメントlibGDXを腕に収めるこずは難しくありたせんでした。



画像

ゲヌム「94」/ゲヌム「50」-レベルの1぀



さらに私が勉匷しなければならなかったのは、個々のフレヌムを1぀のアトラスにパックするTexture Packerプログラムだけでした。 libGDXを含む倚くのゲヌムフレヌムワヌクをサポヌトしおいるため、このフレヌムワヌクの圢匏でアトラスをすぐにアップロヌドできたす。これは非垞に䟿利です。 唯䞀の問題はそれが支払われるこずですが、私には十分な無料の限定版がありたすただし、どこかで食欲を和らげる必芁がありたしたが、それでもグラフィックの品質に圱響を及がしたしたが、グラフィックはすぐに修正可胜です。



スケゞュヌル䞊のゲヌムの違いをさらに理解するには、ゲヌム「94」ずゲヌム「50」をスラむスする短いビデオを芋るこずをお勧めしたす。





ゲヌム「94」のゲヌムプレむ





ゲヌム「50」のゲヌムプレむ



収益化はどうですか



収益化プロセスはすでにデバッグされおいたす。ゲヌムの無料配垃を䌎う広告は垞に組み蟌たれおいたす。 最初は組み蟌みのAdMob広告でしたが、Appodealのようなクヌルなものを知り、ゲヌム「94」に導入したした。もちろん、「50」もバむパスしたせんでした。



このセクションを蚘事に含めたくありたせんでしたが、このツヌルを䜿甚する、たたは䜿甚する予定のある人に、埋め蟌み広告からの収入を増やすよう譊告するこずにしたした。



2018幎3月14日以降、AppodealはUnity 3DずCoronaを陀くすべおのサヌドパヌティフレヌムワヌクのサポヌトを瞮小したした 。 ぀たり、libGDXはこのサポヌトから倖れたしたが、幞運でした-3月䞊旬にこれを行っおいたため、Appodealの最新バヌゞョンを構築するこずができたした。 したがっお、Appodealを䜿甚する予定がある堎合は、ゲヌムを䜜成するためのフレヌムワヌクを遞択するずきに泚意しおください。



最埌の仕䞊げ



この蚘事の執筆時点で、ゲヌムはGoogle PlayおよびApp Storeでレビュヌのために送信されたした。 5月初旬から、広告キャンペヌンが開始されたす。



このゲヌムは、グラフィックス、雰囲気のある音楜、テキストの欠萜が改善され、よりダむナミックになりたした。 Androidバヌゞョンでは、Google Playゲヌムサヌビスのサポヌトを远加したした。Googleアカりントを䜿甚しおゲヌム内で盎接ログむンし、50個の実瞟を開くこずができたす。 それらは明らかです-最初に50レベルのそれぞれを通過したす぀たり、障害物ずの衝突なし。 興味のためにGame Centerを玹介したせんでした。ゲヌムサヌビスAndroidをサポヌトしおいるナヌザヌずそうでないナヌザヌiOSがどれだけ関䞎するかずいうこずです。 繰り返しになりたすが、Appleデバむス所有者の関䞎が少ないこずは明確な結論を保蚌するものではありたせんが、それでもこのような調査を実斜するこずは興味深いように思われたす。



画像

ゲヌム「94」/ゲヌム「50」-レベルの1぀



APKおよびIPAファむルの䜜成は非垞に簡単です。 APKはAndroid Studioの[ビルド/眲名付きAPKの生成]メニュヌから䜜成され、RoboVM自䜓は以前から閉じられおいたため、IPAはRoboVM forkを䜿甚しお䜜成され、 libGDXはRoboVM forkのサポヌトを残しおMulti-OS Engineに切り替えたした。 iosモゞュヌルのbuild.gradleファむルに必芁な構成を蚘述し、「gradlew createIPA」コマンドでビルドを開始する必芁がありたす。



なぜ萌えではなくRoboVMフォヌクを䜿甚したのですか なんらかの理由で、moeを䜿甚しおIPAファむルをビルドした埌、ゲヌムで物理孊が機胜したせんでした。぀たり、Box2dは完党に萜ちたした。 libGDXフォヌラムずmoeフォヌラムで質問をしたしたが、あちこちで明確な答えが埗られなかったので、反察に行っお成功したした。 moeの問題は解決されたず確信しおいたす。時間をかけるだけです。 誰かが同様の問題に盎面し、それを解決した堎合、私はこれに぀いお議論したいです。



珟時点で最も重芁なこずは、広告キャンペヌンの開始です。 私はすでにいく぀かのレビュヌを泚文しおいたすが、しばらくはそうする぀もりです。 プロモヌション埌に興味深い資料ずわかりやすい結果が収集された堎合、蚘事を曞く予定です-グラフで行われた䜜業のレポヌトず結果の分析。



画像

ゲヌム「50」-動きのタむプの䞀時停止ず倉化の瞬間



画像

ゲヌム「50」-トレヌニングず動きのタむプの倉化の瞬間





ゲヌム「50」-動きのタむプの1぀のデモ-画面の巊偎を匕っ匵り、画面の巊半分をクリックしおプレむダヌに衝動を䞎えたす。





ゲヌム「50」-ゲヌムの機胜の1぀のデモ-レベル䞭の動きのタむプの倉化。



ゲヌムの確認に぀いお少し



前述したように、この蚘事を曞いおいる間、Google PlayずApp Storeでレビュヌのためにゲヌムを送信したした。 Google PlayでのベヌタテストゲヌムはリンクからダりンロヌドできたすずApp StoreでTestFlightを䜿甚したテストの䞡方のバヌゞョンがテストに利甚可胜であったこずに蚀及する䟡倀がありたす。 したがっお、テスト枈みバヌゞョンは公開のために送信されたした。GooglePlayの堎合、ベヌタバヌゞョンをワヌカヌバヌゞョンにアップグレヌドし、怜蚌のためにテスト枈みバヌゞョンをApp Storeに送信したした。



Google Playはその2、3時間埌に同じ日にゲヌムを公開したしたが、App Storeには倧きな困難がありたした。 もちろん、App Storeでアプリケヌションずゲヌムの高い芁件に぀いお聞いたが、ゲヌムの公開に1週間を費やすずは思わなかった。 この間、私のゲヌムは玄10ポむント拒吊され、繰り返しもありたした。そのため、毎回倧きな返信を曞く必芁がありたした。 たた、゜リュヌションセンタヌの応答フォヌムは、ある皮の曲線です。䞀床に倧量のテキストを送信するこずはできたせん。ただし、暙識の制限に達しおいたせんが、ファむルをたったく添付できたせんでした。 答えを郚分的に送信する必芁がありたしたが、少し奇劙に芋えたした。 議論のそのような時点で、圌らはカリフォルニアからの携垯電話でさえ私に電話をしたした。 短い議論の埌、スケゞュヌルを修正するたでゲヌムが芋逃されないこずに気付きたしたが、拒吊の理由の前に他の理由が瀺されたした。



友人にはすぐに助けおくれる機䌚がなかったので、私はグラフィックスに緊急に察凊しなければなりたせんでした。 ラッシュは、すでに賌入枈みでリリヌスの準備ができおいるレビュヌが原因であったため、今埌はゲヌムたたはアプリケヌションがApp Storeで公開されるたでプロモヌションを事前泚文したせん。



繰り返しになりたすが、このような䞍条理な状況では、ゲヌム「94」の公開埌、譊戒心が薄れおいたこずに気づきたした。 初めお公開されたしたが、問題ありたせん。 しかし、Apple補品Xcode、Sprite Kit、Swiftを䜿甚しお䜜成されたため、今考えおいるように、すべおがスムヌズに進みたした。



珟時点では、䞡方のバヌゞョンが公開されおいるため、少し驚いお逃げたした。



画像

拒吊の理由の1぀はスクリヌンショットであり、私はそれらに取り組む必芁がありたしたが、少なくずもApp Storeからそのようなスクリヌンショットを芋逃しおいたした。 同時に、圌らはGoogle Playでも同じこずをしたした。



たずめ



もちろん、ゲヌムは完璧ではなく、孊校もありたすが、それでもこれが私の最高の䜜品です。 それにもかかわらず、あなたはあなたのスキルを開発し、改善し続ける必芁がありたす。



もう䞀床、経隓ず新しい知識の䞀郚を受け取り、高品質のコヌドを曞く胜力を匷化し、新しい蚀語ずフレヌムワヌクを孊びたした。 この蚘事が、誰かが新しいこずを孊び始めたり、攟棄されたプロゞェクトに戻ったりするきっかけになるこずを願っおいたす。



そしお、前回の蚘事で曞いたように、最も重芁なこずは、もっず埌悔するこずなく、埌悔するこずです。 ご枅聎ありがずうございたした



PS



圌が倚くのリンクを匕甚した蚘事の䞭で、それらを1か所に集める䟡倀があるず思いたす。






All Articles