Minecraft Wiki

Minecraft Wikiは、Microsoftから公式ウィキとみなされなくなったため、ウィキのロゴを含むいくつかの変更が必要となりました。詳細はこちらのお知らせをご覧ください。

もっと見る

Minecraft Wiki
Advertisement
Clock JE3.gif
この記事は内容の更新を必要とします。 
この記事を更新して、最近のアップデートや新たな情報を反映してください。
Dark Oak Sapling JE2 BE2.png
この記事は書きかけです。 
あなたが内容を拡充してみませんか?

Minecraftを含む多くのビデオゲームは、巨大な1つのプログラムのループで駆動されている。時計の全ての歯車が振り子に同期しているように、ゲームのシミュレーションを進めることに伴う全てのタスクは、ゲームのループと同期している。この、ゲームループの1サイクルをティック(Tick)と呼ぶ。

ゲームティック[]

Minecraft のゲームループは、1秒に20回の固定回数実行され、1ティックは1/20秒に1回、0.05秒間隔になる。ゲーム中の1日は、ぴったり24,000ティック、20分である。 しかし、コンピューターがこのスピードについていけない場合、単位時間あたりのゲームティック(TPS)はより少なくなる。大半の動作は現実の時間経過よりもティックの経過を基準に実行されるため、動作の重いコンピューターにおいては多くのことにより長く時間がかかることになる。アクションの大半は実時間ではなくゲームティックに基づいて時間を計るので、動作が遅いコンピューターでは時間がかかることがある。

TPSの統計情報としてMSPT(Milliseconds per Tick)がある。これは、サーバーが実際に1ティックを計算するのに使用する時間を表している。TPSを20で維持するためにはMSPTが50を超えないようにしなければならない。以下の場合、サーバー側のラグの原因となる。

  • ホッパーが多い場合。ホッパーは常に上にあるアイテムを検知し続ける。上にインベントリスロットがあるブロックやコンポスターを設置することで検知を停止させることができる。もしくは、同時に運べる量としてはより多い水流での輸送を使用すると良い。
  • レッドストーン回路、レッドストーンの構成部品が多い場合。特にレッドストーンダストは、大量のブロック更新の原因となる。使用していないときは、装置やクロック回路を停止させることで軽減させることができる。
  • MobのAI。松明を使用することで、敵対的なMobのスポーンを制限する、効率的な農場を作ることで軽減できる。

MSPTの値はF3のデバッグ画面に"ms ticks"として表示されるJava Editionでは。フレームタイムグラフ (Alt + F3)にはTPSの値が表示される。どちらの表示もサーバーから統計情報を得ているため、マルチプレイヤーのホストやシングルプレイヤーのみ利用可能である。

ティックごとに、ゲームの様々な部分がほんの少し進行する。移動するオブジェクトの位置変更、Mobの周辺の確認及び動作の更新、プレイヤーの状況による体力と空腹、などなど。

ティックの一部分としては 起こらない ものに、グラフィックの描画がある。レンダリングは独立した、非同期のループで発生する。これによりビデオパフォーマンスがゲームメカニズムに影響を与えたり、その逆が起こることを抑制する。

チャンクティック[]

ゲームティックごとに、プレイヤーの描写距離範囲内と、プレイヤーの周囲128ブロック以内のそれぞれのチャンクで、ティック処理が行われる。

これは様々な影響を及ぼす:

  • 雷雨の際、それらのチャンクのどこかに落雷する。(1/100000の確率)
  • 1/16の確率で、気候に応じて表層のブロックに対しどれかひとつが選ばれる:
    • 寒冷気候のバイオームでかつ可能ならば、凍結する。
    • 雪が降っていてかつ可能ならば、が積もる。
    • 雨が降っていれば、大釜が満たされる。
  • 一定の数のブロックが、以下で説明されるようなランダムブロックティックに選ばれる。

ブロックティック[]

Minecraft 1.2では、チャンクは16×16×16のセクションと呼ばれるもので構成されているようになった。読み込まれているチャンク範囲内のそれぞれのセクションから、3つの(もしくは/gamerule randomTickSpeedによって設定された数の)ブロックの座標がランダムに選択される。これらの座標のブロックが、「ランダムブロックティック」に選ばれる。ほとんどのブロックがこのティックを無視するが、自発的に何かをするために使われたりもする:

他のブロックもティックを将来使用するかもしれない。これは「スケジュールティック」と呼ばれる。これは予測可能なパターンで物事が起きるべきことに用いられる。例えばレッドストーンリピーターの状態更新、流の状態変化などである。

この2種のティックは互いに独立している。スケジュールティックはランダムティックとは別のコードを実行するだろう。

ランダムブロックティックがランダムに与えられるので、あるブロックが次のティックを与えられるかどうかは予測する方法はない。ティック間隔の 中央値47.35秒である。つまり47.35秒より早く次のティックが訪れる可能性が50%で、遅くなる可能性が50%ある。しかしながら、時々間隔がとても長く、もしくは短くなることがある。例えば、間隔が1秒よりも短くなる確率は1.5%、間隔が5分を超える確率は1%だ。ブロックの更新間隔の 平均値68.27秒である。この数値の数学的背景については、幾何分布のWikipediaの項目を参照してほしい。 ゲームティックあたりのブロックティックの最大値は65,536である。


レッドストーン・ティック[]

1レッドストーン・ティックは、2ゲーム・ティックで表される。これにより0.1 (2/20) 秒のレッドストーン回路の信号遅延が生成される。つまり、場所Aから場所Bへの信号の移動時間は0.1 (1/10) 秒増える。ティックは信号時間の増加にのみ関係するので、つまり信号の移動時間はティックを参考にする限り減少しない。

複数あるいは単一のティックの生成方法[]

ティック1つの簡単な生成方法

手法1で説明したアプローチを図示したもの

  1. 単一のティックのパルスは、レッドストーントーチをあるブロックの横に付け、信号をブロックへ入力する。
  2. レッドストーンリピーターを設置することで2ティック(0.1秒)の遅延を行える。レッドストーンリピーターはデフォルトでは1ティックの遅延が、リピーター上のレッドストーントーチ2本がすぐ隣にある場合に、発生する。リピーターを右クリックすることで遅延を2ティック(0.1 秒)増やすことができる。また、リピーター上のトーチが一番離れた場合、8ティック(0.4秒)の遅延が発生する。

    左から順に、1ティック、2ティック、3ティック、4ティック。

Advertisement