2010-06-01 89 views
1

我正在尝试创建类似于this的游戏(注意:当您点击'玩'时,游戏中有SFX,您似乎无法关闭,因此您可能需要检查音量)。特别是,我很想知道如何产生'无限'的景观。有没有任何教程/文章描述这个?我碰到procedural generation,但我不太确定我应该寻找什么主题(或者甚至是程序生成)。2d地形实时生成

(我使用C#,但我认为其背后仍然是相同的理论,我不介意的语言)

回答

2

这一个看起来这将是非常容易复制 - 我会想象一种计算景观的下一个“步骤”(离开屏幕的部分)的算法。它需要知道先前的高度(甚至可能是之前的斜率),以便随后(随机)增加或减少该步骤。然后,您可以调整算法使其更加流畅(轻微倾斜),或者随着时间的推移/水平完成而变得极端(来回抖动)。

在我点击链接之前,我想你可能一直在谈论体素景观 - 这在过去十多年来我一直没有想过,但是当我第一次看到它时会感到惊讶。我做了一些google搜索,并认为您可能对此感兴趣:

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

(不知道,如果火星演示仍然存在,或者如果任何人有一个DOS机上播放,但是这是一个很好的示例显示它过去的样子:http://www.codermind.com/articles/Voxel-terrain-engine-building-the-terrain.html

+0

感谢您的回复。我希望通过有实际的图像在该游戏中稍微延伸。是否真的只是在(例如0-3)之间生成一个随机数然后绘制相应的纹理?或者这对于每一帧都是非常低效的?这是否也意味着每个“步长”的宽度都必须保持不变? – Skoder 2010-06-01 16:52:56

+0

如果是这样的话,你需要有一个固定数量的预先制作的图像作为图像,所以触摸的端点看起来像是相匹配的......宽度可能是可变的,但是你肯定需要有一个缓冲区(以防万一) - 可能有20步左右的步骤离开了屏幕。 – 2010-06-02 04:20:39

+0

我会尝试搞清楚这个想法。谢谢您的帮助! – Skoder 2010-06-02 12:50:08