【问题标题】:Game programming implement chunks游戏编程实现块
【发布时间】:2015-06-30 14:43:09
【问题描述】:

我正在使用 libgdx 开发一个简单的游戏项目,我需要一些帮助来创建一个随机的无限世界。在谷歌上搜索了几个小时后,我知道许多游戏使用“块理论”来生成无限地图并实现图块。有很多我不明白的事情......例如:

什么是瓷砖?和一大块? 我如何在游戏中实现这个“块理论”? 这是生成无限随机地图的最佳方式吗?

有人可以回答我的问题以澄清我的想法吗? 提前致谢

【问题讨论】:

  • 制作一个随机的无限世界并不简单。除非它是平坦的并且没有其他功能。生成块是要走的路。您没有无限内存,因此无法生成无限映射。就是这么简单。
  • 我不知道细节,但我知道这与仅在需要时创建地图块有关。当玩家离已经生成的边缘太近时,将在该方向生成另一个块。这样,您的世界可以在没有无限大文件的情况下无限远。
  • 在“无限地图”下,你的意思是只有一张地图,如果玩家到达终点,他们应该从同一张地图的开头开始?即重复地图永无止境?这是你的意思吗?

标签: dictionary random libgdx infinite chunks


【解决方案1】:

基于图块的地图是按网格组织的地图。然后,Tile 是此网格的一个单元格,并且对象被放置在此 Tile/cell 内,并且不能放置在单元格之间。想想 Minecraft,每个 Block 都有一个 Tile。
块是地图的一部分,包含许多Tiles。它具有固定的大小,用于仅加载无限地图的一部分。
想象一个大小为 1600*1600 Tiles 的地图。您将无法同时查看所有 Tiles。此外,您不需要更新整个地图的逻辑,因为它不会影响您。因此,您将地图分成小部分,即所谓的块,它们具有固定的大小(例如 16*16)。
根据您的位置,加载相邻块并卸载远块。所以如果你从南方移动到北方,北方的块被加载,南方的块被卸载。
我自己从来没有实现过块系统,所以我不能告诉你如何实现它,但我想那里有很多教程。
这不是生成无限地图的方法,而是存储、加载和使用巨大地图的方法。生成通常使用一些噪声函数完成,但那是另一回事。
无论如何,我建议你从更小更简单的东西开始。匆忙处理复杂的事情只会让你灰心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2012-02-28
    • 1970-01-01
    • 2011-03-05
    • 2012-04-25
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多