手机游戏是如何制作的?
全球顶级手机游戏3d motoracer全揭秘。
图文_吴刚北京数位红软件应用技术有限公司执行董事。
林志强数码红梦魇ii首席3D美术设计师
王珂数码红摩托3d首席3D美术设计师
3d motoracer是由数位红公司开发的适用于诺基亚s60设备和索尼爱立信p800 (uiq)的3d游戏。连续几个月成为全球最畅销的诺基亚s60和p800游戏应用前三。本文是对3d motoracer开发过程的概述。
一、游戏引擎准备
在制作一款游戏之前,你必须要有一套经过长期测试,并且适用的游戏引擎。
数位红花了两年时间开发了一款基于移动设备的游戏引擎:手机用龙骨游戏引擎,目前可以支持大部分高端移动设备。不仅为程序开发者和游戏项目节省了大量的时间,也让美工们最直观的看到了它的设计效果。它最大的价值是开发者的一套代码可以在不改变程序的情况下编译运行在不同的设备平台上(改变不超过20%)。目前,数位红和其他公司已经用它开发了30多个游戏。
该引擎提供了9个完善模块和3个增强模块,完全可以满足各类游戏开发的需求。游戏引擎可以直接嵌入到开发者的程序中,开发出来的游戏可以独立运行,不需要额外的支持程序。游戏引擎简单易用,编译后体积小,占用内存少,可以节省玩家的内存空间和无线下载费用。基础引擎由9个模块组成,引擎功能界面提供了类似windows的使用方式:
1,文件操作模块:提供类似标准c的fopen,fclose的功能。
2.内存管理模块
3.2d图形图像模块
4.对话模块
5.短信操作模块:可以在程序内部拦截和处理短信的发送和接收。
6.加密模块:提供imei功能识别所用设备,用于软件加密。
7.声音模块
8.资源打包压缩模块:但是最后卖出去的软件包体积减小,尽量少占用用户的内存空间。
9.常用函数:如字符串操作。
10,例:为magicline提供一套完整的源程序。
发动机增强模块组成
其增强部分包括三个模块:
1,实时3d增强模块
2.声音增强模块
3.图形文件增强模块
二。正式开发的准备工作
A.开发工具的准备
在很多人眼里,手游还是一个很新鲜很时尚的东西,所以说起手游难免有一种深不可测的感觉。其实整个制作手游的过程很简单。从某种角度来说,是一种传统的回归,也是新旧技术的相互融合。最常用的开发工具是vc++,j builder,codewarrior,设计工具和普通pc游戏制作软件差别不大。有些设计师更喜欢使用“硬核”二维设计工具dp,有些则愿意在用3dmax和maya建模后进行二维修改。当然这些方法都要根据游戏的最终设定来决定。我们玩java游戏的时候,一般都是用像素级的二维画图来完成画面,也就是一个像素一个像素的画。但在用pda等类似设备制作游戏时,会使用3dmax或maya进行建模,渲染后再进行裁剪。在设计过程中,我们也像大多数游戏公司一样,使用了maya、3dmax、photoshop、painter等工具。
b、确定游戏和目标设备的各种参数。
这就需要程序员给出一个准确的图片极限大小,即所有图片允许美工占用多少空间。因为手游的制作受数据量的限制很大,所以我们在设计游戏的时候,往往会很头疼缩小1k空间的大小。此外,还要准确了解手机允许的颜色数量、分辨率、全屏刷新率。其实这也是对游戏引擎的一个考验。
以motoracer 3d为例,我们设想它将在诺基亚9210、诺基亚7650/3650、索尼爱立信p800和pocket pc平台上运行。在数位红,因为我们有自己的开发引擎龙骨手机游戏引擎,而且游戏引擎是跨平台的,所以这一步我们节省了很多时间。我们使用诺基亚7650/3650作为最初的调试蓝图,因为在这些设备中,诺基亚7650/3650相对较慢,屏幕尺寸也比其他设备小,所以是基于它最合适的设备。
下表中,我们设计了motoracer 3d的基本技术参数。
达到目标和要求的技术参数。
图像刷新率>;18/秒
文件安装完成大小
文件安装时没有大小
内存使用峰值
游戏在使用过程中会占用内存
游戏和操作系统兼容性诺基亚9210、诺基亚7650/3650、索尼爱立信p800、pocket pc
游戏图形特效列表没有alpha。
图形文件
声音文件。声音资源文件
数据定制
目录结构/更改文件列表
使用了未知的动态链接库。
以下是初步估算后的基本图片列表:
跑道外的沙草元素
跑道边上指示方向的标志。(左和右)
跑道地面要素
背景中的天空图。
起跑线。
选择时获取汽车地图(4张)
比赛前站立的背影(4张)。
比赛期间,车手和人的背图共4套(每套9张,分别为9个角度,从直立位置开始,每15度一张)。)
撞车后的照片(3帧)
比赛结束后,排名屏幕。
速度仪表图。
数字(0-9横向等宽排列,共4组,分别为速度号、档位号和排位号)
菜单背景
前十名
按钮
旅游排名背景
C.准备游戏策划
很多开发者认为手游的策划不重要,这是严重错误的。手游的美术和程序开发工作量非常有限,表现力也受到很大限制。所以一款手游如何完成,某种意义上完全取决于游戏策划本身。
在这个过程中,手游策划和传统游戏策划基本相同。但是,游戏策划必须对游戏的运作做出准确的设计。每个手机的键盘都不一样。毕竟pc上的键盘基本都是101。
然后,根据上面第一步给出的美工的空间限制,美工要和策划人商量,严格计算每张图片所占的空间,哪怕是一个小图标也不能漏掉。
以motoracer 3d为例,我们的游戏策划做了很多关于物理力学的公式,使得其美工在设计画面时更符合真实效果。
下表:我们展示了每辆赛车的速度特征。
齿轮1齿轮2齿轮3齿轮4齿轮5手柄颜色
汽车1最高时速(mph)97 107 135 156 176 0.45绿色和黄色。
加速度(英里/小时/秒)21 18 16 12 8
车辆2的最大速度(mph)90 102 127 148 168 0.25紫色和黄色。
加速度(英里/秒)23 20 18 14 10
3号车最高车速(mph)102 12 140 160 180 0.65蓝黄。
加速度(英里/小时/秒)20 16 13 10 7
车辆4的最大速度(mph)为94 105 133 152 172 0.35黄色和蓝色。
加速度(英里/小时/秒)22 19 17 13 9
车辆5的最大速度(mph)为104 115 145 166 182 0.75黑色和红色。
加速度(英里/秒)19 17 14 10 7
车辆6的最大速度(mph)是92 105 133 152 178 0.5红色和黄色。
加速度(英里/小时/秒)21 18 15 11 8
D.艺术和程序开发工作
motoracer地图设计
建立摩托车模型和赛车。
在运行时调整操作。
此外,最重要的是,如果你想做一个像摩托罗拉一样的游戏,你首先应该是一个摩托车专家。motoracer 3d的首席美术设计师王珂是一个疯狂的摩托车爱好者。为了攒钱买摩托车,他可以啃一年馒头。啊...
E.演示测试
以motoracer 3d为例,我们的开发周期是6个月。因为有了引擎,主代码的开发周期缩短到3个月。为了保证这个产品有国际水准,剩下的3个月基本都在找问题,找骨头。于是一款位居全球手游销量前三的motoracer 3d终于发布了。
当然,数位红像motoracer 3d这样幸运的产品并不多,数位红有30%的产品在试玩时因为完整性、操作感等问题没有出来。毕竟,要建立一个优秀的品牌,你必须做出巨大的牺牲。
三。手机游戏制作合集
由于手机硬件的诸多限制和性能差异,我们在开发制作的过程中不可能天马行空的创作游戏,而是要综合考虑诸多因素的平衡。下面列出的是一些关键的性能参数,这些参数直接影响游戏的效果。
分解率
手机屏幕尺寸从80*30到320*240不等,就像pc发展中的cga,ega,vga一样。分辨率直接导致模型的大小和表现力,相信每个设计师都有些体会。另外,由于手机型号和操作系统的多样性,一款游戏不加修改就无法在不同的手机上运行。对于美术设计师来说,在设计之初就要考虑画面的适配性。比如在128×128的分辨率下,200×200的分辨率下,如何在不再次更换图片的情况下达到同样的效果?
颜色数量
目前手机能做到的色彩数量也是限制艺术家发挥的重要瓶颈。从前几年的黑白屏手机到今天的256色、4096色、真彩。数位红在开发游戏的时候接触了很多手机,有的号称显示4096色。但是当我们展示一张4096色的色阶图时,发现有些颜色根本无法分辨。更让人惊讶的是,有的手机还严重掉色。所以设计师一定要根据实际的手机来画图。在这方面,数位红吸取了很多教训。
聪明
液晶屏由于其独特的发光原理,无法达到传统显示器的亮度,同时很多色彩鲜艳的图案在强光下也无法呈现出原本的效果,这一点在手机户外展示时尤为明显。所以设计师在设计手游画面时一定要考虑到这一点,不能把色彩对比度设置的太近,画面设计一定要简洁明快,避免画面过小。
显示速度
在我们接触的很多手机中,动画帧数都无法流畅,甚至达到10帧/秒,这对游戏动画来说是致命的。我们一般采取偏帧刷或者尽量避免全屏动画来达到预期的效果。而且液晶屏本身就有显示速度问题,我们发现很多手机都有“拖尾”图像。这种情况下,在实际游戏中很容易造成玩家的视觉疲劳,尤其是在颠簸的汽车中或者行动中。如果游戏时间太长,会头晕。这样,再优秀的游戏也留不住玩家。
力量
因为手机是液晶屏,所以大部分设备在高亮度像素显示和一般像素显示时功耗都不一样。例如,白色背景比黑色背景消耗更多的电池能量。所以对于手游来说,尽可能的节省玩家的电池是一个考虑因素。
手机游戏开发中的几个误区
很多想开发手游的朋友都对手游充满幻想。像这些朋友一样,数位红在他们的脑海中有许多想法等待实现,但一旦游戏真正开发出来,我们发现它不切实际。这里有一些常见的误解与你分享:
将电脑游戏移植到手机上
游戏在pc上占用的空间已经按百兆计算了,而很多手游是按k计算的,大部分手游能装60k游戏就不错了。
J2me游戏可以在各种手机上运行,无需改动。
J2me有一个针对移动设备的midp 1.0标准,但各个手机厂商在推出支持j2me的手机时,对其进行了扩展甚至更改。一个程序要想达到最好的效果,必须针对不同型号的手机。
用java开发手机游戏比用c++好
用java开发手机游戏非常方便,但在效果和性能上很难和c++代码相比。比如在symbian os/wince设备上,我们还是建议尽量使用c++。
java开发的应用程序占用的空间很小。
开发小应用时,java程序确实占用空间少,但如果游戏项目太大,java游戏的小优势就很难体现出来。
手机游戏策划和传统游戏策划没什么区别。
手机游戏的策划有很多禁忌,需要策划人员充分了解手机的技术性能,才能做出有针对性的优秀游戏。
美术可以画一幅大图,然后缩小。
如果把大图缩小到12*12,效果可想而知。