揭露《Fuel》14400平方公里超大地图的秘密
注:本文为原创,通过FB车队论坛转移到此地,转载请注明,如果图片无法显示,并且想了解过程生成的更多详细内容,请点击:这里。(貌似不用注册)首先申明,本文揭露的内容纯属本人主观猜测,并无实际根据,说白了,有卖弄技术的嫌疑,另一方面也顺带拓宽各位的视野,看完后大家觉得不可信的话,可以一笑了之。(顺带提醒,坚持看完的话,末尾会有小奖励)
让我们先来看一则新闻:
在经过全面审查后,吉尼斯世界纪录组织近日正式收录了越野竞速游戏《Fuel》(燃料),原因是其拥有无可匹敌的超大地图。
《Fuel》由Codemasters和Asobo工作室开发,地图总面积达到了惊人的14400平方公里(5560平方英里),与中美洲国家特立尼达和多巴哥相当,同时还有16万平方公里的道路系统,超过中国、美国、德国的高速公路网。
《Fuel》将出现在2009年度吉尼斯世界纪录大全的游戏版中,游戏本身也会在近期陆续登陆PS3、X360和PC平台,带来70多辆各式赛车、真实的可变天气、自由的比赛路线和物体损坏系统,玩家可以在全开放式的比赛场地中尽情自由奔驰。
到这里各位肯定有所疑问了,光极品飞车12那总长大约200多KM的城市赛道,就足足占据了2G多游戏空间(去除音乐、视频等元素),而且《Fuel》将登录XBOX360,总所周知360的DVD极限是7G左右,那么《Fuel》到底是如何做到在有限容量内绘制14400平方公里的巨大地图的?这里我就尝试性的来给大家解密下游戏地图如此巨大的玄机。
因为游戏还没有上市,所以经过本人对游戏截图、高清宣传视频和官方试玩视频的分析,发现游戏的地图其实才用的可能是一种叫做——过程生成技术(Procedural Generation)的原理来制作的,所谓过程生成原理,最早用于制作大型的宇宙空间模型。大致的原理就是才用递归模式,事先建立一套完整的数学运算公式,这套运算公式用来完成对游戏内全部地形、材质贴图、树木、景物、重力等一切和风景有关的计算,并生成需要得到的结果,在任何地点上,数学公式基本上都是完全一样的,只需要在运算过程中给于公式不同的值,就可以算出完全不同的结果,简言之,游戏就可以生成各种不同的地形,而这些值,在不同的地段是不相同的,但同时也是绝对固定的。
说得简单点,其实整个游戏地图就是一套完整的数学公式集合,只不过不同地点不同的值,得到了不一样的计算结果,从而生成了千差万别的丰富地形地貌,整个游戏只需要一些固定的贴图和几何模组就可以得到完全没有重复的地形效果,而不需要手工去逐一绘制,这样一来时间和空间都节省了,只要完成了成套计算,接下来只要根据游戏的需求,在特定的地方放置特定的景物(比如道路、终点线等)就可以完成整个地图了,如果数学公式集相当完善,甚至连真个城市都可以生成出来。
这样听起来好像有点匪夷所思,但是实际上在《FUEL》之前,有一个名叫《黑暗与光明》(官网)的网游就达到了400,000平方公里的超大地图,是《FUEL》的30倍之多,本人也曾尝试过这游戏的单机离线体验版,那个游戏地图的确蔚为壮观,实际上如此大的地图也是过程生成技术所赐,不过由于此游戏需要服务器承载的NPC就达到9万个,而且还没算上玩家和怪物,如此大的数据量使得它遭遇了门槛而消失了踪影,而《FUEL》则后来居上,拿下了吉尼斯世界纪录,这是题外话了,先来看两张图轻松下。
《黑暗与光明》游戏截图
虽然说《FUEL》的地图超大,但是实际上,它也只能算地面地图超大而已,实际上前段时间大热的创意游戏《孢子》也采用了过程生成技术,当然,《孢子》把这个技术用在了刀口上,用来生成整个银河系的恒星系系统和星球表面地形,《孢子》整个游戏内,可供玩家登录到星球表面的行星就多达2亿个,而且每一个都可以实现宇宙空间到地面的无缝放大切换,如果真要一个个都留下自己的足迹,估计一个人一辈子都不可能达成,而《FUEL》这14400平方公里的地图则完全是小巫见大巫了。
《孢子》里面生成的行星
看起来《孢子》的2亿行星让你很吃惊,但实际上,过程生成技术能让空间更加广阔,在这在开发中的网游《无限星辰(Infinity: The Quest for Earth)》(中文站)里面,不单单可登陆的行星数量达到了数十亿这个级别,甚至连宇宙里面的星云都是生成出来的,再有光环系统的行星上(比如我们土星的光环),光环里面数百万的小行星都一个不漏的生成了上去,这里并不是在给这个游戏打广告,而是为了进一步描述过程生成技术的伟大,最后来两张《无限星辰》的游戏截图。
后话,其实写了这么多,无非就是想说明《FUEL》地图如此巨大的原理(其实到现在还没确定……),顺带介绍过程生成技术(Procedural Generation),帮助大家拓宽一下视野而已,感谢大家看到最后。
过程生成原理的代表游戏:
只能说第一个网游太NX了·· 起初只是知道大概是怎样一种方式,看了楼主的贴才明白是怎样一种技术,感谢楼主,长见识了~~~~~~ 嗯嗯……看过无限星辰
认为是我网游生涯的最后希望 楼主转的好
进来支持下!!! 学习了,ms玩这种游戏可以培养我的科学发展观,呼哈哈 要支持下 楼主转的好
支持!!!!!!!!! 加油等待有中文上市! 貌似有点孢子的感觉 也就是说那些场景只是在你"来"到那个地方的时候暂时生成的,走了就没了啊?
就完全没有必要有很大的地图的文件了吧?
恩,很先进哦~~长见识了 配置要求依照官方为准就好了…… 递归.......真的吗.....? 畫面不錯的說 希望游戏推出时能和LZ的附件一样大 楼主转的好
支持!!!!!!!!! 很期待这游戏啊就不是知道机器能不能跑起来 话说回来,有几个人玩了附件里的游戏的啊?都没人发表感想……全都是“偷懒”回复。 我一直在期待着无限星辰的降临 不过貌似还摇摇无期 技术贴支持,长见识了 感觉像是来推广孢子的 .................... 现在的技术这么先进了,什么时候中国的也有这么先进的技术啊 即使生成技术?????很废cpu吧·· 刚下了那个游戏。。确实很强大啊··· 360能跑得游戏我不担心我电脑跑不了·········连GTA4都撑过来了 支持 玩那个游戏遇到个BUG
卡在楼梯上了······