开发1款游戏需要什么软件?
首先你有编程基础是再好不过的了。
手机游戏开发的平台是JME,1般不会用到C++。当然学过C++的更好。
你学的可能是JEE,所以你1定要把JME好好学1下,重点是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。把握这些就基本上门什么问题了,学的不多,对于1个会C++/JEE的人来说,应该可以在1个月左右学完。
和其他语言1样,JME要害是要多练,自己试着开发几个小游戏出来是不错的练习方法 ,可以找出你学习上的不足点。有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。
如果是独立开发手游,那么还要把握1些基本的软件,如PhotoShop,Mappy,和简单的声效处理。
另外有需求的话可以学学JTWI,特殊是Mobile 3D Graphics(M3G)技术,这是以后发展的趋势(由于本人对这块很薄弱,所以不能误导你,就不多说了)。
所以,你就再需要学JME和多练习,就够了。PS.1般来说JME工程师比JSE和JEE的待遇要好1些。而且从事游戏行业的上班玩游戏不会被骂。如果哪天你闲着无聊和同事谈天聊的太嚣张被BOSS看见了,他第1句应该是说“有闲功夫多玩玩游戏,闲聊什么天!。”
手机游戏制造
全球手机顶尖游戏3d motoracer 制造全揭密
图文_吴刚 北京数位红软件使用技术有限公司执行董事
林志强 数位红nightmare ii首席3维美术设计师
王科 数位红motoracer3d首席3维美术设计师
3d motoracer 是数位红公司开发的1款针对nokia s60设备及sony ericsson p800 (uiq)的3d游戏,该游戏上市几个月来,已经成为全球最畅销的nokia s60、p800游戏使用前3名之1。本文就是对3d motoracer 的开发过程进行大致的介绍。
i. 游戏引擎的预备
在制造游戏之前,必须有1套经过长期测试并且适用的游戏引擎。
数位红用了两年的时间总结开发出1套基于移动设备的游戏引擎:dragon bone game engine for mobile phone(龙骨),他可以支持目前大部分的高端移动设备,它不仅可以使程序开发人员及游戏项目节约了大量的时间,另外还可以让美术人员最直看的看到其设计效果。它最大的价值就是可以使开发人员的1套代码在不需要改动程序的情状下编译运行在不同设备平台上(改动不超过20%)。目前数位红及其他公司已经使用它开发游戏超过了30款。
引擎提供了非常完美的9个模块与3个增强模块,可以完全称心各类游戏开发的需要。游戏引擎可以直接嵌进到开发者的程序中,不需要额外的支持程序就可以使所开发的游戏独立运行。游戏引擎简单、易用,编译后体积很小,占用内存也很小,可以节约玩家的内存空间及无线下载费用。基本引擎包含9个模块,引擎函数界面提供了类似windows的使用模式:
1、 文件操作模块:提供类似准则c的fopen,fclose等函数。
2、 内存治理模块
3、 2d图形图象模块
4、 对话框模块
5、 sms操作模块:可以在程序内部对sms的收发进行截获处理。
6、 加密模块:提供识别使用设备的imei功能,用于软件的加密目标。
7、 声音模块
8、 资源打包及压缩模块:可是使最后发售的软件包体积变小,尽量少的占用用户的内存空间。
9、 常用函数:如字符串操作等函数。
10、例子:提供1套完全游戏magicline的源程序。
引擎增强模块构成
其增强部分,包含3个模块:
1、 实时3d增强模块
2、 声音增强模块
3、 图形文件增强模块
ii. 正式开发的前期工作
a. 开发工具的预备
在很多人看来,手机游戏还是1种很新奇时尚的玩意儿,所以,谈起手机游戏的时候难免有种莫测高深的感觉。其实,手机游戏的整个制造过程十分简单。从某种角度而言,它是1种世代相传的回回,同时也是新旧技术的相互合成。最常用的开发工具有vc++,j builder及codewarrior,在设计工具上则更是和普通的pc游戏制造软件没有大的区别。有的设计人员更情愿使用“骨灰级”的2维设计工具dp,也有人情愿用3dmax、maya建模之后再进行2维修改,当然所有这些方法都要依据游戏的最终设定来决定。我们在做java游戏的时,1般都是摘用像素级的2维绘制完成图片,即逐个像素点的完成。但在制造pda等类似设备的游戏时,就会摘用3dmax或者maya建立模型,渲染后再修整。在设计过程中,我们也与大多数游戏公司1样使用了maya、3dmax、photoshop、painter等工具。
b. 确定游戏的各项参数及目标设备
这要求程序人员能给出正确的图片限制大小,即所有图片答应美工占用多少空间。由于手机游戏的制造受数据量的限制很大,所以我们在设计游戏时,经常为减少1k空间大小而大伤脑筋。另外,就是需要正确了解该手机答应的色彩数、辨认率、整屏刷新率,其实这也是对游戏引擎的1种测试。
以motoracer 3d为例,我们想象 使其运行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平台上。在数位红,由于我们拥有了自主开发引擎dragon bone game engine for mobile phone,游戏引擎是跨平台的,所以这1步骤我们就省往了不少时间。我们以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度1张。)
撞车后的图(3桢)
比赛完毕名次画面。
速度仪表图。
数字(0至9等宽横排,各有4套,速度数字,档位数字,排位数字)
菜单背景
top ten
按钮
巡回赛排名的背景
c. 预备游戏策划
很多开发者认为,手机游戏的策划不重要,这个看点是严重错误的,手机游戏的美术与程序开发工作量都非常有限,其表现力也受非常大的制约,因此1款手机游戏的可完性如何在某种意义上完全取决于游戏策划本身。
在此过程中,手机游戏策划基本同世代相传游戏策划无异。但游戏策划必须要对游戏的操作做出正确的设计,每个手机的键盘都不太相同,究竟pc上的键盘基本都是101键。
再就是依据上面第1步给定的美工空间限制,美工要同策划共同商量,严厉计算每张图片占用的空间,甚至是1个小图标都是不可以漏掉的。
以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 的贴图设计
建立摩托车的模型与赛手
调整运行时的动作
另外最重要的就是如果想做1款motoracer这样的游戏,首先自己就应该是摩托车的行家,我们motoracer 3d的首席美术设计师王科,就是1个疯狂的摩托车发烧友,他可以为了攒钱买机车,啃1年的馒头。呵…
e. demo测试
测试工作以motoracer 3d为例,我们开发周期6个月,因为有了引擎的缘故,使主代码开发周期缩短至3个月,为了保证这款产品具有国际水准,剩余的3个月我们基本都在找问题、鸡蛋里挑骨头。于是1款位列全球手机游戏销售前3名的motoracer 3d终于出炉了。
当然,在数位红像motoracer 3d的幸运产品并不多,数位红有30%的产品在demo期间就因为可完性、操作感等问题最终没有面世。究竟想要打造1个优异的品牌是要做出很大牺牲的。
iii. 手机游戏制造宝典
由于手机硬件设备方面的诸多限制和性能差异,我们在游戏的开发和制造过程中无法天马行空般的进行创作,而不得不综合考虑到多方因素的平衡。下面列出的是1些要害的性能参数,这些参数都直接影响游戏的效果。
辨认率
手机的屏幕大小各有不同,从80*30到320*240,就好比在pc发展过程中的cga、ega乃至vga,辨认率的高低直接致使了造型的大小及表现力,这点信赖每个设计人员都有所体会。另外,由于手机型号及操作系统的多样性,致使了1款游戏并不能不加改动的在不同的手机上运行。对于美术设计人员而言,就要在设计之初考虑屏幕的自适应问题。比如在128×128辨认率下与200×200的辨认率下,如何可以不重新更换图片,但又达到同样的效果?
色彩数量
目前手机能达到的色彩数量也是限制美术人员发扬的1个重要瓶颈。从过往几年的黑白屏幕手机到现今256色、4096色及真彩色。digital-red在开发游戏时接触过非常多的手机,其中有的手机号称能展示4096色,但我们将1张4096色的色阶图进行展示,便发现有的颜色根本无法区分,更让人食惊的是,个别手机还色偏严重。所以,设计人员是1定要依据实际手机进行图片绘制,在此,digital-red有过非常多的教训。
明亮度
液晶屏幕由于其特殊的发光原理,并不能达到世代相传展示器的亮度,同时也就致使了很多色彩丰盛的图案在强光下,不能展示出原有的效果,这点在手机户外展示时特别明显。因此设计人员在设计手机游戏图片时1定要考虑这点,不能将色彩对比度设置的过于接近、图片设计1定要简洁明快,避免过小的图片。
展示速度
在我们接触的手机里,很多由于运算速度的问题,致使动画帧数并不能顺畅,甚至达到不了10帧/秒,这对于游戏动画而言是致命的,我们1般摘取局部刷帧或者尽量避免全屏幕动画来尽量达到预期效果。而且液晶屏幕本身也有展示速度问题,我们就发现过很多手机都有影像“挈尾”情状。这种情状,在实际游戏中很轻易造成玩家的视觉疲惫,特别在颠簸的车上或者是行动中,游戏时间过长,就有头晕目眩的感觉。如此,即使是1款优异的游戏也无法留住玩家了。
电力
由于手机是液晶屏幕,大多数设备在高亮度的像素展示与1般像素展示上,两者耗电量是有所区别的,例如白色背景就要比黑色背景消耗更多的电池能量。因此,对于手机游戏而言,要尽可能节约玩家的电池,也算是对玩家的1种体贴吧。
手机游戏开发过程中的1些错误看念
很多想开发手机游戏的朋友们对于手机游戏都布满了妄想 ,digital-red也曾与这些朋友们1样,在脑海中有非常多的想法等待实现,但1旦真正开发游戏的时候我们就发现很不现实,这里将几个常见的错误熟悉与诸位分享:
移植pc游戏到手机上
pc上的游戏已经以百兆来计算其占用空间了,而很多手机游戏是以k来计算,大多数的手机游戏能安装60k的游戏就算不错了。
j2me游戏不用改动可以运行在各种手机上
j2me在移动设备上有1个midp 1.0准则,但各个手机厂商在推出支持j2me的手机上都对其进行了扩充甚至改动,1个程序想要达到最理想的效果就1定要针对不同型号的手机。
用java开发手机游戏要比用c++好
使用java开发手机游戏的确非常方便,但在效果与性能上很难与c++代码实现效果比拟。如在symbian os/wince设备上我们还是推举尽量使用c++来开发为好。
java开发出的使用程序占用的空间小
在开发小型使用时,java程序的确空间占用较小,但如果游戏项目过大,java游戏的小巧优势就很难体现了。
手机游戏策划与世代相传游戏策划无异
手机游戏的策划禁忌非常多,要求策划人员必须全面了解手机的技术性能才能做出针对性的优异游戏。
美术可以画大图,然后再缩小
1张大图如果缩成12*12大小,效果就可想而知了。