消失网络中 发表于 2005-12-6 22:27:50

(转贴)手机游戏制作揭秘

#1(转贴)手机游戏制作揭秘(一)


手机游戏制作揭秘(一)
      全球手机顶尖游戏3D MotoRacer 制作全揭密
      图文_吴刚 北京数位红软件应用技术有限公司执行董事
      林志强 数位红Nightmare II首席三维美术设计师
      王科 数位红MotoRacer3D首席三维美术设计师
      3D MotoRacer 是数位红公司开发的一款针对Nokia S60设备及Sony Ericsson P800
      (UIQ)的3D游戏,该游戏上市几个月来,已经成为全球最畅销的Nokia S60、P800游戏应用前三名之一。本文就是对3D MotoRacer
      的开发过程进行大致的介绍。

      I. 游戏引擎的准备
      在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。
      数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎:Dragon Bone Game Engine for Mobile
      Phone(龙骨),他可以支持目前大部分的高端移动设备,它不仅可以使程序开发人员及游戏项目节省了大量的时间,另外还可以让美术人员最直观的看到其设计效果。它最大的价值就是可以使开发人员的一套代码在不需要改动程序的情况下编译运行在不同设备平台上(改动不超过20%)。目前数位红及其他公司已经使用它开发游戏超过了30款。
      引擎提供了非常完善的9个模块与3个增强模块,可以完全满足各类游戏开发的需要。游戏引擎可以直接嵌入到开发者的程序中,不需要额外的支持程序即可使所开发的游戏独立运行。游戏引擎简单、易用,编译后体积很小,占用内存也很小,可以节省玩家的内存空间及无线下载费用。基本引擎包含9个模块,引擎函数界面提供了类似Windows的使用模式:
      1、 文件操作模块:提供类似标准C的fopen,fclose等函数。
      2、 内存管理模块
      3、 2D图形图象模块
      4、 对话框模块
      5、 SMS操作模块:可以在程序内部对SMS的收发进行截获处理。
      6、 加密模块:提供识别使用设备的IMEI功能,用于软件的加密目的。
      7、 声音模块
      8、 资源打包及压缩模块:可是使最后发售的软件包体积变小,尽量少的占用用户的内存空间。
      9、 常用函数:如字符串操作等函数。
      10、例子:提供一套完整游戏MagicLine的源程序。
      引擎增强模块构成
      其增强部分,包含三个模块:
      1、 实时3D增强模块
      2、 声音增强模块
      3、 图形文件增强模块

      II. 正式开发的前期工作
      A. 开发工具的准备
      在很多人看来,手机游戏还是一种很新鲜时尚的玩意儿,所以,谈起手机游戏的时候难免有种莫测高深的感觉。其实,手机游戏的整个制作过程十分简单。从某种角度而言,它是一种传统的回归,同时也是新旧技术的相互融合。最常用的开发工具有VC++,J
      Builder及CodeWarrior,在设计工具上则更是和普通的PC游戏制作软件没有大的区别。有的设计人员更愿意使用“骨灰级”的二维设计工具DP,也有人愿意用3DMAX、MAYA建模之后再进行二维修改,当然所有这些方法都要根据游戏的最终设定来决定。我们在做Java游戏的时,一般都是采用像素级的二维绘制完成图片,即逐个像素点的完成。但在制作PDA等类似设备的游戏时,就会采用3DMAX或者MAYA建立模型,渲染后再修整。在设计过程中,我们也与大多数游戏公司一样使用了MAYA、3DMAX、PHOTOSHOP、PAINTER等工具。
      B. 确定游戏的各项参数及目标设备
      这要求程序人员能给出准确的图片限制大小,即所有图片允许美工占用多少空间。由于手机游戏的制作受数据量的限制很大,所以我们在设计游戏时,经常为减少1K空间大小而大伤脑筋。另外,就是需要准确了解该手机允许的色彩数、分辨率、整屏刷新率,其实这也是对游戏引擎的一种测试。
      以MotoRacer 3D为例,我们设想使其运行在Nokia 9210、Nokia 7650/3650、Sony Ericsson
      P800、Pocket PC平台上。在数位红,由于我们拥有了自主开发引擎Dragon Bone Game Engine for Mobile
      Phone,游戏引擎是跨平台的,所以这一步骤我们就省去了不少时间。我们以Nokia 7650/3650为最初调试蓝本,原因是在这些设备中,Nokia
      7650/3650的速度相对较慢,屏幕尺寸也相对其他设备小,因此以它为基础设备最为合适。
      如下表,我们设计了MotoRacer 3D的基本技术参数。
      技术参数 达成目标及要求
      图像刷新速度 >18/fps
      文件安装完成大小 <1000K
      文件未安装大小 <400K
      占用内存峰值 <700K
      使用过程中游戏占用内存 <700K
      游戏与操作系统兼容性 Nokia 9210、Nokia 7650/3650、Sony Ericsson P800、Pocket PC
      游戏图形特效清单 无 Alpha
      图形文件
      声音文件 .wav
      数据自定义
      目录结构/变动文件清单
      使用的动态链接库 未知
      下面是经过初步估计的基本图片清单:
      跑道外面的沙地草地元素
      跑道的边上的指示方向的牌。(左右)
      跑道地面元素
      背景的天空图。
      起跑线。
      选择的时候得车图(4张)
      比赛开始前站立的背面图(4张)。
      比赛时候得车加人背面图(4套,每套9张,分别9个角度,从直立开始,每15度一张。)
      撞车后的图(3桢)
      比赛完毕名次画面。
      速度仪表图。
      数字(0至9等宽横排,分别有4套,速度数字,档位数字,排位数字)
      菜单背景
      Top Ten
      按钮
      巡回赛排名的背景
      C. 准备游戏策划
      很多开发者认为,手机游戏的策划不重要,这个观点是严重错误的,手机游戏的美术与程序开发工作量都非常有限,其表现力也受非常大的制约,因此一款手机游戏的可完性如何在某种意义上完全取决于游戏策划本身。
      在此过程中,手机游戏策划基本同传统游戏策划无异。但游戏策划必须要对游戏的操作做出准确的设计,每个手机的键盘都不太相同,毕竟PC上的键盘基本都是101键。
      再就是根据上面第一步给定的美工空间限制,美工要同策划共同商议,严格计算每张图片占用的空间,甚至是一个小图标都是不可以漏掉的。
      以MotoRacer 3D为例,我们的游戏策划做了大量有关物理力学方面的公式,使其美工在设计图片时更符合真实的效果。
      如下表:我们将每种赛车的速度特性均体现出来。
      GEAR 1 GEAR 2 GEAR 3 GEAR 4 GEAR 5 Grip 颜色
      车1 最大速度(mph) 97 107 135 156 176 0.45 绿黄
      加速度(mph/秒) 21 18 16 12 8
      车2 最大速度(mph) 90 102 127 148 168 0.25 紫黄
      加速度(mph/秒) 23 20 18 14 10
      车3 最大速度(mph) 102 112 140 160 180 0.65 蓝黄
      加速度(mph/秒) 20 16 13 10 7
      车4 最大速度(mph) 94 105 133 152 172 0.35 黄蓝
      加速度(mph/秒) 22 19 17 13 9
      车5 最大速度(mph) 104 115 145 166 182 0.75 黑红
      加速度(mph/秒) 19 17 14 10 7
      车6 最大速度(mph) 92 105 133 152 178 0.5 红黄
      加速度(mph/秒) 21 18 15 11 8
      D. 美术及程序开发工作

      MotoRacer 的贴图设计
      建立摩托车的模型与赛手
      调整运行时的动作

      另外最重要的就是如果想做一款MotoRacer这样的游戏,首先自己就应该是摩托车的行家,我们MotoRacer
      3D的首席美术设计师王科,就是一个疯狂的摩托车发烧友,他可以为了攒钱买机车,啃一年的馒头。呵…
      E. DEMO测试
      测试工作以MotoRacer
      3D为例,我们开发周期6个月,因为有了引擎的缘故,使主代码开发周期缩短至3个月,为了保证这款产品具备国际水准,剩余的3个月我们基本都在找问题、鸡蛋里挑骨头。于是一款位列全球手机游戏销售前三名的MotoRacer
      3D终于出炉了。
      当然,在数位红像MotoRacer
      3D的幸运产品并不多,数位红有30%的产品在DEMO期间就因为可完性、操作感等问题最终没有面世。毕竟想要打造一个优秀的品牌是要做出很大牺牲的。
      III. 手机游戏制作宝典
      由于手机硬件设备方面的诸多限制和性能差异,我们在游戏的开发和制作过程中无法天马行空般的进行创作,而不得不综合考虑到多方因素的平衡。下面列出的是一些关键的性能参数,这些参数都直接影响游戏的效果。
      分辨率
      手机的屏幕大小各有不同,从80*30到320*240,就好比在PC发展过程中的CGA、EGA乃至VGA,分辨率的高低直接导致了造型的大小及表现力,这点相信每个设计人员都有所体会。另外,由于手机型号及操作系统的多样性,导致了一款游戏并不能不加改动的在不同的手机上运行。对于美术设计人员而言,就要在设计之初考虑屏幕的自适应问题。比如在128×128分辨率下与200×200的分辨率下,如何可以不重新更换图片,但又达到同样的效果?
      色彩数量
      目前手机能达到的色彩数量也是限制美术人员发挥的一个重要瓶颈。从过去几年的黑白屏幕手机到现今256色、4096色及真彩色。Digital-Red在开发游戏时接触过非常多的手机,其中有的手机号称能显示4096色,但我们将一张4096色的色阶图进行显示,便发现有的颜色根本无法区分,更让人吃惊的是,个别手机还色偏严重。所以,设计人员是一定要根据实际手机进行图片绘制,在此,Digital-Red有过非常多的教训。
      明亮度
      液晶屏幕由于其独特的发光原理,并不能达到传统显示器的亮度,同时也就导致了很多色彩丰富的图案在强光下,不能显示出原有的效果,这点在手机户外显示时尤其明显。因此设计人员在设计手机游戏图片时一定要考虑这点,不能将色彩对比度设置的过于接近、图片设计一定要简洁明快,避免过小的图片。
      显示速度
      在我们接触的手机里,很多由于运算速度的问题,导致动画帧数并不能流畅,甚至达到不了10帧/秒,这对于游戏动画而言是致命的,我们一般采取局部刷帧或者尽量避免全屏幕动画来尽量达到预期效果。而且液晶屏幕本身也有显示速度问题,我们就发现过很多手机都有影像“拖尾”情况。这种情况,在实际游戏中很容易造成玩家的视觉疲劳,尤其在颠簸的车上或者是行动中,游戏时间过长,就有头晕目眩的感觉。如此,即使是一款优秀的游戏也无法留住玩家了。
      电力
      由于手机是液晶屏幕,大多数设备在高亮度的像素显示与一般像素显示上,两者耗电量是有所区别的,例如白色背景就要比黑色背景消耗更多的电池能量。因此,对于手机游戏而言,要尽可能节省玩家的电池,也算是对玩家的一种体贴吧。
      手机游戏开发过程中的一些错误观念
      很多想开发手机游戏的朋友们对于手机游戏都充满了幻想,Digital-Red也曾与这些朋友们一样,在脑海中有非常多的想法等待实现,但一旦真正开发游戏的时候我们就发现很不现实,这里将几个常见的错误认识与诸位分享:
      移植PC游戏到手机上
      PC上的游戏已经以百兆来计算其占用空间了,而很多手机游戏是以K来计算,大多数的手机游戏能安装60K的游戏就算不错了。
      J2ME游戏不用改动可以运行在各种手机上
      J2ME在移动设备上有一个MIDP
      1.0标准,但各个手机厂商在推出支持J2ME的手机上都对其进行了扩充甚至改动,一个程序想要达到最理想的效果就一定要针对不同型号的手机。
      用Java开发手机游戏要比用C++好
      使用Java开发手机游戏的确非常方便,但在效果与性能上很难与C++代码实现效果比拟。如在Symbian
      OS/WinCE设备上我们还是推荐尽量使用C++来开发为好。
      Java开发出的应用程序占用的空间小
      在开发小型应用时,Java程序的确空间占用较小,但如果游戏项目过大,Java游戏的小巧优势就很难体现了。
      手机游戏策划与传统游戏策划无异
      手机游戏的策划禁忌非常多,要求策划人员必须全面了解手机的技术性能才能做出针对性的优秀游戏。
      美术可以画大图,然后再缩小
      一张大图如果缩成12*12大小,效果就可想而知了

娃哈哈 发表于 2005-12-19 04:01:32

很强呵呵!

lovemm4 发表于 2006-5-2 15:29:07

哎,水平洼,看不懂啊!!

chinashell 发表于 2006-8-2 14:25:12

看不来不过还是支持一下拉

xiaole107 发表于 2006-12-22 15:30:37

纯支持!!!

z52684416 发表于 2007-12-25 06:11:29

牛B,强人啊

玄傲LOVE狂 发表于 2008-10-10 10:12:41

娇泠涛 发表于 2009-7-24 01:09:01

楼主的帖子实在是写得太好了

有楼主在,社区的明天必将更好!楼主的帖子实在是写得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。看完楼主的这个帖子之后,我竟产生出一种无以名之的悲痛感——啊,这么好的帖子,如果将来我再也看不到了,那我该怎么办!那我该怎么办?直到我毫不犹豫地把楼主的这个帖子收藏了开窗机,我内心的那种激动才逐渐平静下来。可是我立刻想到,这么好的帖子,倘若别人看不到,如皋特产。黎明时总会想起你,因为又是思念把我催醒。黎明时总会想起你,因为一睁开眼,又要面对你不在身边的孤零。我想风管风管led上分器老虎机上分器研磨 行车 如皋人才网 玻璃钢风管 甩棍 悬臂吊 研那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,牺牲小我,奉献大我。我要拿出这帖子奉献给人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止!有楼主在,社区的明天必将更好!

祝福论坛越来越火!

woordpor 发表于 2009-8-21 14:59:43

永不瞑目

我和我的头仔(组长) ,足足站了一个小时..法克 !!回到组里,果不其然,他被骂,回来一定骂我们.......一直等到他骂完, 才开检讨,第一个就是指向我:"发仔 !他老婆的下落查到了没?" 我小声的说:"是查到了她娘家啦..可是.."我只知道好像在中部,.. "可是什麽?"组长把头伸过来,眼睛瞪着我,好像要吃了我一样.... ..我转转脖子,"在..好像是在彰化的样子啦...".."不要说了 !从现开始,你不用办这个案子了..."组头拍着桌子大声的 咆啸着....
"好..好..没问题..."..我陪着笑.."那我要干嘛...""你...你...你去把厕所给我扫乾净!"组长有高血压,看样子快挂的样子....气的说不出话来了..。"好.好..没问题..明天我就开始..."我笑的很勉强..反正我也不是第一个...几 大家都扫过...扫就扫嘛....
"去!你现在就给我去!我怎麽会有你这种部下?"我二话不说,转身就跑了..呵...又混过一次了...我才刚到厕所..谁会真的去扫 ?就又听到组长的大骂声...没多久.. 会长满脸土色的走了进来....下场和我一样....过了十分钟,组长又在叫了.."陈x发!黄x丰 !你们给我过来 !!"
在叫我们,好吧!过去吧,你还是需要我们的嘛...."刚派出所打电话来,说有案子,你们过去看看...."组长突然很客气的对我们说...这不像他的作风 ...?为了快离开这里,我和会长问明了地址,就很快的赶过去.....还没到现场,我就有一种预感....恐怕又是大条的.....看现舴的气氛......!我找到在管制的警员,表明身份後他就带我们进去,他看来不爱说话...我们也就没和他聊天,一到了屋子里面..一片凌乱,没什麽嘛..遭小偷而 己..这年头..这种案子太多了..根本查不完...我问了一下:"屋主是谁?叫他到你们派出所作个笔录就好了嘛...损失很多吗?"那个警员居然还蛮幽默的,向我说:"就在浴室里面 ...."我走向浴室,我甚至心情好的哼起歌来....那里常常有这种好差事?
一到门囗..里面满地的血!我再一抬头...一堆被支解的尸体!我不由自主的後退三步..差一点跌倒...大叫:"会长!里面有死人!!"
北京到威尼斯机票
北京到米兰机票
北京到佛罗伦萨特价机票
北京到都灵特价机票
会长立刻就到门囗来 ....天 !是一个女的!身体被切成好几块...单独的一个头,脸朝上的被丢在浴缸里面...她的眼睛睁的极大....血正沿着她的
页: [1]
查看完整版本: (转贴)手机游戏制作揭秘