【问题标题】:2d terrain generation in real time实时生成二维地形
【发布时间】:2010-06-01 02:54:15
【问题描述】:

我正在尝试创建一个类似于this 的游戏(注意:当您点击“播放”时,游戏中有SFX,您似乎无法关闭,因此您可能需要检查音量) .特别是,我有兴趣了解“无限”景观是如何产生的。有没有描述这个的教程/文章?我遇到了procedural generation,但我不太确定我应该寻找哪些主题(或者是否甚至是程序生成)。

(我使用的是 C#,但我不介意这种语言,因为我认为它背后的理论保持不变)

【问题讨论】:

    标签: map real-time terrain


    【解决方案1】:

    那个看起来很容易复制——我会想象一种算法来计算风景的下一个“步骤”(屏幕外的部分)。它需要知道先前的高度(甚至可能是先前的斜率),以便(随机)增加或减少步长。然后,随着时间的推移/关卡的完成,您可以将算法调整为更流畅(轻轻倾斜)或极端(来回拉锯)。

    不过,在我点击链接之前,我以为您可能一直在谈论体素景观——我已经有十几年没有想过了,但当我第一次看到它们时,我感到很惊讶。我做了一些谷歌搜索,并认为您可能对此感兴趣:

    http://www.gamedev.net/reference/articles/article655.asp

    (不确定 Mars 演示是否仍然存在,或者是否有人可以在 DOS 机器上播放它,但这是一个很好的例子,展示了它过去的样子:http://www.codermind.com/articles/Voxel-terrain-engine-building-the-terrain.html

    【讨论】:

    • 感谢您的回复。我希望通过实际图像稍微扩展该游戏。它真的只是在(例如0-3)之间生成一个随机数然后绘制相应纹理的情况吗?还是每帧都做效率很低?这是否也意味着每个“步长”宽度必须保持不变?
    • 如果是这种情况,您将需要预先制作固定数量的斜坡作为图像,以便触摸的末端看起来像它们匹配......宽度可能是可变的,但你' 肯定需要有一个缓冲区(以防万一)——也许 20 步左右不在屏幕上。
    • 我会尝试解决这个想法。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    相关资源
    最近更新 更多