更神奇的64kb的3D动画和原理

Apr 11th, 2009

上次介绍了个96kb的3D枪战游戏, 这次来个更强大的3D动画, 64kb, 对硬件的要求和游戏一样,只不过软件支持DIRECTX 8就可以了。大家可以下载观看。请注意,之前一直有人报游戏有病毒, 其实是因为游戏程序加了外壳, 市一些杀毒软件会误认为是加了壳的木马病毒, 其实是无害的。 对于硬件不高的电脑,运行前可以设置最低的分辨率。

[file]attachment/20090411_zip/prophecy.zip[/file]

对于这些小的令人惊讶的程序, 到底是什么使他们如此苗条呢。  答案是一种叫做“过程生成”技术。 这种技术目前被广泛的使用在大型游戏开发领域,特别是3D游戏开发。如果要简单得结实过程生成,可以这么说, 普通的游戏画面所需要的材质如3d模型,贴图,音乐,音效等等都是开发时制作好,或者录制好的,当运行游戏的时候直接调用而已。但是运用了过程生成后, 游戏程序则不需要提前预备所需要的材质了, 一切3D模型,贴图和声音什么的都在游戏运行时即时产生,游戏不再需要那些体积庞大的外部文件, 整个体积自然就缩小了。

“过程生成”和“随即生成”则是不同的两个概念,最大的不同在于,“过程生成”是可控制的,所生成的东西甚至是指定好的。 只是一程序指令的方式存在而已, 而“随即生成”则是完全的从无到有的过程。

在编程方面,“递归”是主要的实现“过程生成”的编程手段, 过去我写过一个汉诺塔的c++算法就是一个最简单的递归例子。

不过”过程生成”最大的问题就是资源的依赖, 对系统资源的大量消耗,对硬件的要求很高, 以及初始化时间很长。

相关阅读:

  1. “过程生成”定义
  2. 中文介绍
  3. 英文介绍
  4. 繁体介绍
Share on Facebook
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • email
  • Fleck
  • Gwar
  • Haohao
  • Identi.ca
  • laaik.it
  • LinkaGoGo
  • LinkedIn
  • Linkter
  • Live
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MySpace
  • PDF
  • Ping.fm
  • RSS
  • Slashdot
  • Socialogs
  • Technorati
  • Tumblr
  • Twitter
  • Twitthis
  • Webride
  • Yahoo! Bookmarks
  • Yigg
No comments yet.
Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).