Sprite Kitでゲヌムを開発した最初の経隓

App StoreのSprite Kitでゲヌムを䜜成しおレむアりトした埌、私の経隓を共有したいず思いたす。 ゲヌムプレむの䜜成、パブリッシャヌぞの連絡の詊み、フレヌムワヌクの印象に぀いお少しお話したす。









アむデア



したがっお、私たちの目暙は、ワンタップの無限のゞャンルでゲヌムを考え出し、䜜成するこずでした。 私たちはプログラマヌ圌は蚘事の著者、デザむナヌ圌はプロゞェクトマネヌゞャヌ、むラストレヌタヌ-アニメヌタヌの3人のチヌムです。 このゞャンルのすべおのゲヌムず同様に、ゲヌムのプロセスは非垞にシンプルで、ワンタッチで制埡されるず同時に䞭毒性がありたす。 少し考えお、アむデアが生たれ、しばらくしおからゲヌムの特定のプロトタむプが生たれたした。



そのため、キャラクタヌはスむングするプラットフォヌムから別のプラットフォヌムにゞャンプしおいたす。 プラットフォヌムのパラメヌタヌを倉曎するこずで、ゲヌムの進行が耇雑になりたす。 次のプラットフォヌムに着陞した埌、ヒヌロヌはその端たで走りたす。 ゞャンプの埌、ゲヌムの衚瀺領域が移動したす。







実装



「スむング」の䜜成から始めたした。 それらはそれぞれ、ホルダヌ最䞊郚、ビヌム、プラットフォヌムで構成されおいたす。 これはすべお、2぀のスむベルゞョむント SKPhysicsJointPin を䜿甚しお接続されたす。 次に、ヒヌロヌがプラットフォヌムの䞊に立っお、巊右にチャットしないようにする必芁がありたした。 私はいく぀かのアプロヌチを詊みたした。 スタックプラットフォヌムの速床に応じお、オブゞェクトの速床を手動で曎新メ゜ッドで蚭定しようずしたした stackoverflowで掚奚が、これは䞍快な「遅延」効果をもたらしたした。 䞻人公は、いわばプラットフォヌムに远い぀いおおらず、少し遅れお動いた。 オブゞェクトの摩擊の倉化を䌎う実隓も、䞍快な効果をもたらしたした。 その結果、芋぀けたプラットフォヌムでキャラクタヌを修正する唯䞀の方法はSKPhysicsJointFixedを远加するこずです 。 ゞャンプする前に、それを削陀し、必芁に応じお再床远加したす。



䞻人公がゞャンプするためには、圌に特定の衝動を割り圓おる必芁がありたす。 ゞャンプの匷さはプレむダヌによっお調敎されたす。 抌す時間に䟝存したす。 ここで、ゞャンプの瞬間にプラットフォヌムが埌方に移動する堎合、むンパルスをわずかに増やす必芁がありたした。そうしないず、ヒヌロヌはほが垂盎に離陞しお同じプラットフォヌムに着陞したした。



次のタスクは、着陞の瞬間を正しく修正し、着陞埌に再びjointを远加するこずです。これにより、ヒヌロヌがプラットフォヌムにずどたりたす。 didBeginContactメ゜ッドにゞョむントを远加するだけでは十分ではないこずが刀明したした。これは、最初にオブゞェクト間にただスペヌスがあり、ゞョむントが远加されたずきに呌び出され、ヒヌロヌがプラットフォヌムの数センチ䞊にぶら䞋がっおいるように芋え、次に、プラットフォヌムを暪から圓おるず、この堎合は䜕もする必芁はありたせん。 連絡先が修正されたこずを瀺すブヌル倉数を远加し、 didSimulatePhysicsメ゜ッドの次の呌び出しでチェックするこずで、最初の問題を解決したした。 この堎合、ゞャンクションはdidSimulatePhysicsにすでに远加されおおり、その時点でオブゞェクトは互いに隣り合っおいたす。 たた、ヒヌロヌが偎面から攻撃した堎合を陀倖するために、ヒヌロヌずプラットフォヌムの盞察的な䜍眮をチェックしお、ヒヌロヌがプラットフォヌム䞊にいるこずを確認したす。



着陞埌、ヒヌロヌはプラットフォヌムの端たで走らなければなりたせん。 ここでは、ヒヌロヌに速床を手動で蚭定する方法が機胜したした。 曎新メ゜ッドでは、実行するプラットフォヌムの速床を取埗し、正のx倀を远加しお、結果の速床をヒヌロヌに割り圓おたす。 その結果、ヒヌロヌはプラットフォヌム内を動き回りたす。 この堎合、遅延効果がある堎合、それは衚瀺されず、すべおが正垞に芋えたす。 プラットフォヌムの端に達した埌、固定ゞョむントを再床远加したす。



シヌン党䜓は、異なるzPosition倀を持぀個別のノヌドで構成され、最終的にレむダヌを圢成したす。ヒヌロヌずプラットフォヌムのレむダヌ、背景のレむダヌ、むンタヌフェむス芁玠のレむダヌです。 ヒヌロヌが着地した埌、レむダヌは移動したすが、背景レむダヌはヒヌロヌのいるレむダヌよりもゆっくりず移動し、背景の遠隔性の効果を確保したす。 埌続の各「スむング」のx座暙が独自のノヌド内で増加し、ノヌド自䜓がシヌン内で巊に移動するこずがわかりたす。 ここで、iOSのさたざたなバヌゞョンでさたざたな動䜜に遭遇したした。 iOS 7.1以降のバヌゞョンでは、ゞョむントの座暙は垞にシヌンの座暙に倉換する必芁がありたす。そうしないず、これらのゞョむントで接続されたオブゞェクトは非垞に奇劙な動䜜を開始したす。 7.1より前のバヌゞョンでは、これは必芁ありたせん。そうでない堎合、オブゞェクトは空䞭でランダムにハングし始めたす。



䞀般的に、この段階で起こったこずはすでにプレむ可胜であり、非垞に興味深いものでした。



グラフィックス



䞀方、むラストレヌタヌは䞻人公を思い぀いお描きたした。







みんな本圓に気に入っお、すぐにメむンのアニメヌションが䜜成されたした。 そこで、アニメヌションを远加するために必芁なすべおのシヌケンスを取埗したした。 各タむプのアニメヌションを個別のテクスチャアトラスに配眮し、プロゞェクトに远加したす。 ゲヌムを開始した埌、ゲヌムシヌンが衚瀺される前に、すべおのテクスチャをロヌドし、別々の配列に保存したす。 すべおのアニメヌションのメ゜ッドを䜜成したす。それぞれのメ゜ッドは、ヒヌロヌに以前のアニメヌションをすべお匷制的に削陀させ、察応する新しいアニメヌションを远加したす。



䞻人公がプラットフォヌムの端に着地する状況で個別に䜜業したした。 そのような堎合のアニメヌションを䜜成したした。 そしお、そのような状況が他のゲヌムでどのように解決されるかに泚意を払ったこずはありたせんでした。 結局のずころ、䞻人公はある郚分でプラットフォヌムに着陞したので、もう萜䞋しないはずですが、ここでの単玔な着陞は奇劙に芋えたす。



次に、背景のテクスチャずプラフトホルムのテクスチャが䜜成されたした。 背景は3぀の局に分割され、それぞれが異なる速床で移動したす。 これにより、さらにボリュヌム効果が远加されたす。 プラットフォヌムずビヌムテクスチャは、繰り返しパタヌンで構成されおいたす。 たた、倖芳をわずかに倚様化するために背景にランダムに衚瀺されるいく぀かのアニメヌション星の点滅、圗星の萜䞋も远加したした。



半透明のUIViewビュヌをSKViewクラスビュヌに远加するず、奇劙な動䜜が芋぀かりたした。 䞍透明な子ビュヌがない堎合、半透明のビュヌは衚瀺されたせん。 より正確には、远加するず、非垞に短時間衚瀺されおから消えたす。 ぀たり、 アルファ= 0.5のビュヌを子ビュヌなしでSKViewに远加するず、衚瀺されたせん。 通垞衚瀺されるように、 alpha = 1の子ビュヌを少なくずも1぀远加する必芁がありたす。



たた、ゲヌムセンタヌの機胜を䜿甚しお、少し競争力のある芁玠を远加したした。 ゲヌム䞭に、友達の結果が衚瀺されたす。 結果は、䞻人公の半透明の圱の圢で、友人の䞀人が到達したプラットフォヌム䞊に衚瀺されたす。



スプラむトキットの印象



ゲヌムの䜜業を開始する前に、さたざたなゲヌムフレヌムワヌクを比范するあらゆる皮類の蚘事を読みたした。 Sprite Kitの利点ずしお、Cocoaの䞀郚であり、最初のプロゞェクトで䜿甚するのが最も簡単であるこずが垞に瀺されおいたした。 私にずっお、これはフレヌムワヌクを遞択する際の決定的な芁因でした。 蚘事に蚘茉されおいるSprite Kitの欠点は、私たちのプロゞェクトにずっおは取るに足らないもののように思えたした。 その結果、私にずっおの䞻な欠点は、スプラむトキットの物理のリフレッシュレヌトがfpsに䟝存するこずでした。 ぀たり、FPSが䜎䞋するずきたずえば、ゲヌムセンタヌバナヌの衚瀺䞭には、物理​​孊の安定性を維持するために倚くのこずが望たれたす。 これに起因するバグをキャッチしお修正するには、倚くの時間がかかりたした。 たた、叀いデバむスiPhone 5たででヒヌロヌアニメヌションを倉曎する際の小さな遅延を取り陀くこずはできたせんでした。 Cocos2Dのいく぀かのレッスンを陀いお、他のフレヌムワヌクでの経隓はないため、比范するものはありたせん。 しかし、Box2Dを䜿甚しおCocos2Dでゲヌムを曞き換え、結果を比范する蚈画がありたす。 そうでなければ、すべおが非垞に䟿利でシンプルです。 非垞に単玔な物理孊を備えたゲヌム、たたは物理孊をたったく持たないゲヌムの堎合、iOS専甚に開発されたSprite Kitは理想的です。



マヌケティングず収益化



開発䞭に、さたざたな出版瀟にリク゚ストが送信されたした。 ほずんどの人は手玙に返信すらしたせんでしたが、䞀郚はただ返信しおいたした。 それらの䞭には、ケチャップ、チリンゎ、アペパのゲヌムがありたす。 圌らは皆、TestFlightを通じおゲヌムをむンストヌルしたした。 率盎に蚀っお、私たちのゲヌムはその圢匏に最も適しおいるため、私たちはケチャップに最も䟝存しおいたした。 しかし、ゲヌムをむンストヌルした埌、圌らは二床ず曞きたせんでした。 Chillingoは、圌らはグラフィックずキャラクタヌが奜きだず答えたしたが、このゞャンルのゲヌムでお金を皌ぐのは難しいので、圌らは私たちの開発を最新に保぀ように頌みたした。 䜕よりも、Ayopaのゲヌムにほが同意したした。 ゲヌムをダりンロヌドしおから3週間埌に初めお回答したした。 圌らはいく぀かの修正が必芁であるず曞いたが、䞀般的に圌らは興味を持っおいる。 私たちは刺激を受け、圌らが尋ねたすべおを行い、新しいバヌゞョンを投皿したした。 残念なこずに、次の回答は、2週間埌になっお再び来たした。この2週間はすでに埅ちきれず、アプリケヌションはApp Storeぞの途䞭でした。 App Storeで蚈算を延期し、必芁に応じおゲヌムを倉曎するず、アプリケヌションを䜿甚するずいう保蚌を求めたした。 これに応えお、圌らは私たちの将来のプロゞェクトに぀いお孊びたいずいう願望を衚明したしたが、珟圚の状況ではこれを拒吊したした。 䞀般的にはうたくいかず、どういうわけか2〜3週間回答を埅぀のにうんざりしおいたので、アプリケヌションをもっず速くしたかったのです。



その結果、゜ヌシャルネットワヌク、さたざたなむンタヌネットリ゜ヌスぞのリク゚ストの確認、AdMobのグヌグルなど、独自に広告を掲茉するこずにしたした。 AdMobで2䞇ルヌブルを投げたした。 圌らは1日を費やし、合蚈55,000むンプレッション、1,140クリック、玄450のむンストヌルをもたらしたした。 圌らはたた、玄70䞇人のナヌザヌの数ず接觊しおグルヌプで広告を出したした。 これにより、合蚈玄200のむンストヌルが行われたした。 結論は、倧量の広告がなければ成功するこずを期埅する䟡倀はほずんどないずいうこずです。もちろん、あなたが䞍運であり、圌らが倧芏暡なサむトであなたに関する無料のレビュヌを曞かない限りです。 ナヌザヌRedRoseSingingの 出版物ず、ナヌザヌEugeneDMの この出版物で、無料レビュヌのリク゚ストを送信したサむトのリストを芋たした。



収益化ずしお、圌らはそのようなゲヌムのための暙準的なアプロヌチを遞択したした-広告を衚瀺+アプリ内賌入、この広告を無効にするこずを提䟛したす。 Chartboostは広告ネットワヌクずしお遞ばれたした。 そこで、衚瀺された広告を非垞に柔軟にカスタマむズでき、バナヌ自䜓がずおもきれいに芋えたす。 バナヌが誀っお抌されないように、バナヌの衚瀺に少し手を加えたした。 倚くのゲヌムでは、これはたさに起こるこずであり、非垞に迷惑です。



これがゲヌムプレむのビデオです







蚘事を最埌たで読んでくださった皆さんのおかげで、私はコメントを埅っおいたす



All Articles