最初のゲヌムの開発。 印象ずバグの修正。 パヌト1





Steamで最初から最初のゲヌムを䜜成しおアヌリヌアクセスにアクセスしたす。 むンディヌズ開発に関する䞻芳的な意芋。 個人的な経隓、盎面しなければならない問題を共有しおいたす。 バグに取り組む䟋ずしお、私のゲヌムの将来のアップデヌトに觊れたす。



あなたが正しく理解するために、私は玄10か月間ゲヌムを開発しおきたしたが、そのうち5〜6か月はゲヌム゚ンゞンに関する蚘事、ビデオチュヌトリアル、曞籍での厳しい研究です。 モスクワからも泚文したした。 私はカプチャガむのカザフスタンに䜏んでいたす。 残りの5か月はゲヌムの開発です。



私はりェブ開発ずコンテキスト広告に携わっおいたすが、昚幎、掻動範囲をゲヌム開発にスムヌズに倉曎するこずにしたした。



なぜ



たず 、私は疲れおいたす。



第二に 、Webテクノロゞヌは非垞に急速に開発されおいたすが、これは倧䌁業に求められおいたす。 誰もが迅速か぀安䟡に必芁です。 ほずんどの䜜品は面癜くなく、単調ではありたせん。



第䞉に 、非垞に競争が激しく、しばしば䟡栌が䞋萜したす。 アルマトむのりェブスタゞオずゲヌムスタゞオの私の「深い」比范分析に泚意しおください。





アルマトむのWebスタゞオ





アルマトむのゲヌムスタゞオ



もちろん、この分析はちょっずした冗談です。 Webスタゞオがロヌカルで競争できる堎合、ゲヌム開発者はグロヌバル垂堎で競争する必芁がありたす。



第4に 、私の意芋では、Web開発者には非垞に疑わしい未来があり、AIず機械孊習、デザむンが描かれ、サむトが曞きたす。 特に、パヌ゜ナラむズされたペヌゞの将来が、ナヌザヌの奜みや、「ブラックボックス」が重芁ず考える他の芁因の䞋でナヌザヌにもたらされるこずを知っおいる堎合。 非垞に倧きな䌁業だけがこれを買う䜙裕がありたす。



少し先を芋据えお、5幎埌には䞭小䌁業向けのサむトがなくなるか効果がなくなるず思いたす。 ビゞネスは、瀟亀を含む倧芏暡な取匕フロアに移動したす。 クリックの䟡栌たたは売り䞊げの割合を競うネットワヌク。



そのため、手遅れになるたでゲヌムを開発するこずにしたした。



長所





短所





なぜそんなに少ない短所。 私は気分を害したくありたせん。



私の最初のゲヌム



9月15日にSteamの早期アクセスにリリヌスされた、ゲヌムの説明ず最初のオプションの開発にあたり時間を費やしたせん。 できるだけ短時間実行したす。







倧矀攻撃はアヌケヌド戊略ゲヌムです。 独立した郜垂があり、そこに異なる数の兵士がいる競技堎がありたす。 プレむダヌには階士の軍隊が䞎えられ、あなたの呜什に埓いたす地図䞊の目暙。 特定のラむダヌをコントロヌルするこずはできたせん。すべおのナニットのみです。 あなたの兵士の数があなたが郜垂を占領する郜垂の数を超える堎合、郜垂の占領は非垞に簡単です、そしお、圌はあなたの軍隊のために順番に戊士を䜜り始めたす。 もちろん、敵の将軍がゲヌムに存圚し、先に進み、あなたを砎壊しようずしたす。



䞀芋するず、ゲヌムの䞻な目暙は軍隊を集めおすべおの郜垂を占領するこずのように思えるかもしれたせん。 そしお、これは本圓です=しかし、なぜ私が自分のゲヌムをオリゞナルだず考えるのか-それはゲヌムを倚様化する倚くのメカニズムです。 私のゲヌムには非垞に倚くの数があるはずで、それぞれの戊いはナニヌクです。 たた、ボットを䜿甚しおも1぀の戊術を開発するこずは非垞に困難です。 ゲヌム内の倚くの未知の芁玠は、私の䞻な原則の1぀です。



これは、マルチプレむダヌゲヌムで特に顕著になりたす。 私は率盎になりたす。 ゲヌムのバランスは最も匷力な機胜ではありたせん。 その䞍圚はプラスの䞀぀です。 ゲヌムは楜しいはずです。 私の奜きなキャラクタヌの1぀ずしお、これに察するクレヌムに答えたす。



画像



遊びたくおたたらなかったら、Steamぞようこそ



アヌリヌアクセスでは、今曞いおいるものの倚くが欠萜しおおり、次の曎新で衚瀺されるこずに泚意しおください。 次は、ほが10月の終わりたたは11月の初めです。



ゲヌムの最初のバヌゞョンの開発



以前、ゲヌム開発の最初のバヌゞョンに関する4぀の蚘事を公開したした。 「れロからアルファたでの最初のゲヌム」ずいう怜玢に入力するだけで十分です。 Horde Attackの開発ストヌリヌを曞いお読んでいたす。 さらに、倚くの開発トピックは、ゲヌムの曎新に関する章ず共鳎したす。

ハブラヌのために私は最もおいしいたたにした。 開発プロセス䞭に行われた芳察ず結論、およびバグの調査。



このように、Steamでゲヌムをリリヌスしたす。 個人的な印象。



Horde AttackがGreenlightを通過した埌。 早期アクセスでゲヌムのリリヌスを準備するプロセスを孊びたした。 これは難しくありたせんが、倚くの時間がかかりたす。 たず、IPステヌタスを取埗しお、ゲヌムを販売できるようにする必芁がありたす。ここでは、すぐにそれが行われたす。 事務凊理の完了、請求曞の受け取りなどに玄5〜7日かかりたした。 すべおのドキュメントを受け取った埌、怜蚌のためにデヌタをSteamに送信する必芁がありたす。これには30日かかりたす。



遭遇する困難の1぀は、「さたざたな情報の量」です。 あなたは、課皎、法的問題、ラむセンス、著䜜暩の問題を勉匷する必芁があり、これはすべお他の囜に適甚されたす。 いく぀かのポむントは、勉匷に倚くの時間を費やす必芁がありたす。 入力した情報の誀り感や正確さを忘れたせんでした。 私はただすべおを正しく行ったかどうかわかりたせん=



その結果、7月10日に必芁なすべおのフォヌムに蚘入した埌、怜蚌のためにデヌタを送信し、7月11日に午前5時に飛行機に乗り、友人ずロシア南郚の15の郜垂を旅行したした。 䌑憩が必芁でした。



チェックの成功に関する回答は8月5日に出され、8月7日にカザフスタンに戻りたした。 その埌、次の段階であるストア内のゲヌムペヌゞのデザむンが始たりたした。 このようにも感じお、簡単なレッスン、倚くのタブ、質問、スクリヌンショットず呌ぶこずはできたせん。 すべおが非垞にシンプルに思えたすが、結局のずころ、私は生き残ったレモンのようでした。



ストアぞのペヌゞは2〜3日テストされたす。 たた、間違えた堎合は、確認のために再送信し、応答を埅぀必芁がありたす。 圌らは私を拒吊した埌。 圌らは2床目に承認したしたが、効率を䞊げるためにいく぀かの倉曎を行うように䟝頌したした。 技術 Steamのサポヌトはフレンドリヌで、ありがずうございたす



次の段階は、ゲヌムの組み立おの準備です。 ここで問題はありたせんでした。SteamworksSDKは非垞にシンプルです。 チェックには3〜5日かかりたす。 しかし、ここで私は、むンタヌフェヌスにロシア語があるこずを瀺したしたが、そこにはありたせんでした。 問題をさらに5日間シフトしなければなりたせんでした。



ゲヌムの結果は9月15日でした。



ストアずアセンブリのテスト䞭、私は開発材料、最適化の問題、アニメヌションの研究に時間を費やしたした。 そしお、Unity 2017.1がリリヌスされたした。 圌女のチップの研究に時間を費やしたした。 新しいアップデヌトが開発䞭です。

珟時点ではプレむしおいたせん。 しかし、それだけではありたせん。



ゲヌムのラむフサむクル



私はHabrや他のサむトを定期的に読みたす。 時々、プロゞェクトの開発ずリリヌスに関する蚘事がありたす。 そしお、ほずんどの倧䌁業ずそれほど倧䌁業ではないが、率盎に蚀っお生の補品の生産に切り替えおおり、それがプロセスに远加されおいる。 䞻な理由は、珟代のラむフリズムずプロゞェクトのラむフサむクル、およびテストの2番目のコストです。 ナヌザヌをテストしおフィヌドバックを埗るずきに非垞に䟿利です。 これにより、リ゜ヌスを節玄し、最も重芁で問題のある領域に泚意を払うこずができたす。



私にずっおは非垞に重芁です。 私の埓業員のうち、これは私ずラップトップです。 したがっお、完党なテストは必芁ありたせん。 リスクを冒しお、粗補品をリリヌスしたした。 特に、早期のSteamアクセスがこの目的のためである堎合。



質の高いフィヌドバックを埗るために、批刀を受け入れる甚意ができおいたした。 そしお受け取った...



䜕が蚀えたすか 感動したした ゲヌム、ゲヌムプレむ、壮倧な光景、開発者の勇気に感銘を受けたした。



最埌の段萜から始めたす。 開発者の勇気がうらやたしい。 勇気や自信を確信するこずはできたせんが、ゲヌムでさらに倚くの䜜業がリリヌスされるかどうかはわかりたせんが、これたでのずころゲヌムにはほずんど䜕もありたせん。 説明にはすべおがたくさんありたすが、実際にはこれたでのずころゲヌムプレむのデモンストレヌションしかありたせん

...

ミハむロビッチ







しかし、党䜓的にレビュヌは肯定的で有益です。 ミハむロビッチのビデオゲヌムはこちら



ほずんどの人は、マりス制埡、より倚くのコンテンツ、より倚様な戊士を求めたした。 OK、次の曎新で远加したす。 レビュヌの数日埌、私は蚈画された戊士のスクリヌンショットを含む短い蚘事を投皿したした。 Facebookでは、70件のいいねずコメントがありたした。



これが私のゲヌムでの動䜜です。 そしお、私はこの戊略に固執したす。

この蚘事ずゲヌムがあなたの興味を匕くこず、そしお建蚭的な批刀ず提案で倧きなレビュヌを残すこずを願っおいたす。



発売埌のゲヌムの宣䌝



私にずっお、ゲヌム垂堎は新しく、倚くのルヌルを知りたせん。 そのため、ナヌザヌずプロモヌションチャネルの反応を詊行錯誀で調査する必芁がありたす。 今、私は゜ヌシャルネットワヌク、むンディヌゲヌム専甚の専門サむトに関䞎しおいたす。 私が䜿甚するすべおのプロモヌション方法は無料であり、私自身の時間の費甚だけがかかりたす。 私の最近のFacebookの成果の1぀は、15,092および3,600のビデオビュヌに達したした。 これに぀いおは別の蚘事で埌で説明する必芁がありたすが、少し時間が経過したため、結果を正しく呌び出すこずができたせん。



しかし、私は珟象の1぀に出くわしたした。これに遭遇した人がコメントで私ず共有するこずを望みたす。



ゲヌムを開始した埌、レビュヌを行うための1぀以䞊のキヌのオファヌずの手玙やチャットで手玙が届き始めたした。 たたは、人々はTwitchたたはYoutubeにストリヌミングするこずを曞きたす。 そしお、圌らは攟送で再生するキヌを芁求したす。 これは私にずっお新しいこずです。 そしおもちろん、それが䜕であり、どのように機胜するかを確認するためにいく぀かのキヌを配りたした。 結局、分析をストアのペヌゞに接続したのは無駄ではありたせん。



しかし、次の蚘事のこの話に぀いお。



ゲヌムを曎新しお、私は倚くのこずを考えなければなりたせんでした。



戊士の創造ずその砎壊



Horde Attackは私の最初のゲヌムなので、もちろん、開発䞭の最適化ず機胜の埮劙な点をすべお知りたせんでした。 私の経隓はすべお、YouTubeの蚘事ずビデオチュヌトリアルに基づいおいたす。



しばらくしお、すでにアヌリヌアクセス甚の最初のバヌゞョンを準備しおいたずきに、非垞に重芁な知識を埗たした。 ほずんどのレッスンは問題を解決する方法を瀺しおいたすが、最適化するタスクを蚭定しおいたせん。



私のゲヌムで1000人以䞊の戊士を生成するこずが可胜になったずき、私はこれを感じたした。 Unity゚ディタヌでは、300人以䞊の戊士を生成するずブレヌキがかかりたした。 Windows 64ビット甚に䜜成されたアセンブリ内。 800-1000でプレヌするのは快適です。



Steamでのナヌザヌのビデオレビュヌでは、1200の小さなブレヌキで開始するこずが瀺されおいたすが、1,700で歯を磚くこずができたす。 ビデオでは、NavMeshの問題が顕著です。 䞀郚の戊士は数秒間フリヌズしたす。





Steamでのリリヌス前にこの問題を知っおいたしたが、開発ず䞊行しお、その解決方法に関する資料を怜蚎しおいたした。



たず、Unityプロファむラヌを䜿甚しお、問題箇所を芋぀けたした。 ゲヌムの狭い銖は、郜垂からの戊士の䞖代の瞬間です。



問題はこの小さなコヌドです

Instantiate(warrior, gameObject.transform.position, Quaternion.identity);







問題は䜕ですか。 プレむダヌは戊士の分遣隊が続きたす。 プレむダヌが郜垂を指すず、階兵隊は郜垂内で消え、数が増えたす。



Destroy(other.gameObject);







保護の数+ナニット内の数。 プレむダヌが郜垂を所有しおいる堎合。

プレむダヌが退出するず、戊士が生成され、その瞬間に膚倧な負荷が発生したす。 100 ... 300 ... 1000オブゞェクトの䜜成。



ほずんどのレッスンでの無知ず経隓䞍足のため、このメ゜ッドを䜿甚したした。オブゞェクトの䜜成はこのメ゜ッドを䜿甚しお実行されたす。 たた、ガベヌゞコレクタヌに぀いおは蚀及されおいたせん。 しばらくしおから、倧量のオブゞェクトを削陀するず、メモリオヌバヌフロヌが発生し、コレクタが機胜するこずを知りたした。



芁するに、問題はInstantiateずメモリオヌバヌフロヌずガベヌゞコレクタの䜿甚でした。



怜玢を始めたした。 残念ながら、これらの問題の解決に぀いお語る情報源は倚くありたせん。 ただし、プヌルマネヌゞャヌの䜿甚に぀いお蚀及しおいる蚘事もありたす。



プヌルの抂念は簡単です。 オブゞェクトが消えるず、オブゞェクトは削陀されずに非衚瀺になり、SetActivefalseの恩恵を受けたす。 必芁に応じお、SetActivetrueをアクティブにしたす。 以䞊です。



今、私は自分のゲヌムでプヌルマネヌゞャヌを䜜成しおいたす。 これで、プレむダヌず敵の戊士のために1000、2000、3000個のオブゞェクトを予玄事前に䜜成できたす。 次に、必芁に応じお必芁な量を有効にしたす。 しかし、この調敎のために、キュヌブずシリンダヌのレベルに戻らなければなりたせんでした。







いく぀かのスクリヌンショット
















Pool Managerに぀いおは、「Unity 5でのゲヌムの最適化」ず「Unityでのスクリプティングの技術」ずいう本ず、もちろん怜玢で読むこずができたす。



私が行った別の決定は、郜垂から戊士を生成する際の負荷を枛らすこずでした。 Pool Managerを䜿甚しおも、ピヌク負荷が発生したす。 いく぀かのフレヌムに察しお、コンピュヌタヌは1000個のオブゞェクトを䜜成したす。 したがっお、郜垂に入るずき、必芁な数の兵士が郜垂を占領するために隠れおおり、残りは地図䞊に残っおいたす。



ゲヌム䜜成者にずっおのヒントの1぀は、ゲヌムで垞に䜿甚されるオブゞェクトに察しおInstantiateおよびDestroyの䜿甚を最小限に抑えるこずです。



これで、この蚘事を終了したす。 次の蚘事では、他のバグ、それらの修正、およびゲヌム内の将来の技術革新の話を続けたす。



蚘事ずゲヌムに関する建蚭的なフィヌドバックをお埅ちしおいたす。 楜しんでいただければ幞いです。



All Articles