わかりましたので、これは非常に初心者レベルの質問ですが、私はこれを知っておく必要があります、「ティック」という用語はゲーム開発の文脈で何を指すのですか?FPSと同じものですか?ありがとう!
わかりましたので、これは非常に初心者レベルの質問ですが、私はこれを知っておく必要があります、「ティック」という用語はゲーム開発の文脈で何を指すのですか?FPSと同じものですか?ありがとう!
回答:
ティックは時間の測定単位です。具体的には、ゲーム内で繰り返されるアクション(通常は広範なアクション)の単一のインスタンス、またはアクションが消費する期間を指します。
ティックは繰り返され、(ほとんど)規則的です。この用語は、時計が作る音の1つ(「カチカチ」と「カチカチ」)に由来します。
通常、ティックは、メインのゲームロジックループなどのループの反復です。たとえば、ゲームロジックが1フレームに1回「ティック」する、または「ティック中にキャラクターの位置が更新される」と言うことができます。
ただし、より詳細な期間を参照することもできます。「ゲーム内のAIティックは5msの処理時間に制限されています」と言うことができます。
FPSは、ゲームが1秒間に処理するフレーム数(通常はフレームをレンダリングする)の尺度です。ティックとFPSは必ずしも関連しているわけではありませんが、ゲームロジックループの1回の実行を「ロジックフレーム」と呼ぶことがあります。この場合、(ロジック)FPSレートは1秒あたりに処理されるティック数になります。これは、何らかの理由でゲームロジックまたは物理学に固定フレームレートを適用するゲームで特に一般的です。
ほとんどのゲームはループで実装されています。何かのようなもの
def main
setup(a, bunch, of, stuff)
load(a, bunch, of, stuff)
while true do {
// <- A tick starts here
read(a, bunch, of, inputs)
call(a, bunch, of, stuff)
do(a, bunch, of, stuff)
update(a, bunch, of, stuff)
// <- A tick ends here
}
clean(a, bunch, of, stuff)
save(a, bunch, of, stuff)
end
これは非常に標準的な方法であり、レンダリング要素とUI要素は別のスレッドで処理されますが、実際のゲームロジック(wを押して船を前進させる)はこのティック内で行われます。
これは「フレーム」とも呼ばれ、通常はフレームレートと呼ばれます(グラフィックスと混同しないでください)。ティックは、この2つを区別するのに役立つ一般的な同義語になりました。
プログラマーとしてのあなたの目標は、何であれ、一定の安定したフレーム(ティック)レートを持つことです。これにより、ゲーム内の応答がスムーズで合理的になり、同時にモデル(グラフィックスではなくプログラミング)がコンピューターフレンドリーな方法で処理できるようになります。ティックタイムはゲーム間で一定ではなく、マジックナンバーはありません。一部のゲームは1秒あたり100フレームであり、他のゲームは3秒ごとに1ティックです。
ティックは通常、すべてのロジックが計算されるゲームループの1つの反復を指すため、ゲームには通常1秒あたり複数のティックがあります。
ただし、多くのゲームは同じスレッド上でグラフィックスとゲームループの両方を実行します。これは、通常、グラフィックスの表示にそれほど時間がかからないため、ロジックが中断されるか、その逆です(ただし、開発者は、最後のフレームと現在のフレームの時間差を取得し、それに応じて移動速度を調整します)。
FPSは、の略Fが rames Pの ER Sそれほど多くのゲームのために、はい、技術的に言えば、各フレームは1つのチックで、econdを。
physics engine update frame
は、カジュアルなプレイヤーが覚え/理解するには長すぎるので、単にティックと呼びます。