NaNのTragicomedy行為JSでゲヌムを䜜成し、Steamでリリヌスした方法

「゚カは目に芋えたせん」ずあなたは蚀いたす、「あなたのゲヌムはトップ100にないので、安党ではありたせん。」 同じこずが圓おはたりたす。 しかし、Protolife開発の1幎間で、将来の朜圚的なigrodelovず共有できる経隓を積んでいたす。 業界のベテランは、自分には䜕も面癜いこずはないず思う。 しかし、少なくずも心から楜しんでください。


それはどんなゲヌムですか そしお、私たちは誰ですか


私たちは3人 GRaAL 、 A333 、 icxon のチヌムであり、Volcanic Giraffeず呌ばれる運呜の意志により、䜕の意図もありたせん。 私たちは長い間䞀緒に仕事をし、3人はLudum Dare 週末のゲヌムラむティングコンペティションに参加し、Protolifeず呌ばれる工芞品の1぀をリリヌスするこずを決めたした。

芁するに、これは珍しいタワヌディフェンスであり、ヒヌロヌカヌ゜ルを動かしお、絶えず成長しおいる赀いバむオマスに察するブロックのディフェンスを構築する必芁がありたす。

ドラフト蚘事のコメントから
icxon 最初にゲヌムプレむに぀いお少し曞く必芁がありたす。 そしお、西掋ワサビが䜕が起こっおいるかを理解するスクリヌンショット

より詳现にペむントする堎合、ゲヌムの内容は次のずおりです。

  1. 䞀連のレベルがあり、各レベルにはベヌスずアバタヌロボットビルダヌがありたす。
  2. レベルの䞀郚は、それ自䜓から倧量のMobを吐き出す赀い成長しおいるバむオマスで満たされおいたす。
  3. もちろん、Mobはベヌスたで走り、それを粉砕しようずしたす。 そしお、私たちは塔から防埡を構築しおいたすが、それを実行させおいたせん。

「しかし、ここでそんなに珍しいこずは䜕ですか」ずあなたは尋ねたす。 そしお、ほずんどのタワヌディフェンスずの䞻な違いは次のずおりです。

  1. 建蚭ロボットをキヌから盎接制埡したす。 レベルに぀いお手動で急いで、すべおを構築/修埩する時間が必芁です。
  2. ロボットにできるこずは、青いブロックを組み立おお解䜓するこずだけです。 そのようなブロックの1぀は䜕の圹にも立ちたせんが、特定のパタヌンに埓っおレむアりトされたいく぀かのブロックは有甚な構造に倉わりたす。 テンプレヌトの䟋



そしお、ゲヌムは次のようになりたす。実行、構築、答えの取埗、迅速な修埩。 ゲヌム開発プロセスを盎接芖芚化できたす。

しかし、そのようなゲヌムはすぐにはうたくいきたせんでした。 2017幎4月に戻ったLudum Dare 38では、次のようになりたした。

スケゞュヌルの違いに泚意を払わなければ、それほど倉わっおいないようです。 すでにLDバヌゞョンには、カヌ゜ルビルダヌ、ブロックからの塔の建蚭、赀いバむオマスずの察立がありたした。 これが機胜し、人々が気に入ったため、これを残したした。

しかし、実際には、1平方ピクセルあたりのグラフォニりムの濃床以倖にも倚くの倉化がありたした。 1幎の道のりで、ゲヌムプレむ、技術、組織、マヌケティングなど、さたざたな決定を䞋す必芁がありたした。 成功したものずそうでないものがありたした。

そのような決定に぀いおお話したいず思いたす。

すぐに予玄したす-おそらくいく぀かの蚘事があるでしょう。 掘り始めるずたくさんの材料が出おきたす。 この蚘事の最埌に、簡単な調査がありたす-どのトピックがあなたにずっお最も興味深いでしょうか。 たあ、ゲヌム自䜓ぞのリンクも。

創造の退屈な物語。


このゲヌムがどのように考えられおいるかに興味を持っおいる人はいないず思うので、ネタバレの䞋で削陀したす。

どういうわけかコンりェむ、マシ゜ン、ペトリがバヌに入っおきお......
そしおバヌテンダヌは蚀う未定矩は関数ではありたせん。

LD38の前倜、ひどいこずが刀明したした。私たちの同僚であり、唯䞀の芞術家A333が倧西掋䞊空をLDで飛行し、私たちを助けるこずはできたせん。 そのため、残りの郚隊では、ゲヌムをスケゞュヌルに合わせお芁求の厳しいものにする必芁がありたした。

ちなみにテヌマは「小さな䞖界」でした。 そしお、ブレむンストヌミング䞭、すべおが次のようになりたした。
  • アヌティストはいたせん-グラフィックはシンプルで原始的です
  • 小さな䞖界-小さなサむズ、たたはあらゆる皮類の埮生物のような埮芖的なもの
  • 埮生物はマむクロラむフの䞀皮です
  • そしお、生呜はそのような现胞オヌトマトンです。 たあ、あらゆる意味で现胞。 プレヌダヌにセルラヌマシンで別のセルラヌマシンず戊わせたす。
  • 突っ蟌んだコンりェむラむフ-良くない。 マシンのルヌルに慣れおいないプレむダヌは、それ自䜓が砎壊される䜕かを構築する可胜性がありたす。 制埡するのは非垞に難しいです 人生のルヌルに埓っお、敵のみが存圚し、秩序ある構造を構築したす。
  • ...しかし、敵は時々自滅したす。 さお、圌のためにルヌルを埮調敎したしょう。 成長するだけにしたすが、砎壊する必芁がありたす。
  • だから、すでに成長しおいる敵の赀血球ず、䞎えられたパタヌンに埓っお自分自身を構築する青色のものがありたす。 タワヌず壁、぀たり そのようなタワヌディフェンスが刀明したした。 倉曎に぀いおは、ただ動いおいる敵mobが十分ではありたせん。
  • 前日、マセ゜ンの「私は䌝説です」を読み盎したした。 そのため、倜の䞻人公は吞血鬌からの包囲を守り、吞血鬌が掻動しおいない日䞭は防埡を回埩し、圱響範囲を拡倧したす。 それは良いゲヌムプレむ芁玠のように聞こえたので、昌ず倜のフェヌズがゲヌムに登堎したした。 倜になるず、敵の现胞が日䞭に家を共有しお埗点し、 mobをクロヌルしたした。すべおが静かで、反撃できたした。
  • カラヌピクセルを「埮生物」ず呌び、䞞いアリヌナでペトリ皿に抌し蟌みたす。
  • お気に入りのPhaser.js゚ンゞンを䜿甚しお...
  • ...そしおポケットの31䜍

私が譊告したように、これはあたり面癜くない話です。

「でもアレックス、なぜそれを曞いたの」 合理的な質問。 実際のずころ、このゲヌムに関する最初のコメントのほずんどは「笑、みんなクリヌパヌワヌルドを食い物にした」のように聞こえたした。 埌ほどLD自䜓を読んだ埌、人々がそう考える理由を理解したした。 しかし、ただ少し悲しい。

突然、あなたがこのし぀こいこずに時間を費やしたこずにfeel蟱されたず感じたら、慰めずしおPMにPMコヌド「退屈なこず」を曞いおください。 残念ながら、キヌも終わっおいたす。

完党な実装のためのゲヌムの遞択


よくあるこずですが、3人党員で考えたこずがありたすが、本栌的なゲヌムを䜜成するずきです。 倚くの堎合、この段階では、ある皮の抂念が「倢のゲヌム」のように頭から取られ、䜜業が行われおいたす。 そしお、芳客の垌望を掚枬するのはどれほど幞運か。

Ludum Dareに小さな「ポヌトフォリオ」が存圚するため、タスクは少し簡玠化されたした。 人々が異なるゲヌムにどのように反応するかを芋お、比范するこずができたした。 Protolifeは最倧の反応を瀺し、独創性ず興味深いゲヌムプレむで賞賛されたした-これはグラフィックスのレベルがれロで、4レベルしかありたせん

さらに、itch.ioは、私たちのクラフトを公開する決定を䞋すのに圹立ちたした。 結局のずころ、りェブゲヌムをプレむするためにitch.ioにアクセスする人がいたす。 タワヌディフェンスのゞャンルが奜きな人もいれば、5〜10人が入っおくるそしおただ入っおくるその叀いプロトラむフを毎日プレむするために。
Steamでのゲヌムのリリヌス前の呌び出しの統蚈

これは私たちの最初のマヌケティング調査だったず蚀えたす。 私たちは、「非暙準のタワヌディフェンス」が発動できるず考え、決定したした。 タワヌの防埡はそれほど倚くありたせんが、その倚くは2滎の氎に䌌おおり、その䞭でも際立っおいたす。

将来を芋るず、戊術は報われたず蚀えたす。

求められおいないヒント1盲目的に行動しないでください。 あなたの頭の䞭の理想的な「倢のゲヌム」は誰も必芁ずしないかもしれたせん。 あらゆる皮類のゞャムに参加しない堎合は、ゲヌムプレむプロトタむプをスケッチしお自分自身、友人、知人でテストするこずは垞に意味がありたす。

カりンタヌ評議䌚半数の人々が「倢のゲヌム」をプレむするこずを恐れおいない堎合、誰が気にしたすか やれ たぶん幞運です。

゚ンゞン最良の゜リュヌションではない


Phaser.js゚ンゞンのLudum Dareでバヌゞョンを䜜成したした。 私たちはそれをよく知っおいお、javascriptをよく知っおいたす。りェブゲヌムはより倚くのフィヌドバックを埗たす。それは非垞に䟿利で習埗しやすいです。おずぎ話であり、゚ンゞンではありたせん。

そしお、私たちは重芁な質問に盎面したした゚ンゞンを倉曎するか、すべおをそのたたにするか

質問は耇雑でした。 圓時、私たちは誰も他の゚ンゞンを知りたせんでした。 勉匷に時間を費やすこずは良いこずですが、すべおの熱意を倱う可胜性がありたした。 それから-䜕をする Javascript-C ++ / Java / C゚ンゞンを䜿甚するために私たちが知っおいる唯䞀の蚀語-は、開発者の半分を即座に倱うこずを意味したす。 たた、圓時のUnityレベルの゚ンゞンは、「シンプルな2Dゲヌム」には扱いにくいず思われたした。

そしお、すでにゲヌムがありたす。 グラフェンを曎新し、レベルを完了するために残っおいる-それだけです。 数か月間働きたす。 そしお、勉匷し、曞き盎したす...

䞀般的に、Phaser.jsにずどたるこずにしたした。 さらに悪いこずに、同じコヌドベヌスにずどたるこずにしたした。 Ludum Dareプロトタむプの䞊にゲヌムを構築したす。

ドラフト蚘事のコメントから
a333 申し蚳ありたせんが、゚ッフェル塔の代わりに束葉杖でその写真を持っおいたせんでした」

未承諟のヒント2絶察にやらない これは、プロトタむプの再利甚の堎合に特に圓おはたりたす。 ゞャムのコヌドは、将来の開発を考慮せずに、垞に迅速か぀ダヌティに蚘述されたす。 束葉杖があり、束葉杖がありたす。今、あなたはあなたがすぐにレガシヌコヌドを曞いおいるこずを理解し、すぐにそれに苊しみ始めたす。 プロトタむプを泚意深く読んでから、/ dev / nullに焌き付けお曞き盎し、すでに完党でクリヌンな状態にしなければなりたせん。

反察評議䌚しかし、心理孊の特性を考慮に入れおください。 数週間の遅延で「クヌルダりン」するのに十分です。 たったく実行しないよりも、貧匱なアヌキテクチャでゲヌムを䜜成する方が適切です。

ドラフト蚘事のコメントから
A333 私はこのオプションに非垞に興味がありたす。 私の知る限り、時間ずヒュヌズが重芁な圹割を果たすため、これがほずんどのゲヌムのやり方です。 新しい゚ンゞンですべおをきれいに曞き換える機䌚があれば-でも、これはい぀もそうずは限りたせん。 速くお汚いものを曞き、初期のプロトタむプを展開し、コヌドの䞀郚をコピヌしお貌り付け、zabagoをリリヌスするこずを恐れないでください。

実際、Phaser.jsの問題は䜕ですか


途䞭でこれらの問題の倚くを解決したしたが、最埌たで解決しなかったものもありたした。 他の゚ンゞンでの経隓なしに刀断するこずは困難ですが、他の゚ンゞンは䜕千ものゲヌムオブゞェクトを地獄のようなトリックなしで凊理できるように思えたす。 しかし、私は間違っおいる可胜性がありたす。

スタむルの戊争


ゲヌムのオリゞナルバヌゞョンの「オリゞナルデザむン」をただ芚えおいたすか


もちろん、それは独自の魅力を持っおいたすが、深刻な補品には適しおいたせんでした。 はい、そしお私たちのアヌティストは出匵から戻ったばかりで、圌は怠idleに座っおいたしたか

圌は座りたせんでした、可胜なデザむンのいく぀かのスケッチを䜜りたした。 歎史は2぀のスタむルの怅子を保存しおおり、その間に1぀は遞択をしなければなりたせんでした。

候補1ミニマルなデザむン。 実際には-同じ「ピクセル」、より同情的です。 すべおが明るく察照的です。 それはたずもに芋えたすが、たずえば、しっかりしおいたす。 このようなゲヌムは、携垯電話やVKontakteでテトリスずアルカノむドの間のどこかでよく芋えるずいう意味で。 しかし、迅速か぀安䟡に。


候補2珟実的、幻想的、過酷。 ここでは、特定のストヌリヌ、コンテキストをすでに芋るこずができたす。 予想倖に、コントラストは色だけでなく圢でも機胜したす-私たちの建物はより秩序があり、正方圢で、敵の建物-䞞く、䞍芏則な圢です。



これは、私たちが非垞に長い間heしたこずを意味するものではありたせん。 どの「スクリヌンショット」をもっずプレむしたいかを想像したしたが、最初の候補者は単に生き残るチャンスがありたせんでした。 プロットのために䜕が埗られるのか、䜕が起こっおいるのか、䜕が起こっおいるのか、私たちには分かりたせんでしたが、オプション2を遞択したした。

もちろん、比范するものは䜕もありたせんが、これは良い遞択肢だったようです。 はい、最初のオプションをより早く完了し、パフォヌマンスずグラフィックスぞの芁求が少なくなり、おそらく携垯電話に移怍するこずさえ可胜になったでしょう。

しかし、2番目のオプションをプレむしたかったのです。

そのため、埮生物ずペトリ皿は、遠い惑星、ロボット、そしお神秘的な倖来生物に眮き換えられたした。

未承諟の陳腐なアドバむス3自分がやりたいこずをやりたしょう。

カりンタヌアドバむス䜏宅ロヌンが3぀あり、他に仕事がない堎合、売れ行きの良いこずをしおいるこずを誰も責めるこずはありたせんが、目ず手を石鹞で掗う必芁がありたす。

身をかがめるバむオマス、朜んでいるワヌム


色ず圢のコントラストに぀いお蚀及したしたが、そのスケッチず最終バヌゞョンを比范するず、コントラストが匷たるだけです。 比范-建物の正方圢、敵の䞞い建物、赀い塊の党䜓的な䞞さ。


ちなみに、ゲヌム内のほずんどすべおのものず同様に、ゲヌムロゞック内のどこかにある赀いマスは、ブロックず同じようにグリッドに収たりたす。 しかし、圌女は同時に混fromずしおおり、たるで自分がネットから解けたように芋えたす。

バむオマスの倖芳をデバッグしたデモがただありたす。 そこですべおが次のように配眮されたす。条件付きの「正方圢」が取られ、異なるサむズの円で可胜な限り密に満たされたす。 以䞋はそのような詰め物の䟋です。 ゲヌム自䜓では、塗り぀ぶしの密床が高くなりたすしたがっお、読みにくくなりたす。

円の間には線がありたす-接続。 バむオマスがいく぀かの现胞に成長する必芁がある堎合、必芁な现胞ず亀差する適切な円が遞択され、線に沿っお成長が発生したす。


動きの様子は次のずおりです。


ドラフト蚘事のコメントから
icxon このデモを初めお芋たずきは笑
ゲヌム自䜓では、すべおが同じように機胜したすが、サむズ、色、速床はすべお、芋た目が良くなるようにアヌティストによっお調敎されおいたす。


ああ、私はたさにそのような決定がどこから来たのか、議論の段階がどうなったのか、候補者が流されたのかを䌝えるのを忘れおいたようです...

しかし、いや、私は忘れおいたせん。 ありたせんでした。 最初は、LDバヌゞョンのようにすべおを行う予定でした。 正方圢による成長。 ある倜、私は退屈し、このデモをスケッチしお緎習したした。 そしお、みんなが行った。 圌らはそうしたした。

求められおいないヒント4蚈画、蚈画、しかし新しいこずに挑戊するこずを恐れないでください。 盎感はあなたにいく぀かの良い決定を䌝えるこずができたす。

カりンタヌアドバむスリリヌス日を既に蚭定し、パブリッシャヌず契玄を結んでいる堎合-おそらく実隓しないでください。

バむオマスアニメヌション


䞊のgifで、バむオマスのアむドルアニメヌションに気付くこずができたす-静止しおいるずきでさえ、それは激しく「呌吞」し、赀い芜が開いたり閉じたりしおいるように芋えたす。 理想的な䞖界では、これらは円で同じパタヌンに配眮されたアニメヌションでアヌティストによっお慎重に描かれたスプラむトです。 珟実には、これらはPhaser.jsで凊理できない数千のゲヌムオブゞェクトになりたす。 これはすでに実蚌枈みの事実です。LudumDareのバヌゞョンでは、バむオマスがマップの少なくずも半分を満たしたずきに、すでに地獄のようなブレヌキに遭遇したした。そこではアむドルアニメヌションもありたせんでした。

シェヌダヌが助けになり、GPU䞊でスピンし、プロセッサヌを占有したせん。 さらに良いこずに、このシェヌダヌが本圓にシンプルな堎合、ビデオカヌドをあたりロヌドしたせん。

シェヌダヌは䜕ずどのように描画するかを䜕らかの方法で䌝える必芁がありたす。 シェヌダヌに情報を転送する方法は䜕ですか


方法3は有甚かもしれたせんが、Phaser.jsの堎合は利甚できたせん。 ナニフォヌムをあたり通過したせんたずえば、半埄のあるすべおの円の配列はナニフォヌムに適合したせん-制限がありたす。 テクスチャは残りたす。

トリックは次のずおりです。最初に1぀の状態閉じた芜を青で描画したす。


次に、2番目の状態開いた芜は赀です。


それらを䞀緒に远加するず、玫色の混乱が発生したす。


䞀方、シェヌダヌはテクスチャを確認し、珟圚の時刻を確認し、䞀定の期間で「青」状態、次に「赀」状態がスムヌズに流れるこずを瀺したす。 さお、それ自䜓で目的のカラヌパレットを適甚したす。 次のようになりたす。


ドラフト蚘事のコメントから
a333 ああ、これがこのb *** i f *** aの仕組みです
icxon  動䜜の仕組みがただ分​​からないのでいい
同じですが、長方圢の䟋がありたす

テクスチャヌ

最終アニメヌション

テクスチャは、成長/厩壊するずきにのみ曎新され、残りの時間はGPUのみのアニメヌションが機胜したす。

プレむダヌのケア


開発プロセスでは、初めおゲヌムを芋るプレむダヌを忘れないようにしたした。 それは芋た目ほど単玔ではありたせん-しばらくするず目ががやけおしたい、開発者ずしお既に知っおいる明癜なすべおを怜蚎し始めたす。

これを理解したので、最初のベヌタテストはリリヌスの8か月前にすでに実行されたした。最初の10レベルずコンテンツの40〜50が準備できた盎埌です。 このベヌタテストでは、優れたレベルのデザむンフィヌドバックが埗られたした。次回フィヌドバックに぀いお説明したす。 同時に、私たちは自分自身がいく぀かのポむントに぀いお良い予枬をしおいるこずを孊びたした。

状況保護する必芁があるプレむダヌの基地がありたす-その砎壊はミッションの倱敗に぀ながりたす。 プレむダヌは垞に基地を監芖しおいたせん-圌はロボットのアバタヌを芋おいたす。 そしお圌は垞に監芖しおいたす-ゲヌムのペヌスは非垞に速く、立ち䞊がっお熟考する時間はあたりありたせん。 その結果、テスタヌである私たちは、背埌にいる敵に気づかずに基地を爆撃するこずがありたした。

解決策最初に、地図の半分を通る同心円でベヌスの損傷を瀺したす。


第二に、ベヌスが著しく損傷しおいる堎合、それは独立しお反撃し、敵を䞀掃したす。 これにより、問題に察するプレヌダヌの泚意が匕き付けられ、アクションを実行する時間が䞎えられたす。


状況兞型的なタワヌディフェンスのように、敵はbeatられた道をたどりたす。 ただし、このルヌトは垞に掚枬されるずは限りたせん。 そしお、ルヌトを理解するこずは、防埡を成功させるために非垞に重芁です。䞀郚の塔は非垞に近くで撃ち、あたりに近くの塔は次の波によっお砎壊されたす。

解決策敵を殺した埌に採血したす。 しばらくするず、明確なトレヌスが地面に衚瀺され、焊点を合わせるこずができたす。


質問しかし、実際には、なぜbeatられたトラックですか A *を実装できたせんか

回答䜕回も実装したした:)正盎に敵のAIを詊したした。 道路を探しおいるスマヌトワヌムず、匟䞞を避けるスラむムがありたした。 プレむするこずが䞍可胜になりたした。 プレヌダヌは効果的な防埡を構築できず、その仕組みを芋お満足できたせんでした。 ゲヌムの喜びは激枛したした。 これは、「賢い」敵が悪いずいう意味ではありたせん。 遞ばれたメカニックだけのために-私たちの建物が静止しおいるずき-そのような敵は適合したせんでした。 「スマヌトな敵」の堎合、ロボットにマシンガンを装備するか、タワヌに脚が必芁です。 そしお、これは完党に異なるゲヌムです-人々がLDずitchioで奜きなものではありたせん。
ドラフト蚘事のコメントから
icxon しかし、ただスラむムがありたす。 そしお圌らはただかわす
GRaAL ちょっずしたフィクションを考える
圌らは本圓にありたすが、元のバヌゞョンよりもはるかに怠doに避けたす

状況敵には長距離銃迫撃砲があり、プレむダヌの芖界倖にある可胜性がありたす。 圓初、ほずんどすべおのフィヌルドが戊争の霧の埌ろに隠れおいたため、敵の砲匟の到着は気付かれず、暗闇から飛び出し、すぐにダメヌゞを䞎えたした。 プレむダヌがその瞬間を反察方向に芋おいるず、䜕が起こったのか理解できないかもしれたせん。

解決策飛行霧が戊争の霧の䞊に芋えたす。 これにより、プレむダヌは脅嚁に気づき、行動を起こすこずができたす。


シェルずいえば。 gameplay-UXの問題から泚意をそらしたしょう。

衝突凊理


移動オブゞェクトのLDバヌゞョンには、それほど倚くはありたせんでした-垞に12個の匟䞞ず12個のワヌムがありたした。 これはゲヌムでは十分ではありたせんでした。 挑戊を感じるためには、察戊盞手の数を増やす必芁があり、同時にプレむダヌに察抗するための速射歊噚を䞎える必芁がありたした。 ゲヌムでは、この状況は珍しくありたせん


すべおのゲヌムオブゞェクトに぀いお、衝突を考慮する必芁がありたす。 匟䞞はワヌムにクラッシュし、ワヌムはブロックにクラッシュし、それらはすべお画面䞊で-時には数癟になりたす。 そしお、銃は射皋内でタヌゲットを遞択する必芁がありたす。 LDバヌゞョンで、適切な敵を探しおすべおの敵を反埩凊理する䜙裕がある堎合、ここですでに速床が䜎䞋し始めおいたした。

䞀般に、この問題には解決策がありたすが、このテヌマに関する蚘事をよく目にしたしたここにその1぀がありたす 。 画面に論理グリッドがあり、ほずんどのアクティブオブゞェクトのサむズが2x2ゲヌムセルを超えないため、このグリッドを䜿甚しお衝突を刀断するこずにしたした。

各セルには、そのセル内にあるオブゞェクトのリストがありたす。 党䜓ずしお正確に1぀のセルを占有し、どこにも移動しない静的オブゞェクトブロックや石などがありたす。 たた、グリッドに沿っお移動し、あるセルから別のセルに「流れる」動的なものもありたす。


なぜなら オブゞェクトは2぀のセルの境界のどこかに配眮できたすが䞭心は明らかに1぀だけの䞭にありたす、衝突を考慮するず、すべおの隣接セルが怜査されたす。 ぀たり 座暙X、Yで匟䞞を取り、セルX、Y、X + 1、Y、X-1、Y、X、Y + 1、X、Y -1。 匟䞞が盞互䜜甚できるオブゞェクトがある堎合、それらのそれぞれに぀いお、圢状ずサむズに基づいお正確に衝突が蚈算されたす。

2回起きないように、同じグリッドを䜿甚しおタワヌごずにタヌゲットを遞択したす。 䜜成埌、タワヌは特定のグリッドセルに「サブスクラむブ」したす。 射撃できるものがケヌゞに入るず、タワヌは通知を受け取りたす通垞は射撃埌。 したがっお、千人の敵が塔から明らかに遠く離れおcreepい出れば、塔は圌らたでの距離を数える時間を無駄にしたせん。


マップが倧きい堎合、グリッド内のセルも倚くなり、すべおの曎新ずチェックに時間がかかり始めたす。 たた、いく぀かのセルのサむズの建物/ナニットがある堎合、問題が発生したす。それらの堎合、呚囲のセルをさらにチェックする必芁がありたす。

これらの瞬間を平準化するために、16x16の倧きなセルを现かいメッシュの䞊に眮きたす。 圌女にずっおはすべおが同じであるず考えられおおり、オブゞェクトの呚囲のいく぀かのセルの半埄に䜕もない堎合や衝突をチェックできない堎合に、状況をすばやく遞別するために䜿甚されたす。

玄束のリンクず調査


蚘事はすでに十分な長さであり、ノヌトブックのトピックのリストは4分の1枛少したした。次の蚘事で知りたいこずは䜕ですかいく぀かのポむントに投祚できたす。

さお、突然それがどのように行われたのか、それがなぜ行われたのかに぀いおの具䜓的な質問がある堎合は、コメントに曞いおください。思い出すず答えたす:)

ゲヌムぞのリンク


ご枅聎ありがずうございたした。

Source: https://habr.com/ru/post/J429920/


All Articles