自宅で叀兞的なRTSをれロから䜜成するストヌリヌ+開発の䞻な段階AI、ネットワヌクなどの分析

画像



この蚘事では、たったく異なる時期に、たったく異なる条件で䜜成された、たったく新しいプロゞェクトに焊点を圓おたす。 これは、Onimod landず呌ばれる私の叀いRTSです。 内容をすぐに明確にするために、短いビデオを芋るこずができたす。





この蚘事には続線がありたす。






おそらく次のこずをすぐに明確にするのが正しいでしょう。このゲヌムは、゚ンゞン、デザむナヌ、その他の最新のツヌルなしで、私が個人的にれロからプログラミングしたものです。 このプロゞェクトは十分に倧きく、数幎間玔粋な熱意で行われたした。 経枈孊のすべおの法埋にもかかわらず、私はただこの仕事を終わらせるこずができたしたが、その時たでに開発チヌムの数はすでに䞀人に枛っおいたした。 残念ながら、リリヌス時には、このゲヌムは倚くの理由で倚くのプレむダヌから需芁がありたせんでした-ゲヌム垂堎は最初に3Dに、そしおカゞュアルゲヌムに倉わりたした。 長い間、このゲヌムはいわば私の棚の䞊にあり、私自身はゲヌム開発者になるのを長い間やめおいたした。



それにもかかわらず、これがすべお行われた方法を思い出すために、私は非垞に興味がありたす。 さらに、私は個人的に非垞に喜んで自分のゲヌムをプレむしおいたす。 有名なBlizzardが私ず同じ方法でStarcraftを䜜ったかどうかはたったくわかりたせんが、開発䞭にBlizzard開発者が䞀床に遭遇したのず同じ問題に定期的に出䌚ったこずは間違いなく芚えおいたす。 これは、圌らず私が同じ「状況」から抜け出すために䜿甚しなければならなかった決定によっお理解できたす。 私はあなたに私がこのすべおをした方法のオプションを提䟛したす。 最埌に、開発が行われたたさにその条件ず、ロシアの出版瀟が圓時蚭定しおいた「ゲヌムのルヌル」に぀いお簡単に説明したす。




この蚘事では、叀兞的なRTSの䞀般的な構造を説明しようずしおいたす。 圓然、このようなコヌドのボリュヌムを詳现に説明する方法はないため、説明は特に詳现にはなりたせんそしお、率盎に蚀っお、実装の埮劙さは、特に䜕幎が経過したかを考慮するず非珟実的であるこずに留意しおください。 ただし、これがすべおれロからどのように行われるかに぀いおの衚面的なアむデアではあるが、䜕らかの皮類をカバヌできるこずを願っおいたす。 䞀郚の堎所では、゜ヌスコヌドの小さな断片を埋め蟌みたすが、これを行うのは、他の䜕よりも原則を実蚌する可胜性が高いからです。



私の意芋では、基本的な次のメカニズムが考慮されたす。







Rts



ゲヌムのゞャンルずしお、RTSはアむ゜メ図の2Dグラフィックスのタむプで䞀意に遞択されたした。 この遞択は、私たちの個人的な奜みによっおのみ正圓化されたした。 私はC ++をメむンのプログラミング蚀語ずしお遞択したしたが、Z80ZX-Spectrumのようなプロセッサヌでの長期アセンブリ蚀語プログラミングは、本質的に非垞に高床なアセンブラヌを思い起こさせるため、非垞にシンプルに思えたした。 私は長い間、仮想関数の䜿甚に慣れるこずができなかったこずを認めなければなりたせんが、これがないずC ++は通垞のCず非垞に䌌おいたす。



私の意芋では、ゲヌムをれロから䜜成する堎合、最初に行うこずは、少なくずも䜕らかの皮類の画像を画面に衚瀺するこずです。 これは、もちろん、画像が意味のあるものでなければならないこずを意味したす。 倖芳でゲヌムメカニズムをテストしたす。 ここでのハむラむトは、グラフィックスがゲヌムに入り、その埌のレンダリングになる方法です。 これらの2぀のポむントから、すべおを開始する必芁がありたす。



グラフィックス



その瞬間、ゲヌムの倧郚分は8ビットのカラヌ解像床を䜿甚しおいたしたが、論理的にさらに先に進み、ゲヌムは16ビットカラヌを䜿甚するこずを決定したした。 なぜ24ビットでないのですか 圓時、ビデオカヌドには通垞1 MBのメモリがありたした。 1぀の800x600スクリヌンサヌフェスに必芁なメモリ量は、それぞれ800 x 600 x 2 = 960,000バむトたたは937.5 KBです。 ぀たり 圓時のビデオカヌドのビデオメモリのほが党䜓が、1぀の画面の䞋で䜿甚されおいたした。 圓初、私たちのゲヌムは640x480のスクリヌンモヌドで動䜜するはずでしたが、埌でこの問題がレビュヌされたした;珟時点では、ゲヌムはモニタヌが蚱可する解像床で動䜜したす。



グラフィックスにはストレヌゞが必芁です。 私の堎合、ビデオカヌドに䜕かを保存するこずはできないこずは明らかであり、芁件を考えるずこれは䞍可胜です。 したがっお、スプラむトはRAMに存圚する必芁がありたす。



スプラむト自䜓には次の芁件が課されたした。





画像





画像





画像



この図は、「セル」内のスプラむトのサむズず、セルに察するスプラむトの䜍眮を瀺しおいたす。 ピボット。



スプラむトの結果、私はこの決定をしたした。グラフィックを圧瞮圢匏でメモリに保存し、衚瀺時にデコヌドするこずです。 このオプションの䞻な利点は、スプラむトが必芁ずするメモリ量が少ないこずです。メむンのマむナスはもちろん、描画時の各スプラむトのプロセッサによる䞀定のデコヌドです。 これには䜕が必芁ですか 画像を圧瞮および解凍する圧瞮圢匏ずアルゎリズムが必芁です。



圧瞮には次の方法が遞択されたした。 アルゎリズムは、巊䞊隅から開始しお、スプラむトの長方圢の領域に垂盎に沿っお通過したした。 描画の䞻な芁玠は、ピクセルの瞊の䞍可解なストラむプでした瞊は、単䜍の高さがほずんど倧きいずいう単玔な考慮事項から遞択されたした。 このような各ストリップは、ピクセル数ずこれらのピクセルの色がわかっおいる配列ずしお蚘憶されおいたした。 ストリップが「空の」ピクセルによっお䞭断されるず、次の垂盎ストリップが怜玢されたした。 1぀のストリップの終わりから次のストリップの始めたでの間、座暙シフトが保持されたした。これにより、栌玍が回避され、最も重芁なこずずしお、「空の」ピクセルが描画されたした。 これらすべおに、倖出先で切り替えるこずができるパレットを䜿甚したトリックが远加されたした。 簡略化された圢匏では、圧瞮圢匏は次のコマンドでした。





これはすべお悪いこずではありたせんが、チヌムを識別する色、぀たり 垞に倉化しおいたすか この堎合の解決策は非垞に簡単です。 この識別色は、垞にパレットの0番目のむンデックスで゚ンコヌドできたす。 そうするず、パレットのれロ色は、倉動性のために確保されたす。 しかし、描画する前に、䜿甚されおいるパレットのスプラむトは最初の色をコマンドの色に眮き換えるのに十分であり、問​​題は解決されおいたす。



远加の最適化ずしお、この手法が䜿甚されたした。 倚くの建物には、建物の静的なスプラむトが占有するよりもはるかに倚くのスペヌスを占有するアニメヌションが含たれおいたした。 ただし、建物自䜓は垞に静的なスプラむトずしお衚瀺され、アニメヌションはスプラむトの䞊に重ねられおいるため、色が建物の静的なスプラむトの色ず䞀臎したピクセルはアニメヌションから砎棄できたす。 これにより、通垞、アニメヌションスプラむトからほずんどのピクセルが削陀されたす。



たずえば、蟲堎のゲヌムでは、次のようになりたした。



画像



実際には、グラフィックは次のように保存されおいたした。



画像



ここで、圧瞮画像のデコヌドに関する問題を解決する必芁がありたす。 そしお、このタスクは圧瞮自䜓よりもはるかに耇雑です。 基本的な違いは、事前に画像を圧瞮できるこずです。 このプロセスの速床を心配するこずなく。 デコヌドは「オンザフラむ」で実行され、画面に衚瀺される各スプラむトに察しお垞に実行される必芁がありたす。 そしお、たさにこの瞬間に䞻な困難が暪たわりたした。 最初の問題から生じる2番目の問題は、スプラむトをさたざたな方法でデコヌドする必芁があるこずです。 たずえば、特定のナニットが「マスキング」モヌドをオンにしたず仮定したす。このモヌドは、芖芚的に芋えるため、完党に溶解するたでほずんど透明になり始めたす。 たたは、たずえば、飛行ナニットは颚景の衚面に圱を持たなければならず、圱は実際には独立したスプラむトであったため、飛行ナニットは高さを倉えるこずができ、圱は地面に残りたした。 シャドりは垞に黒で、垞に透明床がありたす。぀たり、独自のアルゎリズムを䜿甚しおシャドりをデコヌドできたす。



画像



画像



たたは、最適化を目的ずした別の䟋-スプラむトが1぀のパレットのみを䜿甚するこずが事前にわかっおいる堎合は、䞀床蚭定するだけで十分であり、デコヌド時にパレットの倉曎をたったく確認しないでください。 䞀般に、特殊なケヌスのデコヌドアルゎリズムを改善するための十分なオプションがありたす。 マりスで正確なヒットをチェックするために必芁な、指定された座暙が可芖領域に到達するこずをチェックするような゚キゟチックなスプラむトデコヌドオプションもありたした。



さらに、次の堎合にすべおのデコヌドオプションが耇補されたした。





デコヌドには、このアルゎリズムがプログラム党䜓のボトルネックであったため、アセンブラヌを䜿甚するこずが決定されたした。 しかし、アセンブラヌを䜿甚するず、プログラマヌが通垞行うようにスタックに倉数を配眮するのではなく、プログラマヌがプロセッサヌのレゞスタヌを効率的に䜿甚できたす。 その結果、数十個の関数がアセンブラヌで䜜成され、実際には同じデコヌドを行いたしたが、ニュアンスが異なりたした。 必芁な関数はC ++から呌び出され、圧瞮されたスプラむトずその芖芚化の耇雑さに関する情報を匕数ずしお受け取りたした。



アセンブラヌずしお、tasm32.exeが䜿甚されたした。 アセンブラヌをアセンブルするためのコマンドラむンは次のようになりたした。



tasm32 / l / ml / zi modul_s.asm 、ここでmodul_s.asmはアセンブラヌの゜ヌスコヌドです。 その結果、オブゞェクトファむルmodul_s.objが圢成されたした 。これは、C ++プロゞェクトに既にリンクされおいる可胜性がありたす。



C ++からの関数呌び出し自䜓は次のようになりたした。



extern "C" bool AsmSpriteパラメヌタヌ ;



資源



リ゜ヌスの保存ず線集の問題は、おそらく他のすべおを将来定矩する最も重芁な問題です。 したがっお、私の意芋では、最小ではないゲヌムの䜜成は、リ゜ヌス゚ディタヌの䜜成から開始する必芁がありたす。 理想的には、プログラマヌの助けを借りずにゲヌムにほずんどすべおの倉曎を加えるこずができるビゞュアル゚ディタヌが必芁です。 ぀たり ゲヌムを䜜成するずきは、ゲヌム自䜓を凊理する必芁がありたす。奇劙なこずに、最埌になりたしたが、最初の攻撃はそのような゚ディタヌの䜜成を目的ずする必芁がありたす。 リ゜ヌス゚ディタずマップ゚ディタを混同しないでください。根本的に異なる目的がありたす。 それに察しお、マップ゚ディタヌはタスクです。逆に、マップを描画するためには、ゲヌムが実際に機胜する必芁があるので、既に「最埌」になっおいたす。



だから、リ゜ヌスに戻っお...



私の堎合、次のタむプのリ゜ヌスがゲヌムで凊理されおいるはずです。





スプラむトでは、すべおが倚かれ少なかれ明確でした。 それらは、ダりンロヌドしお圧瞮し、倧郚分を別のファむルに保存する必芁がありたす。その埌、ゲヌムを単独で開くこずができたす。 スプラむトには名前があるため、堎合によっおは、スプラむトが無生物オブゞェクトに属しおいるこずをこの名前で識別するこずが非垞に可胜です。



画像



画像



前述のように、初期段階では画像を取埗するこずが非垞に重芁であるため、リ゜ヌス゚ディタヌはスプラむトをロヌドおよび圧瞮する機胜を䜿甚しお起動できたす。



次に、リ゜ヌス゚ディタヌにラむブオブゞェクトを䜜成する方法を怜蚎する必芁がありたした。 これを行うには、䞀連の写真を甚意するだけでは十分ではありたせん。これらの写真をアニメヌションで組み合わせ、このアニメヌションたたはそのアニメヌションが䜿甚される理由をゲヌムに説明する必芁がありたす。



RTSの戊闘郚隊が通垞実行できるアクションの皮類を芋おみたしょう。 明らかに、ナニットは「䜕もしない」状態にある必芁がありたす-それを埅機ず呌びたしょう。 さらに、ナニットは移動できる必芁がありたす-このアクションをMoveず呌びたしょう。 ナニットは戊うこずができる必芁がありたす-このアクションをむンパクトず呌びたしょう䞀般的に、ヒヌリングなどの効果はプラスになりたす。 そしお最埌に、指揮官ず運が悪かった郚隊はアクション「死」を持たなければなりたせん。 これらのアクションは、真の戊士の基本セットです。



実際、远加の段階があったため、圱響のある状況ははるかに耇雑でした。 むンパクトサむクル党䜓は次のようになりたす。





さらに、このスキヌム党䜓は3Dを持たないずいう事実により非垞に耇雑であり、したがっお、異なる角床からモデルを衚瀺するために単玔にモデルをねじるこずは䞍可胜です。 したがっお、アニメヌションには方向䞊、䞋、右、巊なども必芁です。 もちろん、これらの方向は修正する必芁があり、実際には、各方向はすべおのナニットスプラむトの耇補を必芁ずするこずに留意する必芁がありたす。 これに基づいお、ナニットの8方向の移動が遞択されたしたが、実際には、䞊䞋方向のみが反察方向にミラヌリングされおいないため、5に枛らされたした。



画像



方向をあたりにも急に倉曎したナニットに察しおは、タヌンアクションが远加されたした。たずえば、移動方向を倉曎するために戊車がその堎で回転したした。



アニメヌションに含たれるプロパティ



  1. アクション-ゲヌムにオブゞェクトの機胜埅機、移動、むンパクトなどを衚瀺したす。
  2. 移動方向5個-オブゞェクトをさたざたな方向に芖芚的に衚瀺できるこずが必芁です。 通垞、移動の各方向に぀いお、実際にはスプラむトを陀くすべおのプロパティを䜿甚しおアニメヌションを耇補する必芁がありたす。
  3. アニメヌションの終了



    • 終了-アニメヌションは終了したす他にやるこずがなければ、通垞埅機アニメヌションが開始されたす
    • ルヌプ-アニメヌションは最初から開始したすWaitingアニメヌションが無限に再生できる建物に圹立ちたす
    • トランゞション-別のアニメヌションを開始し、さらにアニメヌションを遞択する必芁がありたすアニメヌションを互いに組み合わせるこずができたす。いく぀かのオプションからランダムなアニメヌションを䜿甚できたす。
    • 新しいオブゞェクト-完了した時点で、珟圚のオブゞェクトは新しいオブゞェクトに倉わりたす。これは指定する必芁がありたすたずえば、シャヌマンが圫像を埩掻させる堎合、぀たり建物をナニットに倉える必芁がある堎合に䟿利です。
    • æ­»-珟圚のオブゞェクトはゲヌムのメモリ内で砎壊されたす。
  4. アニメヌションの䞭断は、ナヌザヌのアクションマりスでどこかで突かれたによっおアニメヌションが䞭断される可胜性があるこずを瀺しおいたす。 さらに、ナヌザヌが珟圚のアニメヌションを䞭断しようずした堎合に実行されるアニメヌションを指定できたす。 䟋えば、䌑息状態の兵士は圌の前にマシンを保持し、圌が埌ろにマシンを螏み蟌むず、これらの状態間の瞬時の切り替えはあたり良く芋えないので、埌ろのマシンを芖芚的に取り陀く䞭間アニメヌションがありたす、それは動䜜したす兵士が移動する前。
  5. 速床-アニメヌションの速床をパヌセントで指定できたす。
  6. アむコン-ナヌザヌがこのアクションを実行するためにクリックするコントロヌルパネルの画像。
  7. コスト-䞀郚のアクションは無料ではありたせん。たずえば、魔術垫が思い぀くにぱネルギヌが必芁です。
  8. フレヌム-アニメヌションはスプラむトたたはフレヌムで構成されたす。 これは、アニメヌションの最も重芁なプロパティです。 ほずんどの堎合、フレヌムには察応するスプラむトのみが衚瀺されたすが、倚くの远加機胜もありたす。



    • 䞀時停止-このフレヌムでのアニメヌションの遅延を決定したす。 ランダムな遅延を䜿甚するこずは可胜です。 死䜓は通垞、圌の死埌非垞に長い時間マップ䞊に存圚するため、䞀時停止は殺された戊士のゆるやかな分解を描写するのに圹立ちたす。
    • サりンド-䜕らかのサりンドファむルを再生できたす。 このプロパティは、マシンガンから発砲したり、剣で敵をhammerったりするアニメヌションでうたく機胜したした。
    • 関数は、特定のアニメヌションフレヌムで実行される特定のアクションです。 1぀のフレヌムに耇数の機胜を同時に蚭定するこずができたしたたずえば、2぀のバレルからミサむルを䞀床に発射する。 䞻な機胜をリストしたすただし、さらにいく぀かありたす。



      • むンパクト-これは、敵が頭に手hatchを入れる瞬間です。 これは、もちろん、Impact関数の最も簡単な䜿甚方法です。実際、远加のパラメヌタヌを䜿甚するず、この効果のタむプを指定できたす。 そしお、このリストには、物理​​的な攻撃だけでなく、ヒヌル、魔法の盗難などがありたす。 たた、圱響の皮類には、リ゜ヌス抜出埓業員がクリスマスツリヌを手hatchでタップし、リ゜ヌス抜出機胜がリ゜ヌス抜出機胜がツリヌから朚を振るなどの通垞の業務、および埓業員が建物を元に戻すずきの壊れた建物の些现な修理が含たれたす。 圱響は垞に、ナニットがアクションを実行する珟圚のタヌゲットに向けられたす。
      • 爆発-珟圚のオブゞェクトの座暙で爆発が実行され、衝撃波の力ず半埄が調敎されたす。 爆発の堎合、衝撃のタむプを遞択するこずもできたすが、通垞は単なる物理的な打撃です。 爆発機胜は通垞、生きおいるナニットではなく、タヌゲットに到達しお爆発するシェルによっお䜿甚されるず仮定するのが論理的です。
      • オブゞェクトの起源は、別のオブゞェクトを䜜成するための関数です。 たずえば、この関数を䜿甚するアヌチャヌは、アニメヌションの特定のフレヌムに矢印を䜜成する必芁がありたす。 さらに、Strelaの堎合は、䜜成される座暙を瀺す必芁がありたす。぀たり、実際には、画面䞊でStrelaのスプラむトをドラッグしお、アヌチャヌに察しお正しく配眮する必芁がありたす。 圓然、䜜成されたオブゞェクトを基準にしお䜜成されたオブゞェクトを配眮するこずは、すべおの移動方向に必芁です。 実際には、この操䜜は5回実行されたした。 いずれの堎合も、ナニットの珟圚の方向により䞀貫した矢印のスプラむトが遞択されたした。 ゲヌム内の矢印は、このスプラむトから正確に始たり、タヌゲットぞの方向に応じお独立しお展開できたす。


実際、もちろん、はるかに倚くの機䌚がありたしたが、すべおをリストするこずに特別な意味はありたせん-䞻なこずは、おそらく、原則です。



圓然、ナニットは、匷さ、防埡力、ラむフ量、移動速床などの特性を備えおいる必芁がありたす。 圌らのために、それらが生産される建物、生産の速床、コストなどが決定されなければなりたせん。 他のナニットを茞送できるナニットがありたす。 茞送 ナニットがトランスポヌトで茞送されるだけでなく、そこから射撃する堎合のオプションがありたす。 䞀郚のナニットはそれぞれ飛行できたす。飛行高床を「from」ず「to」で決定する必芁がありたす。これらの制限内で、飛行ナニットはランダムに高床を倉曎できたす。 䞀郚の建物は、車䞡ずの類掚によっお行動するこずができたす。 ナニットは䞭に入るこずができたす。たずえば、射手は防埡タワヌに配眮され、そこから射撃できたす。



それずは別に、シェルのオブゞェクトに぀いお簡単に蚀及する䟡倀がありたす。 発射䜓は、地䞊たたは空䞭の暙的に衝突するか、自己誘導型、぀たり ロケットのようにタヌゲットを远跡するか、むゞェクトコアのように動䜜したす。攟物線軌道に沿っお移動したす。発射物は、飛行ず死の2皮類のアニメヌションのみを実行できたす。フラむトアニメヌションを䜿甚するず、通垞のナニットのように8に固定するのではなく、シェルに倚くの方向を指定できたす。これにより、シェルの軌道をスムヌズに倉曎できたす。タヌゲットに到達するず、シェルはデスアニメヌションを実行したす。これは、爆発機胜によっお完了するこずができたす。さらに、シェルが朚に火を぀けるこずができるこずをさらに瀺すこずができたす。䜜成されおいる発射物は、垞にそれに向かっお移動するために座暙たたはゲヌムオブゞェクトの圢で目暙を取埗したす。そうしないず、発射物の存圚そのものが意味を倱いたす。



私の堎合、アップグレヌドは、リ゜ヌス゚ディタヌを䜿甚しお䜜成されるオブゞェクトず同じです。ゲヌムのアップグレヌドは、1぀のむンスタンスにのみ存圚できたす。アップグレヌドにはアニメヌションはありたせんが、コントロヌルパネルのアむコンず実行されたアクションのリストがありたす。たた、アップグレヌドには、動䜜するオブゞェクトの特定のリストを含めるこずができたす。アップグレヌドが行われた時点で、すべおのオブゞェクトがゲヌムのメモリに衚瀺され、このアップグレヌドの圱響を受ける人のために、特性が倉曎されたす。通垞のアップグレヌドに加えお、非垞に基本的なアップグレヌドもありたす。特に、Onimodovレヌスでは、開発パスを遞択するこずができたすが、その開発パスは正確に3です。





圌らの倖芋の物語は非垞に珍しいものであり、アヌティストの䞀人がオニモドフレヌスのために装備を描くのが本圓に奜きだったずいう事実によるものです。その結果、Onimodsには次の重機の戊闘ナニットがありたした。





特にボツワナの第2レヌスでは必芁なナニットが十分ではなかったこずを考えるず、私の偎で非垞に倚くの既補のナニットを捚おるこずは蚱されない無駄です。したがっお、Onimodsの堎合、開発パスのようなものを思い぀きたした。いずれかの方法を遞択するず、プレヌダヌは実際、䞀郚のナニットを䜿甚可胜にし、他のナニットを犁止したす。たずえば、攻撃パスず呌ばれる最初のパスでは、Dron、Tank、Kamikazeのナニットを䜿甚できたした。防衛の道ず呌ばれる第2の経路では、ドロン、戊車、装甲車がアクセス可胜であり、戊車は非垞に匷力な長距離倧砲に倉身するこずができたした。 Path of the Unknownず呌ばれる3番目の経路では、Dron、Kamikaze、Koggのナニットを䜿甚できたした。さらに、この経路にはかなり興味深い可胜性がありたした-シナリオによれば、惑星の軌道にぶら䞋がっおいる軌道ステヌションから盎接カプセルで戊士を送るこずができたしたハりス・オニモドフの圹割を果たしたす。芖芚的には、建物が怍えられるず、ナニットがそこから萜䞋するように芋えたす。



開発パスの圱響は、利甚可胜なナニットのセットに限定されたせんでした-いく぀かの䞻芁なアップグレヌドは、いずれかの方法でのみ利甚可胜でした。たずえば、攻撃パスによりアップグレヌドが可胜になり、最倧3機の攻撃機に着陞し、ヘリコプタヌから盎接発砲するこずが可胜になりたした。その結果、開発パスの遞択は、戊争の党䜓的な戊略に匷く圱響したした。



財産管理



ナニットず建物は、プレむダヌたたはAIによっお割り圓おられたアクションを実行する必芁がありたす。これらのアクションを実行するために、各オブゞェクトにはコマンドの配列がありたす。ほずんどの堎合、アレむには珟圚のチヌムが1぀ありたすが、たずえば、プレヌダヌはShiftキヌを䜿甚しお耇数のチヌムを远加しお䞀床に実行できたす。次のコマンドの実行が完了するず、オブゞェクトは次のコマンドに進みたす。すべおのコマンドが実行されるず、オブゞェクトは自動的にCOM_WAITたたはWaitコマンドを配列に远加し、その結果、Waitアクションでアニメヌションが開始されたす。



ナニットには、チヌムを独立しおアレむに远加する機胜もありたす。この状況は、ナニット本胜が説明されおいるセクションAIで説明されおいたす。簡単な䟋戊士はプレむダヌから「パトロヌル」コマンドを受け取り、2぀のポむント間を行き来したす。敵が怜出されるず、兵士自身がコマンドDestructionたたはCOM_DESTROYをアレむの先頭に远加し、タヌゲットを攻撃したす。 COM_DESTROYが完了するず、コマンド配列から削陀され、制埡はパトロヌルコマンドに再び戻りたす。これにより、兵士はパトロヌルを続行したす。



たず、チヌムがどのようなものかを把握する必芁がありたす。コマンドの最も単玔なケヌスは、COM_GOたたはMoveです。プレむダヌはナニットを遞択し、マップ䞊の任意の堎所をクリックしたした。これにより、COM_GOは遞択されたナニットのコマンドの配列に分類され、すぐに実装が開始されたす。このコマンドは非垞に単玔です。これは、匕数ずしお、ナニットが接近するマップ䞊のポむントの座暙のみを必芁ずするためです。ただし、このコマンドには継続がないこずに泚意しおください。ナニットが目暙に到達するず終了したす。実際、パトロヌル、ビル建蚭、鉱業など、はるかに耇雑なチヌムがありたす。これらのすべおのチヌムには、珟圚のリ゜ヌスが完党にマむニングされた埌、リ゜ヌス抜出手段などのいく぀かのフェヌズがあり、新しいリ゜ヌスを芋぀けお抜出を開始したす。リ゜ヌス抜出チヌムは、実際には、近くで採掘するものがあるたで終了したせん。



たたは別の䟋。劎働者には、建物を建蚭するコマンドが䞎えられたした。





コマンドハンドラは、コマンドを垞に実行するのではなく、次のアニメヌションが完了した時点でのみ実行したす。 ぀たりナニットを1マス暪にステップしたした。コマンドを凊理するか、小石に぀るはしでワヌカヌを叩くこずができたす。再びコマンドを凊理できたす。しかし、ステップの途䞭たたは぀るはしの途䞭では、チヌムは凊理されたせん。実際には、次のコマンドの実行埌、次のアニメヌションが既知になりたす。



耇雑なコマンドを実行できるようにするには、コマンドをフェヌズに分割する必芁がありたす。したがっお、どのチヌムもフェヌズで構成され、これらのフェヌズはN個のピヌス​​になりたす。最初に、最初のフェヌズは垞に実行されたすが、フェヌズは他のフェヌズに制埡を移すこずができるため、フェヌズは任意の順序で実行できたす。実行の可胜性がない堎合、各フェヌズはコマンドを䞭断できたす。



私の堎合、どのフェヌズでも次の機胜を実行できるはずです。





フェヌズ内のほずんどの機胜は冗長です。この堎合、それらは省略できたす。



マむニングリ゜ヌスチヌムは最も難しいチヌムの1぀です。したがっお、私はそれをより詳现に分析したいず思いたす。芖芚的には、リ゜ヌスの抜出はOnimodsずBotswanaで根本的に異なる方法で実行されたすが、すべおの䞭栞は同じアルゎリズムです。



OnimodovマむナヌはITRず呌ばれ、芖芚的にはかなり倧きなロボットのように芋えたす。これはリ゜ヌスの暪に固定され、抜出を実行したす。圌は、抜出されたリ゜ヌスを移動せずにりェアハりスに送信したす。芖芚的には、「パむプ」を地面に沈めおいるように芋えたす。ストレヌゞでは、このパむプのアニメヌションが6぀の技術サむトの1぀に衚瀺され、リ゜ヌスが配信されたこずを芖芚的に瀺したす。



ボツワナの鉱山劎働者は劎働者ず呌ばれ、いわば「ゞャンルの叀兞」です。圌は぀るはしで資源を取り出し、足でそれらを金庫に運びたす。



特に、䞡方のレヌスのマむナヌが1人のマむナヌによっおのみ同じリ゜ヌスを同時に抜出できるずいう条件が、䞡チヌムのゲヌムに远加されたした。



そのため、プレヌダヌはマりスで数人の鉱倫を遞択し、鉱物を右クリックしたした。次に䜕が起こりたすか私自身が「各リ゜ヌスには鉱倫が1人いる」ずいう条件を導入したので、各鉱倫に察しお最初に遞択するのは私の個人的な鉱物です。コマンドずしお、各ゲッタヌはCOM_EXTRACTを受け取りたす。COM_EXTRACTは、リ゜ヌスの座暙ずそのタむプを匕数ずしお受け取りたす。



珟圚のコマンドが䜕であっおも、コマンド凊理アルゎリズムは垞にコマンドにタヌゲットオブゞェクトがあるかどうかをチェックするこずが非垞に重芁です。たずえば、Disguise䞍可芖化を有効にするなどのコマンドは、「単独で」実行され、どこにも移動する必芁がないため、タヌゲットオブゞェクトはありたせん。しかし、攻撃やリ゜ヌスマむニングなどの倚くのチヌムは、タヌゲットに察しおアクションを実行したす。これは、目暙が手の届くずころにあるこずを意味したす。タヌゲットに察するアクションは、垞にむンパクトアニメヌションを通じお実行されたす。このアニメヌションは、この目的のために発射物タむプのオブゞェクトを䜜成するか、独立しお鉱物に぀るはしで打぀こずができたす。前者の堎合、ショットの距離に近づくのに十分です距離=芖界の半埄。 2番目のケヌスでは、オブゞェクトがタヌゲットに近づく必芁があるこずは明らかです距離= 1。コマンドに察するアクションは、次のアニメヌションの完了埌にのみ凊理されたす-アニメヌションが突然䞭断されるこずはありたせん。コマンドハンドラは、タヌゲットが距離内にあるかどうかを垞に確認したす。そうでない堎合、コマンドハンドラヌは垞にタヌゲットぞの移動を実行したす。ナニットはゆっくりず正しい方向に進みたす。コマンドハンドラヌの呌び出しは、1ステップの呚期で発生したすカヌドの1぀のセルから別のセルぞの移行を参照。繰り返したすが、目暙ぞの動きはリ゜ヌス抜出コマンド自䜓には含たれおいたせんが、コマンドを凊理するアルゎリズムの䞀郚であるこずを明確にしたす。ナニットはゆっくりず正しい方向に進みたす。コマンドハンドラヌの呌び出しは、1ステップの呚期で発生したすカヌドの1぀のセルから別のセルぞの移行を参照。繰り返したすが、目暙ぞの動きはリ゜ヌス抜出コマンド自䜓には含たれおいたせんが、コマンドを凊理するアルゎリズムの䞀郚であるこずを明確にしたす。ナニットはゆっくりず正しい方向に進みたす。コマンドハンドラヌの呌び出しは、1ステップの呚期で発生したすカヌドの1぀のセルから別のセルぞの移行を参照。繰り返したすが、目暙ぞの動きはリ゜ヌス抜出コマンド自䜓には含たれおいたせんが、コマンドを凊理するアルゎリズムの䞀郚であるこずを明確にしたす。



COM_EXTRACTコマンドは4぀のフェヌズで構成されたす。





䞎えられた䟋は、文字通り「䞀蚀で蚀えば」ゲヌムの仕組みの根底にあるメカニズムを瀺すこずを目的ずしおいたす。 リ゜ヌス゚ディタの機胜に぀いお提䟛した情報が、ナニットの特定のアクションに䜕らかの圢で関連するようにしたかったのです。 埓業員ず゚ンゞニアの䞡方のCOM_EXTRACTコマンドは、コヌドの点でたったく同じであるこずに泚意しおください。 ただし、リ゜ヌス゚ディタヌのナニットアニメヌションの蚭定により、リ゜ヌス抜出のプロセスが完党に異なりたす。 そのため、アニメヌションをカスタマむズするための十分な機䌚を持぀こずが重芁です。



実行できる各アクションには、独自のチヌムが必芁です。 同時に、たずえば、コマンドCOM_GO指定されたポむントに移動、COM_DESTROY特定のタヌゲットを砎壊、COM_ATTACK指定されたポむントに移動し、パス内の党員を砎壊、COM_RUN攻撃する敵から逃げる、防埡する方法がないためおよびCOM_LEAVE 建物が建蚭される堎所から離れるは、実際には異なりたす。 私の堎合、コヌドでは玄50チヌムを芳察し、ゲヌム党䜓の機胜を確保しおいたす。



たた、他のすべおのコマンドをキャンセルするだけのCOM_CANCELなどのかわいいコマンドもありたす。 なぜ必芁なのですか 事実、蚘事の最埌でネットワヌクに぀いお簡単に説明したす。プレヌダヌが実行するアクションはネットワヌクを介しお送信できる必芁がありたす。これらのアクションは別のコンピュヌタヌで1぀ず぀繰り返される必芁があるためです。



道を探す



ナニットは、マップ内を移動し、困難な堎合に効果的なルヌトを芋぀けられる必芁がありたす。 この問題には十分な泚意ず時間をかける必芁がありたす。 最初の段階で、アヌティストが䜜成したナニットをテストできる堎合にのみ、簡単な゜リュヌションを䜜成するこずをお勧めしたす。 AIの䜜成時に、コンピュヌタヌが最も華やかな状況でパスを構築できるようにする必芁がある堎合、パスを芋぀けるための実際のアルゎリズムが必芁になりたす。 通垞の経路探玢アルゎリズムがないず、AIが効果的に動䜜できなくなりたすが、䟋倖的な堎合を陀き、競技堎が「裞の草原」である堎合は䟋倖です。



そのため、ゲヌムの仕組みは倚かれ少なかれデバッグされ、ナニットはマりスで受け取った所定のアクションを実行できたすが、プログラムは2分ごずにクラッシュしたせん。 次の段階は、効果的な経路探玢アルゎリズムの䜜成です。 珟時点では、むンタヌネット䞊でこのトピックに関する倚くのヒントがありたすが、これらの方法がどれほど良いか悪いかは蚀えたせん。私はこの問題に察する独自の、そしお非垞に効果的な解決策を発明したからです。 解決策は非垞に掗緎されおいるため、その埌公開されたアルゎリズムをほが繰り返すこずは非垞に可胜です。 しかし、私が蚀ったように、そのずきにこの蚘事で瀺したすべおの゜リュヌションは、自分の頭で生成したした。



叀兞的なRTSでパスを芋぀ける方法に関する詳现な蚘事は、 ここで入手できたす 。 怜玢アルゎリズム自䜓に加えお、このアルゎリズムを制埡するプロセスに぀いおも説明しおいたす。 このセクションでは、移動䞭のナニット間の衝突、別のナニットの远埓タヌゲットが絶えず䜍眮を倉曎する、その他のそれほど明癜でないポむントなどの問題を扱いたす。 この蚘事は玄10幎前に曞かれたものであり、私にずっおは、私自身の決断を忘れないようにするこずを意図したものです。 特にこの情報がたくさんあるこずを考えるず、この情報を耇補するこずにはあたり意味がありたせん。



AI別名、人工知胜



たず、AIずは䜕かを理解したしょう。 個人的に、AIはAIをマりスずキヌボヌドで実行するラむブプレヌダヌのアクションを眮き換えるアルゎリズムず定矩しおいたす。 ここで泚意しおください...ゲヌム内のナニットが完党に銬鹿ではない堎合、プレむダヌの助けを借りずに独立しおいく぀かの決定を䞋し、実行するこずができたす。 私の堎合、このような゜リュヌションには次のアクションが含たれたす。





䞊蚘の䟋からわかるように、これらのアクションはすべおプレむダヌの介入を必芁ずしたせん。 したがっお、「AIは、マりスずキヌボヌドを䜿甚しお実行するラむブプレヌダヌのアクションを眮き換えるアルゎリズムです」ずいう私自身の声明は、これらの䟋に察応しおいたせん。 したがっお、これらの䟋はすべおAIずは関係ありたせん。 私自身は、これらのアクションに「本胜」ずいう名前を付けたした。 ナニットの本胜は、ゲヌムの最も重芁な郚分です。これは、プレヌダヌの日垞的な行動に察する懞念を取り陀くためです。 そしお、ゲヌムの党䜓的な快適さを決定するのは、既存の本胜の品質です。 特定のナニットには本胜がありたすが、AIはナニットのグルヌプを管理し、「リ゜ヌス抜出のための新しいベヌスの確立」などのグロヌバルタスクを実行したす。



人はしばしば、ゲヌムの本胜の原因をたったく逆に芋たす。 䟋えば、劎働者が建物を修理するために走るずき、これは劎働者自身のむニシアチブのようです。 実際、燃えおいる建物は、修理のような圱響を歊噚に持っおいるすべおのナニットの小さな半埄で「助けを求めおいたす」。 同じこずは、近くの戊士が戊っおいる兵士に走ったずきの状況にも圓おはたりたす。これは「助けおくれ」ずいう呌びかけに察する反応です。 キラヌアハアヌ」



私の意芋では、InstinctsはAIずは䜕の関係もないずいう事実にもかかわらず、そのような配眮の倚くはかなり期埅されるように思われるので、AIのセクションにそれらの小さな説明を入れたした。 しかし、私の意芋では、本胜は䞀般的なゲヌムの仕組み、぀たり 心によるず、圌らはテキストで少し高く説明されるべきでした。 そしお、AIを曞いおいる時点でのゲヌムの仕組みは、Unit Instinctsのセクションを含め、すでに完党に機胜しおいるはずです。 本胜は、ラむブプレヌダヌが制埡するチヌムずAIが制埡するチヌムの䞡方で同じように機胜する必芁がありたす。 その決定においお、AIは本胜のレベルに萜ちおはならず、そのタスクは「分隊を圢成し、そのような座暙で攻撃に送る」などのように聞こえる必芁がありたす。本胜。



AIに盎接戻りたす。 私の堎合、コンピュヌタヌが制埡する各コマンドに察しお、AIハンドラヌは1秒間に玄1回呌び出されたす。 AIは、次のグロヌバルな原則によっお行動が導かれたす。





正確には、むンテリゞェンスは15皮類のタスクを実行できたす。 最も興味深いのはもちろん、攻撃に関連するタスクです。 合蚈するず、むンテリゞェンスは6぀の異なる方法で攻撃できたす。





ゞャンル RTS-リアルタむム戊略

プログラミング Alexey Sedov別名Odin_KG

-プログラミング技術 C ++、アセンブラヌ、DirectDraw

-システム芁件 Windows XP、Windows 77-keのネットワヌクは機胜したせんが、それ以倖はすべお正垞です

グラフィックロヌマン・コバレンコ、コンスタンチン・むワノフ

-グラフィックスタむル 2Dアむ゜メ玄12,000のスプラむトが䜿甚されたす

音楜ドミトリヌ・ゎロフ

開発方法熱意

開発時間 1998-2005

ダりンロヌドペヌゞ Land of Onimode〜53 Mb 。

配垃方法無料



開始条件ずその結果歌詞セクション



だから、1998幎の䞭庭で。 圓時のIT業界の呚囲の珟実を䞀目で芋たす。 Intelは既に233 MHzでプロセッサをリリヌスし、Blizzardは「Diablo 1」ず「Warcraft 2」で既に知られおいたす。Microsoftは「Age of Empires 1」で有名です。 ほずんどすべおのPCに「Windows 95」がむンストヌルされおいたすが、䞀郚のPCはすでに「Windows 98」にアップグレヌドしようずしおいたす。 広倧な囜のフリヌマヌケットでは、倧量の海賊版ディスクが解散し、䜎コストのために人々の間で非垞に人気がありたす。 ラむセンスされた゜フトりェアはどこかに存圚したすがモスクワなど、少なくずも人々は海賊版ずラむセンスの違いを理解しおいたせん。別の重芁な明確なポむントは、1週間にドルがそれぞれ6ルヌブルから30ルヌブルに増加したため、ハヌドりェアに関連するすべおのコストがドルに比䟋しお増加したため、深刻な経枈危機です。経枈は...



だから...



3人の絶望的な男たちのグルヌプは、祖囜にずっおこの困難な時間に、ゲヌム開発者ずしお自分自身を詊すこずにしたした。その䞭には、圌が倚かれ少なかれプログラムできるこずを望んでいる1人この蚘事の著者ず、コンピュヌタヌを含めお心から絵を描くのが倧奜きな2人がいたす。



私たちはそれぞれ自分のPCを持っおいたしたが、仕様はその瞬間に察応しおいたした。たずえば、私の構成は次のずおりでしたIntel 200-MMX、RAM-32 MB、ビデオカヌド-2 MB、HDD-4 GB。ちなみに、危機の前に、そのような奇跡は私に玄9000ルヌブルを費やしたした囜の平均絊䞎は玄700ルヌブル、これは$ 1,500に盞圓したした。 PCアヌティストはもっず控えめでした。



䞀般的に、私たちが持っおいたのは、欲望ず「珟代のテクノロゞヌ」だけでした。おそらく最も重芁なこずを忘れたしたが、私たちは孊校で知り合い、同じ倧孊で䞀緒に通った良き友人でした。結局のずころ、この芁因は非垞に重芁であるこずが刀明したした。



おそらく、そこにはなかったこずに蚀及する䟡倀がありたす。そしお圓時は十分な情報がありたせんでした。それは、むンタヌネットが珟圚単にsimplyれおいる情報です。ちなみに、むンタヌネット自䜓は存圚しおいたせんでしたが、非垞に限られた人数であり、デュアルアップモデムの速床は最倧5 Kバむト/秒に達し、頻繁に切断されおいたした。



これはすべお、文字通り次のこずを意味したす。プログラミング䟋、アルゎリズム、3D Studio Maxの操䜜方法に関するビデオチュヌトリアル、既補の゚ンゞンはありたせん。フォヌラムでアドバむスを求める人はいたせん。すぐに「グヌグル」である質問に察する既補の回答はありたせん。぀たり 開発者ず圌のタスクのみがあり、それらは独立しお解決し、自分の力だけに頌らなければなりたせん。



䞀般的に、私たちはかなり順調にスタヌトしたした。私は蚘事に曞かれおいるこずをゆっくりず実装し、アヌティストはグラフィックを提䟛しおくれたした。グラフィックの䞻芁郚分は3D Studio Maxで行われ、Character Studioプラグむンはナニットアニメヌションに䜿甚されたした。幞いなこずに、ある奇跡によっお、私はこのプラグむンに関する本を手に入れお、倚かれ少なかれそれを理解したした。 3D Maxは、Windows 95を䜿甚しお制埡されるこのような匱いハヌドりェアで実際に動䜜できないずいう問題がありたした。最初は、3D MaxはRAMが少なくずも48 MBであり、コンピュヌタヌに16のみがあるべきであるずthatしおいたした。どれだけ速く動䜜したか。ささいなこずを修正するのに䜕時間もかかる可胜性がありたす。さらに、3D Maxは明確な理由もなく厩壊するのが倧奜きでした。



しかし、アヌティストは「内郚䜿甚のためのツヌル」のように芋えたしたが、私のリ゜ヌス゚ディタヌが本圓に奜きでした。最初、圌らは私がいなくおも既成のナニットを組み立おるこずができるこずを長い間理解しおいなかった。コンスタンティンは、私を単に䞀連のスプラむトだけでなく、すでにかなり「生きおいる」ナニットずしお定期的にドラッグし始めたした。圓時、プログラマヌの参加なしにゲヌムにオブゞェクトを挿入する可胜性は非垞に玠晎らしいように思われたした。



出版瀟に䜕か芋せるこずがあるず刀断したずき、状況は急激に悪化したした。出版瀟はモスクワにいお、私たちは電車のチケットを買っお、私たちの䜜品を芋せびらかすだけでした。圓時、このすべおの行動の開始からすでに1幎半でした。もちろん、AIに぀いおも蚀及されおいたせんでした。パスを芋぀けるための優れたアルゎリズムはありたせんでしたが、倚くはすでに機胜しおいたした。私たちは、少なくずもプロゞェクトの将来の芋通しに぀いお具䜓的な䜕かを芋぀けなければなりたせんでした。そしお、芋通しが明確になりたした...そしお圌らは基本的にプロゞェクトを実質的に埋めたした。状況のナヌモアは、出版瀟が出版したいように芋えたずいうこずでしたが、条件が私たちに発衚されたずき、これはすべお奎隷制に非垞に䌌おいるこずが明らかになりたした。モスクワから戻った埌、アヌティストは実質的にゲヌムの制䜜をやめたした。䞀般的に、倚くの点で正しい決定でした。しかし、定期的に圌らは私のために䜕かを描いたが、誰もがすでに、このプロゞェクトはそれに費やされた努力の背景に察しお屈蟱的に芋えないようなお金をもたらすこずができないこずを理解しおいた。



圓時、ロシアで「出版物」がどのように生み出されおいたかに぀いおの確固たる意芋が、埌になっお頭に浮かんだ。実際、すべおを説明しおくれた。その絶察的な真実を䞻匵するこずはできたせんが、この説明をした埌、すべおの質問は削陀されたした。おそらく、その堎所にあるすべおのものを敎理するのにもう1分かかるでしょう。



私が蚀ったように-囜は単に海賊盀が散らばっおいた。 「シャトル」はこれらのディスクを入手するためにモスクワに旅行し、そこでディスクを倧量に賌入し、故郷のフリヌマヌケットで販売できるようにしたした。ディスクの䟡栌は空のディスクの䟡栌ずそれほど倉わらず、同じ垂堎内の䟡栌自䜓は、このディスクに含たれる補品に぀いお垞に同じでした。ラむセンス補品の公開に戻りたす。私の意芋では、それは次のように芋えたした。モスクワの出版瀟には、ラむセンスされたディスクを販売するための配垃ポむントストヌルがいく぀かありたした。同時に、次の理由により、ラむセンス゜フトりェアの実際の䟡栌を蚭定するこずはほずんど䞍可胜でした。a



海賊フリヌマヌケットが繁栄しおいる。

b囜の人口は、特に海賊版ディスクを安䟡に賌入できる堎合は特に、通垞の䟡栌で゜フトりェアを賌入するこずはできたせん。



そのため、ラむセンスされたディスクの䟡栌は、海賊版のディスクの10倍ではありたせんでした。さらに、出版瀟は最初にディスクを印刷する必芁があったため、コストが発生したした。



時間を無駄にしないために、開発者に提䟛された暙準的な条件を確認したす。



出版瀟は垞に独占的な所有暩を䞻匵しおいたす。実際に完成したゲヌムの堎合、開発者には10,000ドル以䞊のロむダルティが提䟛されたした。ロむダルティ売䞊の同じ割合は最倧で25であり、より頻繁に15から20を提䟛したす。理論䞊、出版瀟が頭金を含む前払い費甚を支払った埌、利息は支払われるべきでした。ロむダリティに぀いおは、私のデヌタによるず、出版瀟にずっおはあたり意味がないので、誰にも支払われおいないずすぐに蚀いたいず思いたす。圓時、出版瀟が䜕らかの圢で怜蚌できるずいう考えは完党な神話であったこずを理解する必芁がありたす。これは簡単にできるずは思いたせんが、少なくずも珟時点では、少なくずも真剣に倢を芋るこずができたす。そしお...ビゞネスがあらゆる面で皎金を隠しおいる囜では、期埅しおください実際の販売状況に関する蚘録を特定するのは簡単なこずです。



だから、私たちは、皆ず同じように、これらの10,000ドルを提䟛されたした。これは1日ではないこずを明確にしたすが、すべおではありたせん。さもなければ、AppStoreのトップにたどり着いたカゞュアルな人々が誀解する可胜性がありたす。぀たり開発者は、人件費の点で非垞に深刻なゲヌムを䜕らかの圢で提䟛しなければならない状況に眮かれたしたが、掚定支払額はこれらの人件費に察応しおいたせん。䞀般に、これは出版瀟が実際に出版瀟ではなかったずいう事実に盎接関連しおいたす。圌は䞻な機胜を果たさなかった-ある郜垂での「15の屋台」の販売独占的暩利を持぀は出版物ではないので、圌は珟実には䜕も売るこずができなかった。䞀般的にこれは出版瀟の責任でもありたすが、どんな皮類の進歩に぀いおも話はありたせんでした。ブカでのプロモヌションに぀いおは、ニュヌスを賌読者に電子メヌルで送信しおいるず蚀われたした。圓時の賌読者数は11,000人でした。䞀般的に、マネヌゞャヌの女の子が真剣に私に蚀ったように、ブカはずおも楜しかったです、圌らはブリザヌドに前もっお10,000ドルも支払ったこず。䞀般に、私の意芋では、このナンセンスはすべお、開発者に「他の方法では䞍可胜」であり、「今のずころは容認する必芁がある」ず確信させるこずを目的ずしおいたすが、「埌で」䜕かに陥り始めたす。この「埌」の正確なスケゞュヌルはありたせんでしたが、おそらく次のプロゞェクトは異なる条件で怜蚎されるずいうヒントが出されたした。



少し埌に、非垞に興味深い情報が偶然利甚可胜になりたした。実際、ファヌガスのような非垞に有名な海賊䌚瀟の䞭には、ロシアの出版瀟の子䌚瀟であったこずが刀明しおいたす。そしお、この単玔な説明は、私にずっお個人的な質問ではないので、論理的ずいうよりも私には思えたす。



そしお昚幎、私はむンタヌネット䞊でむンタヌネット䞊で、埌に刀​​明したように、圓時はゲヌムのロヌカラむズに携わっおいた人に䌚いたした簡単に蚀うず、圌らはゲヌムを英語からロシア語に翻蚳する呜什を取りたした。圌は、圌らがロヌカラむズのためにたった5,000ドルを払ったず私に䞍平を蚀いたした。぀たりゲヌムを転送するこずは、ゲヌムを䜜成するよりもわずか2倍安くなりたした。そしお今、私はそれがそのようなものだった理由を理解しおいたす-ロシアでは著䜜暩䟵害だけが十分に確立されたしたが、実際には出版物はありたせんでした。そしおそれは決しお珟れず、その代わりに高速むンタヌネットがあり、それが西偎の取匕フロアぞのアクセスを開いた。



次にゲヌムはどうなりたしたか



近幎、私はこの仕事を玠晎らしい隔離で完了したした。このベンチャヌをあきらめなかったのはなぜですかどうやら、二床目にそれを匕き抜かないこずを理解したが、本圓にそれを匕き抜きたいず思った。そしお、率盎に蚀っお、私は途䞭で始めたものをあきらめお攟棄するのが嫌いです-それは「莈り物」ず「呪い」がすべお䞀぀になったようなものです。たた、甚語に関しお深刻な誀算がありたした。もっず早く仕䞊げるこずができるず思っおいたしたが、実際には、ささいなこずはい぀も消費されおいたした。そしお、私がさらに前進すればするほど、「できなかった」ず自分に認めるこずはより䞍快になりたす。それが私が最埌になった方法です。最終的に、私は自分で䜕かを仕䞊げなければなりたせんでした-䟋えばメニュヌ。䞀般的に、私は絵を描く方法がわからず、本圓に孊びたくありたせんが、行くずころはありたせんでした。



私は次の入り口に䜏んでいた友人からゲヌムの音楜を取りたした-圌は私に遞択するために15曲をくれたした。倚くの創造的な人々のように、圌には䜜品を売る機䌚がなかったので、圌の曲はもちろん誰にも知られおいたせんでした。私の意芋では、圌はある皮の音楜゚ディタヌで音笊を入力したしたが、音楜的な背景ず完璧な耳を持っおいたため、私の意芋では、䜜品は泚目に倀したす。ゞャン・ミシェル・ゞャヌルの䜜品に察する著者の同情を感じたす。「スペヌス」のテヌマは本圓に私に合っおいたす。



音声挔技の残りの郚分は、率盎に蚀っお、それほど専門的にではなく、これを行う力がなくなったために行われたした。この物語を終わらせ、生き続けるこずが必芁でした。基本的に、私のフレヌズはすべお、友人によっお通垞のマむクに向かっお話され、私は自分自身で「死の叫び」を衚明したした。その結果、倚くの人はこの声の挔技が奜きではありたせんでしたが、個人的には私をたったく悩たせたせんでした。



それがすべお終わった方法...しかし、基本的には䜕も。ゲヌムをやめたのは、自分以倖の人に頌るこずができなくなり、少なくずもゲヌムにはデザむンが必芁だず気づいたからです。完了から玄1幎埌、䜕かを始めるずいうポむントがわからなかったため、䜕もするように匷制するこずはできたせんでした。それから圌は感芚に来お、どんな利益よりも「スポヌツの興味」からではなく、特殊効果の小さな線集者を䜜るこずに決めたした。その埌、この゚ディタヌは「マゞックパヌティクル」ず呌ばれたした。゚ディタヌをigrodelovに玹介した埌、APIを远加しお、自分のプログラムから特殊効果を再珟できるようになりたした。これらはすべお非垞に困難な動きをしたしたが、結果ずしお私は売り䞊げを埗たした。 Igrodelyは、䞻にカゞュアルゲヌムのために定期的に私の技術を賌入したした。



ずりあえず、私はマゞックパヌティクルの䜜業を続けおいたすが、驚いたこずに、それがすでにOnimode Earthプロゞェクトよりも倧きいこずがわかりたした。




2016幎4月15日重芁な曎新...



芪愛なる仲間

あなたの貎重なサポヌトのおかげで、ゲヌムは䜕ずかGreenlightを通過するこずができたした。䞀方で、それは私にずっお非垞に嬉しいです特に昚日誕生日を迎えたこずを考えるず、そしおもう䞀方で... IT」。もちろん、私はこれらすべおを行うのは非垞に面倒ですが、今では明らかに「あなたは降りたせん」。私の䞭幎プロゞェクトの匷力なサポヌトに再び感謝したす



よろしく

アレクセむ・セドフ






, , , « ».





.



All Articles