程序生成 http://en.wikipedia.org/wiki/Procedural_generation最近(由 Spore、MMO 等)引起了人们的关注,它似乎是一种有趣/强大的编程技术。
我的问题是:
- 您知道有哪些使用程序生成技术的中型项目吗?
- 什么语言/语言类别最适合程序生成?
- 您可以使用过程生成来生成“严肃”的代码吗? (即,不是游戏)
您可能应该从一些理论和简单的示例开始,例如中点位移算法 https://web.archive.org/web/20170812230846/http://www.gameprogrammer.com/fractal.html。你还应该了解一些柏林噪音 http://en.wikipedia.org/wiki/Perlin_noise如果您对生成图形感兴趣。我用它开始了我最后一年的程序生成项目。
Fractals http://en.wikipedia.org/wiki/Fractal与程序生成密切相关。
Terragen http://en.wikipedia.org/wiki/Terragen and 速度树 http://en.wikipedia.org/wiki/SpeedTree将向您展示程序生成的一些惊人的可能性。
过程生成是一种可以在任何语言中使用的技术(它绝对不限于C等过程语言,因为它可以用于Java等OO语言和Prolog等逻辑语言)。对任何语言中的递归的良好理解将增强您对过程生成的掌握。
至于“严肃”或非游戏代码,程序生成技术已用于:
- 模拟城市的发展以规划交通管理
- 模拟血管的生长
- SpeedTree 用于电影和建筑演示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)