大きなタイルマップ上のエリアとダンジョンを「ゾーニング」
私のゲームは、疑似無限でランダムに生成される方法で、Minecraftのようなマップを持っています。そして大きい。ユーザーが1000x1000ゾーン(ここでは2D)を探索したとすると、1,000,000タイルになります。 もちろん、すべてをメモリに保存することはできません。また、10タイルまたはすべての半径からすべてを無視したくありません。どちらも更新されず(すべてのNPC、おそらくリアクティブタイル)、1382、12918のような厄介な位置で作業する必要があります。 したがって、チャンクやゾーン、または64x64タイルなどに分割する場合、各タイルとオブジェクトの位置を次のように保存する必要があります。 チャンクa、b。位置x、y。 しかし、マップにダンジョンなどが必要な場合はどうなりますか?つまり、それぞれが40x40の面積を持つ40階のダンジョンにつながる単一のタイルです。それらを同じマップに正確に格納することはできません。 そして、記憶の側面があります。どのくらいの量を同時に合理的に同時にメモリに格納できますか?IDでタイルを簡単に作成でき、そこに通常の2D配列を配置できます。または、タイルタイプのデータファイルよりも効果的な解決策はありますか?したがって、64x64の場合は、20K程度になるでしょう。最も現実的な更新のために、できるだけ多くの環境が読み込まれるようにしたいと思います。しかし、私は、メモリの浪費になることなく、どのような制限に達することができるのかわかりません。