ゲーム開発のコンテキストでの「目盛り」とは何ですか?


12

わかりましたので、これは非常に初心者レベルの質問ですが、私はこれを知っておく必要があります、「ティック」という用語はゲーム開発の文脈で何を指すのですか?FPSと同じものですか?ありがとう!


1
BTWからこの用語はどこで入手しましたか?何人かの人々physics engine update frameは、カジュアルなプレイヤーが覚え/理解するには長すぎるので、単にティックと呼びます。
バリント

回答:


18

ティックは時間の測定単位です。具体的には、ゲーム内で繰り返されるアクション(通常は広範なアクション)の単一のインスタンス、またはアクションが消費する期間を指します。

ティックは繰り返され、(ほとんど)規則的です。この用語は、時計が作る音の1つ(「カチカチ」と「カチカチ」)に由来します。

通常、ティックは、メインのゲームロジックループなどのループの反復です。たとえば、ゲームロジックが1フレームに1回「ティック」する、または「ティック中にキャラクターの位置が更新される」と言うことができます。

ただし、より詳細な期間を参照することもできます。「ゲーム内のAIティックは5msの処理時間に制限されています」と言うことができます。

FPSは、ゲームが1秒間に処理するフレーム数(通常はフレームをレンダリングする)の尺度です。ティックとFPSは必ずしも関連しているわけではありませんが、ゲームロジックループの1回の実行を「ロジックフレーム」と呼ぶことがあります。この場合、(ロジック)FPSレートは1秒あたりに処理されるティック数になります。これは、何らかの理由でゲームロジックまたは物理学に固定フレームレートを適用するゲームで特に一般的です。


2

ほとんどのゲームはループで実装されています。何かのようなもの

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
すべてのゲームが静的なティックレートを持っているわけではないことに注意することが重要です。ScreepsとEve onlineはどちらも可変ティックレートをサポートしています。Minecraftは安定したティックレートであると想定されていますが、通常は達成されず、適切に処理されます。Dwarf Fortressのフレームレートは静的であり、維持できない場合は低下しますが、それでも動作します。
coteyr

ここで、「フレーム」と「ティック」という用語を少し混同しすぎていると思います。ティックは複数のフレームにまたがることもできます(または更新サイクル)。
Tyyppi_77

1

「目盛り」とは、2つの異なるものを指します。画面に表示されているすべてのグラフィックが更新されると言ったように、フレームティックを参照できます。ただし、「ティック」という用語は、ゲームループティックを指すこともあります。その種類のティックは、コードが実行される場所です。通常、ティックは、ゲームが停止するまで続く同じ繰り返しティックのループのコンテキストにあります。


1

ティックは通常、すべてのロジックが計算されるゲームループの1つの反復を指すため、ゲームには通常1秒あたり複数のティックがあります。

ただし、多くのゲームは同じスレッド上でグラフィックスとゲームループの両方を実行します。これは、通常、グラフィックスの表示にそれほど時間がかからないため、ロジックが中断されるか、その逆です(ただし、開発者は、最後のフレームと現在のフレームの時間差を取得し、それに応じて移動速度を調整します)。

FPSは、の略Fが rames Pの ER Sそれほど多くのゲームのために、はい、技術的に言えば、各フレームは1つのチックで、econdを。


だから私は両方の用語を同じ意味で使用できますか?
user3843164 14

2
しません 一部のゲーム、特に激しいグラフィックを使用するゲームでは、グラフィック用とロジック用の2つのループが発生する傾向があるため、グラフィックを指す場合は「FPS」、ロジックを指す場合は「ティック」を使用します。
ストロングジョシュア14

ティックはスレッドではありません。

@JoshPetrie Oooh、間違いを指摘してくれてありがとう。現在修正されています。
StrongJoshua

1
通常、ゲームには1秒あたり複数のティックがあります。「頻繁に」、多分。「一般的に」いいえ。ボードゲームまたは戦略ゲームは、「メインループの反復」の意味と「レンダリング」の意味の両方で、ユーザーが移動したときにのみチェックを入れる場合があります。
アンコ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.