2017-01-03 10 views
0

私は現在、約1500人の非プレイヤキャラクタを持つゲームを持っています。そのすべては現在、AIスクリプトのいくつかのバリエーションを実行しています。今、このAIはとても簡単です。 NPCは単に場所から場所までランダムに歩いています。これは、ゲームが3秒間隔で実行されるときに、現在3秒で計時されているゲームループで発生します。NPCのAIスクリプトを実行すると、Webワーカーの役に立つユースケースになりますか?

今、私のAIはUIをロックしていないようですが、複雑さが増していたり​​、NPCの方がUIで不具合の原因となっている可能性が高いと思います。これは、Webワーカーのための良いユースケースですか?最初の調査では、あまりにも多くのWebワーカーを作成しないようにして、類似のAIがそこにあるWebワーカーに一緒にプールされる可能性があることを示しています。

実際にコードを調べることに興味がある人にとっては、このコードは、私がやっていることの良い考えを与えるでしょうが、その多くは現時点で書き直されています。 https://github.com/caimen/subfaction

+0

スタックオーバーフローはコードレビューサービスではありません。興味のある関連[コードレビューサイト](http://codereview.stackexchange.com)があります。いずれにしても、ここで答えを見つける最良の方法は、システムが壊れた極端なケースにシステムをプッシュし、それが許容可能かどうかを判断することです。たとえば、〜1.5Kの文字を期待していて、はるかに複雑なロジックであっても50Kで正常に動作する場合は、それは問題ではありません。 **時期尚早最適化**は、あなたが気をつけなければ生きていくでしょう。 – tadman

+0

私はそれが非意見ベースの回答を持つことができるように質問を試みた。私はまだ、タイトルの質問は、意見ではなく、事実に基づいて答えることができると信じています。私はスタックオーバーフローの方針を知っています。なぜなら、なぜこの質問が主に意見に基づいて閉じられるべきではないと思うのか、あなたが良い理由を提供できない限りです。私はコードレビューを探しているわけではありません。なぜ、これがWebワーカーにとって良いユースケースではないのか、なぜそうではないのか、事実に基づく証拠を探しています。この質問がスタックのオーバーフローに適していないと思われる場合は、理由を指定してください。 – Caimen

+0

それはまだ主に意見の問題です。これはアーキテクチャ上の考慮事項であり、ここに列挙するには多くの解決策があります。従来のMUD型ゲームでは単純なイベントループでこれを実装し、そこから分岐する方法を見てください。 – tadman

答えて

0

私はいくつかのテストを行い、Webワーカーは大量のNPC AIの良いユースケースのように思えます。実際には、Webワーカーとの間で多くの処理がバックグラウンドで行われるため、DOMを変更することができます。それだけでなく、実際にスレッドであり、少なくともChromeではプロセッサコアを実際に利用しています。実際に何人のWebワーカーが出現するかなど、他の考慮事項があります。素晴らしいコア見積もりが見つかりました。https://github.com/oftn-oswg/core-estimator

おそらく少し古いかもしれませんが、まだ動作している優れたツールがあります。あなたのコンピュータに最適なWeb​​ワーカーの数をベンチマークすることができ、そこでのパワーに関する興味深い考えが得られます。もちろん

http://pmav.eu/stuff/javascript-webworkers/

あなたAIは非常に単純であり、あなたがそこにDOMの遅れを経験していない本当にこれで行き過ぎする必要がない場合。

関連する問題