游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7603|回复: 17

推荐一款游戏,我觉得应该成为我们原创游戏的标准,《

[复制链接]

82

主题

782

帖子

798

积分

高级会员

Rank: 4

积分
798
发表于 2007-7-11 09:37:00 | 显示全部楼层 |阅读模式

大家好,最近我无意中发现一款很好的游戏《变形金刚》,并且在我的赛扬机器,ati9700SE显卡上也能玩,效果不错,很耐玩,让我玩了一遍又一遍。
我感觉,从可玩性,画面等方面,这款游戏都值得我们学习和借鉴。
我一边玩一边分析这每个环节,每个效果应该怎么做出来,目前分析的结果,做出这样的游戏并不难,嗨,目前就是没有美工帮忙,不然做出这样的游戏,就是说画面效果的游戏(可玩性是游戏创意人员负责的),应该就可以姑且看作商业化游戏了。
希望大家看看,可以提高我们的制作水准。
[em2]
下载地址:http://lib.verycd.com/2007/06/28/0000154936.html
[em2]
游戏截图:





[em2]
游戏中,除了美工方面需要做的动画序列贞,建模,洪培以外,我学过的物理引擎,基本上抓起汽车并且扔出去的算法已经掌握了,而且面对光源的时候,加一个Glow算法的HLSL,还有模型本身的反射贴图,都没有问题。
[em2]
目前跟我合作的美工朋友因为有事,不能继续合作了,小弟这里恳请论坛里的美工高手合作,打造高品质游戏。
(当然,需要先磨合)
[em2]
这个游戏的文件结构我看了,基本上一个3.6M的exe文件,和一个566M的Dat文件,我怀疑是资源。另外,声音资源是公开的。还有几个引擎的DLL文件。
[em2]
以上,海海
[em2]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-7-11 10:42:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

我就一直纳闷,

怎么才能在一个帖子里发两个以上的图片呢??
告诉我方法,OK否?

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-7-11 11:39:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

让你不幸言中,这种游戏恰恰3D美工的工作量太大了些,看来你需要到美工版块寻求支援

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-7-11 12:13:00 | 显示全部楼层

Re: Re:推荐一款游戏,我觉得应该成为我们原创游戏的标

snhun: Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,《变形金刚》

我就一直纳闷,

怎么才能在一个帖子里发两个以上的图片呢??
告诉我方法,OK否?


因为图不是传到这里的,只是引用连接地址.

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-7-11 12:16:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

我建议楼主还是先做好坦克, 你贴那图不投资上百万资金的美工是做不出的, 现在哪一个商业游戏不投资几百万开发资金, 而3D美工等于用黄金堆出来的.

27

主题

179

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
发表于 2007-7-12 04:26:00 | 显示全部楼层

Re: 推荐一款游戏,我觉得应该成为我们原创游戏的标准,

我一边玩一边分析这每个环节,每个效果应该怎么做出来,目前分析的结果,做出这样的游戏并不难,嗨,目前就是没有美工帮忙,不然做出这样的游戏,就是说画面效果的游戏(可玩性是游戏创意人员负责的),应该就可以姑且看作商业化游戏了。


对于这样的言论我不好说什么,给你指出几点:

首先你说的抓住汽车扔出去,其实不是物理引擎,而是动画的一部分。一般在动画中有所谓的bind point,在你抓起汽车的时候,汽车上有attach point,程序把attach point的点bind到你的手上,然后汽车成为动画的一部分,只有在扔出去后,才会被物理引擎处理。至于你的引擎能不能做到抓的过程中还和世界其他物体互动都是个问题。

其他的图形效果你可能觉得好做。无非就是HDR, reflection mode什么的。可是你想过好做的前提没有。给你个简单点的设置: 单一硬件, 内存512M, 显卡128M, 其实这个游戏是全平台的,xbox360都不可能有512M的富裕。 128M显卡Wii也就将将达到。想想一个3D场景贴图所包含的内容,specular map, ambient map, normal map或者parallex mapping一般这3个是跑不了的,然后很多情况下是shadow map, volume shadow就会更慢了。 大部分金属和玻璃有反射效果,所有需要IBL texture, 再算上HDR, particle texture,哪些应该放到显存,那些应该放到内存,哪些放到AGP里.如果显存不够怎么办?这些问题想过没?  所以你能把内存合理分配或者管理好就不错了。

游戏里边的物体有上千个。一个显示一个物体容易,显示上千个物体呢?一般来说普通硬件每frame 有 200个 drawprimitive call就算了不起了。给你300个call的限制。想想里边一个复杂点的场景,物体上的shader有2,30个,再算上透明物体(这个更难,需要sorting),和 HUD, 如果没有合理的管理,一个frame上千个drawprimitive call都有可能,管理的不好还需要从内存读数据到显存,速度更慢。大概慢个4,5倍吧。假设人家的fps60, 你慢4倍,每秒10几frame的商业游戏,会有人玩吗?

再说说动画。你不要觉得动画简单,无非就是程序播放动画,美工不停做动画。再给你算笔帐。一个机器人有多少个bone? 说少7,80个,说多点150个都不奇怪。你可能看起来觉得没多少。一个动画不多说,也就1秒,算80个bone,每秒15个frame,80 * 15 * 64 / 1024 一个动画75k,算你1/3的压缩率 25k 一个,一般一个动画有符带的物理数据,游戏中的物体数据,比如汽车,这些算上25k吧。即使是有些动画能别几个model公用, 有个1000个动画也很正常吧。50M内存容量还只只是动画而已。再算上实时解压缩的时间。你能把游戏里的动画弄流畅估计都难。

还有就是不时所有你想要的动画都有吧。一个机器人在任意位置抓起物体,你能保证机器人的手是能正好抓到应该抓的地方?人物走路的时候怎么能让脚不踩进地里?如果上楼梯怎么办? 如果没有这个动画数据,是需要你实时计算的。不管是用IK还是用blending,能做出来再谈容易吧。还有你觉得动画师制作7,80个bone的动画是什么概念?你不要觉得动画来的容易,你只要管播就好。如果你能做出来美工只需要2,30个bone就能得到7,80个bone的效果,才算合格。

再说光源和场景管理。这么大的场景, 你不可能认为是一个地图吧。场景分块是很正常的。一个场景大约2,30M, 你能在游戏高速移动中,把视限内的东西都读到内存,并显示出来,就够你喝一壶的。一个DVD的最快读取速度也不过10M/秒。PC上由于总线和CPU限制,也不会差太多。 这里还没算上游戏中的物体和人物。还有场景中的光源。一个场景有板有3个动态光源算是到头了吧,这个基本是计算能力限制。一个大点的场景现实中有几十个光很正常吧。如何能做到支持3个动态光同时又能做到类似多个光源效果,好好想想吧。还有一些边界问题,比如光源跨越场景等等。还有弹痕问题,弹痕打到墙上是个patch,这个是需要和光源相关的。你不能指望一个黑黑的墙上有个亮的象灯泡一样的弹痕吧。patch是动态的,光也是动态的,这种实时数据关联管理,想做就能做出来吗?

不要觉得声音好做。比如物理物体碰撞的声音,一个爆炸产生的随片几十个,几时个物体同时碰撞产生的声音都要播放吗?播放要产生什么样的位置效果?人在汽车上起跳,落下的时候产生声音吗?同时播放多少个声音?8个是极限了吧,要不CPU也受不了。那么哪些声音该放,不该放?那么也许需要距离计算,又涉及到场景物体的管理了吧。还有碰撞一般是连续的,特别是好的物理引擎,所以连续的声音比如物体在地面上的拖动,做出来给我看看。。。。

再说说AI。复杂场景不是简单的A*寻路就能搞定的。一般是需要navigation map的配合。而且比如说一个门关闭的时候,navigation map里门的位置是短开的,开了门以后,navigation map里门的位置才表示通畅。这些管理的问题你能高效率的实现就已经很不容易了。那么多不同形状的场景,你知道需要多少AI的代码才能合理处理吗?

再说网络,同步不用说了吧。如果简单的话,那做出来个看看。

还有就是多CPU问题。XENON 3个CPU 6个Core, PS3 1个CPU 8个SPU, 你只要会用上一半,就已经是大师级的水平了。不知道简单的同步你做过没,物理数据通过DMA打包发给SPU,SPU算出结果发回来,其中包括的同步内存访问,cache管理, 同步数据更新。你能做完整一个环节就ok. PC结构相对简单,但是一般也有4个ALU, 一个Save 一个Load 6总公个单元。现在大部分机器都是2 Core, 你能合理利用这些资源吗?

这些问题不知道你有没有想过,如果你还觉得容易,那恭喜你,拿个年薪50W不成问题。以上只是程序的部分,还是静下心慢慢学习吧。不学习不知道自己的无知。。。。。。

9

主题

198

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2007-7-12 05:20:00 | 显示全部楼层

Re: Re: 推荐一款游戏,我觉得应该成为我们原创游戏的标

aear的回答很精彩,楼主现在可以看到一款商业游戏所需要考虑的一些因素了。您现在才刚刚开始,如果想要做到一个游戏程序员,路还很长。

to aear: 加州的天气还好吧?没去e3看看?

27

主题

179

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
发表于 2007-7-12 05:25:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

今年无以往的E3了,改成小的了 @_@

9

主题

198

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2007-7-12 05:28:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

小是小点,但更显专业了,好像没有太多大波女郎。lol

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-7-12 08:13:00 | 显示全部楼层

Re:推荐一款游戏,我觉得应该成为我们原创游戏的标准,

AEAR说的对, 变形金刚抛汽车这些在国外设计3D游戏已经不再使用物理引擎, 全部是美工的事, 比如设计一个汽车模型的时候, 汽车的爆炸, 汽车的行走, 汽车的翻滚等动画动作都集中在模型里了, CS里很多模型也是这样的, 一个直升机从螺旋桨的旋转,到起飞,降落的轨迹等全部是包含在一个MDL模型里的, 而在CS单机版里, 一个人物角色可以包含490个动画, 除了行走,跑步射击这些, 连翻越墙, 爬楼梯, 跳跃等等, 全部不是程序做的.
而我们业余制作游戏, 是没有那么好的美工帮助, 所以只能自己用程序来做动画了.
现在是什么时代了, 国外开发高素质的游戏的方法已经越来越简单化, 盲目研究物理引擎的方法已经不可取,
记得我最早公布过一个五星勋章2录像,有个黑色直升机的片头, 那个飞机从远到近的盘旋动作都不是程序做的,而是MDL模型其中一个动作, 正式版由于没有使用MDL, 那飞机的动作就简单多了.

关于楼顶那个机器人,在开始设计的时候,机器人模型已经包含很多动作了(100个动作以上), 而程序员做的只是更换动作的编号罢了......
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 20:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表