手机游戏制作工具_手机游戏制作工具有哪些
手机游戏制作工具是一个值得探讨的话题,它涉及到许多方面的知识和技能。我将尽力为您解答相关问题。
1.怎样制作手机游戏。
2.手游开发该如何选择合适的游戏引擎
3.游戏开发工具有哪些?
4.这些游戏引擎,你都知道吗?
怎样制作手机游戏。
在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。
数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎: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大小,效果就可想而知了。
手游开发该如何选择合适的游戏引擎
游戏开发指利用计算机编程语言,如C编程语言、C++、java等,编写计算机、手机或游戏机上的游戏。目前流行的游戏开发语言为C++编程语言,目前流行的游戏开发接口为DirectX9.0,还有OpenGL、SDL(SimpleDirectMediaLayer)等。现在手机上玩的游戏分为Android与IOS两种不同平台,分别是用eclipse/MyEclipse和xcode。现在也流行一些跨平台的编程引擎,例如cocos2d-x、unity3D等。接下来,再看看游戏开发的课程,游戏开发的课程除了理论知识还包括软件的操作。
C++程序基础:通过学习C++语言,奠定编程基础。使用VS.net2005编译工具,高效构建代码。
算法与数据结构:通过学习算法与数据结构的基本概念,了解常用的数据结构及相关的抽象数据定义,认识计算机求解的基本思路与方法。
Win32程序入门:通过API和MFC的学习,熟悉Windows环境下程序设计基本方法。通过使用DirectX绘制2D图形。
游戏数学和智能应用:游戏中的坐标系,矢量、矩阵,几何碰撞,物理模拟,人工智能与寻路算法。
2D游戏技术与应用:2D游戏技术概论,游戏地图系统,GUI系统,战斗系统设计,任务系统优秀的声音引擎BASS,Cocos2D-X引擎,Box2D物理引擎。
游戏开发的常用软件有C++、DirectX、Box2D、Cocos2d-x、Unity,不能说哪款最好用,因为这是游戏开发过程中都要用到的软件,必须都精通。
C++是在C语言的基础上开发的一种通用编程语言,应用广泛。
DirectX,(DirecteXtension,简称DX)是由微软公司创建的多媒体编程接口。
Box2D是一个用于模拟2D刚体物体的C++引擎。zlib许可是一个自由软件授权协议,但并非copyleft。
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++Cocos2d-iPhone项目的版本。
Unity是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎
首先你有编程基础是再好不过的了。
手机游戏开发的平台是JME,一般不会用到C++。当然学过C++的更好。
你学的可能是JEE,所以你一定要把JME好好学一下,重点是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。掌握这些就基本上门什么问题了,学的不多,对于一个会C++/JEE的人来说,应该可以在1个月左右学完。
和其他语言一样,JME关键是要多练,自己试着开发几个小游戏出来是不错的练习办法,可以找出你学习上的不足点。有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。
如果是独立开发手游,那么还要掌握一些基本的软件,如PhotoShop,Mappy,和简单的声效处理。
另外有需求的话可以学学JTWI,特别是Mobile3DGraphics(M3G)技术,这是以后发展的趋势(由于本人对这块很薄弱,所以不能误导你,就不多说了)。
总之,你就再需要学JME和多练习,就够了。PS.一般来说JME工程师比JSE和JEE的待遇要好一些。而且从事游戏行业的上班玩游戏不会被骂。如果哪天你闲着无聊和同事聊天聊的太嚣张被BOSS看见了,他第一句应该是说“有闲功夫多玩玩游戏,闲聊什么天!。”
手机游戏制作
全球手机顶尖游戏3dmotoracer制作全揭密
图文_吴刚北京数位红软件应用技术有限公司执行董事
林志强数位红nightmareii首席三维美术设计师
王科数位红motoracer3d首席三维美术设计师
3dmotoracer是数位红公司开发的一款针对nokias60设备及sonyericssonp800(uiq)的3d游戏,该游戏上市几个月来,已经成为全球最畅销的nokias60、p800游戏应用前三名之一。本文就是对3dmotoracer的开发过程进行大致的介绍。
i.游戏引擎的准备
在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。
数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎:dragonbonegameengineformobilephone(龙骨),他可以支持目前大部分的高端移动设备,它不仅可以使程序开发人员及游戏项目节省了大量的时间,另外还可以让美术人员最直观的看到其设计效果。它最大的价值就是可以使开发人员的一套代码在不需要改动程序的情况下编译运行在不同设备平台上(改动不超过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++,jbuilder及codewarrior,在设计工具上则更是和普通的pc游戏制作软件没有大的区别。有的设计人员更愿意使用“骨灰级”的二维设计工具dp,也有人愿意用3dmax、maya建模之后再进行二维修改,当然所有这些方法都要根据游戏的最终设定来决定。我们在做java游戏的时,一般都是采用像素级的二维绘制完成,即逐个像素点的完成。但在制作pda等类似设备的游戏时,就会采用3dmax或者maya建立模型,渲染后再修整。在设计过程中,我们也与大多数游戏公司一样使用了maya、3dmax、photoshop、painter等工具。
b.确定游戏的各项参数及目标设备
这要求程序人员能给出准确的限制大小,即所有允许美工占用多少空间。由于手机游戏的制作受数据量的限制很大,所以我们在设计游戏时,经常为减少1k空间大小而大伤脑筋。另外,就是需要准确了解该手机允许的色彩数、分辨率、整屏刷新率,其实这也是对游戏引擎的一种测试。
以motoracer3d为例,我们设想使其运行在nokia9210、nokia7650/3650、sonyericssonp800、pocketpc平台上。在数位红,由于我们拥有了自主开发引擎dragonbonegameengineformobilephone,游戏引擎是跨平台的,所以这一步骤我们就省去了不少时间。我们以nokia7650/3650为最初调试蓝本,原因是在这些设备中,nokia7650/3650的速度相对较慢,屏幕尺寸也相对其他设备小,因此以它为基础设备最为合适。
如下表,我们设计了motoracer3d的基本技术参数。
技术参数达成目标及要求
图像刷新速度>18/fps
文件安装完成大小<1000k
文件未安装大小<400k
占用内存峰值<700k
使用过程中游戏占用内存<700k
游戏与操作系统兼容性nokia9210、nokia7650/3650、sonyericssonp800、pocketpc
游戏图形特效清单无alpha
图形文件
声音文件.wav
数据自定义
目录结构/变动文件清单
使用的动态链接库未知
下面是经过初步估计的基本清单:
跑道外面的沙地草地元素
跑道的边上的指示方向的牌。(左右)
跑道地面元素
背景的天空图。
起跑线。
选择的时候得车图(4张)
比赛开始前站立的背面图(4张)。
比赛时候得车加人背面图(4套,每套9张,分别9个角度,从直立开始,每15度一张。)
撞车后的图(3桢)
比赛完毕名次画面。
速度仪表图。
数字(0至9等宽横排,分别有4套,速度数字,档位数字,排位数字)
菜单背景
topten
按钮
巡回赛排名的背景
c.准备游戏策划
很多开发者认为,手机游戏的策划不重要,这个观点是严重错误的,手机游戏的美术与程序开发工作量都非常有限,其表现力也受非常大的制约,因此一款手机游戏的可完性如何在某种意义上完全取决于游戏策划本身。
在此过程中,手机游戏策划基本同传统游戏策划无异。但游戏策划必须要对游戏的操作做出准确的设计,每个手机的键盘都不太相同,毕竟pc上的键盘基本都是101键。
再就是根据上面第一步给定的美工空间限制,美工要同策划共同商议,严格计算每张占用的空间,甚至是一个小图标都是不可以漏掉的。
以motoracer3d为例,我们的游戏策划做了大量有关物理力学方面的公式,使其美工在设计时更符合真实的效果。
如下表:我们将每种赛车的速度特性均体现出来。
gear1gear2gear3gear4gear5grip颜色
车1最大速度(mph)971071351561760.45绿黄
加速度(mph/秒)211816128
车2最大速度(mph)901021271481680.25紫黄
加速度(mph/秒)2320181410
车3最大速度(mph)1021121401601800.65蓝黄
加速度(mph/秒)201613107
车4最大速度(mph)941051331521720.35黄蓝
加速度(mph/秒)221917139
车5最大速度(mph)1041151451661820.75黑红
加速度(mph/秒)191714107
车6最大速度(mph)921051331521780.5红黄
加速度(mph/秒)211815118
d.美术及程序开发工作
motoracer的贴图设计
建立摩托车的模型与赛手
调整运行时的动作
另外最重要的就是如果想做一款motoracer这样的游戏,首先自己就应该是摩托车的行家,我们motoracer3d的首席美术设计师王科,就是一个疯狂的摩托车发烧友,他可以为了攒钱买机车,啃一年的馒头。呵
e.demo测试
测试工作以motoracer3d为例,我们开发周期6个月,因为有了引擎的缘故,使主代码开发周期缩短至3个月,为了保证这款产品具备国际水准,剩余的3个月我们基本都在找问题、鸡蛋里挑骨头。于是一款位列全球手机游戏销售前三名的motoracer3d终于出炉了。
当然,在数位红像motoracer3d的幸运产品并不多,数位红有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在移动设备上有一个midp1.0标准,但各个手机厂商在推出支持j2me的手机上都对其进行了扩充甚至改动,一个程序想要达到最理想的效果就一定要针对不同型号的手机。
用java开发手机游戏要比用c++好
使用java开发手机游戏的确非常方便,但在效果与性能上很难与c++代码实现效果比拟。如在symbianos/wince设备上我们还是推荐尽量使用c++来开发为好。
java开发出的应用程序占用的空间小
在开发小型应用时,java程序的确空间占用较小,但如果游戏项目过大,java游戏的小巧优势就很难体现了。
手机游戏策划与传统游戏策划无异
手机游戏的策划禁忌非常多,要求策划人员必须全面了解手机的技术性能才能做出针对性的优秀游戏。
美术可以画大图,然后再缩小
一张大图如果缩成12*12大小,效果就可想而知了。
1.Construct3适合小白的一款游戏开发软件,不需要自己编程,游戏开发工具完全由GUI驱动,游戏逻辑和变量使用应用程序本身提供的设计功能实现。
2.GameMakerStudio2
与Construct3一样,GameMakerStudio2允许您使用其变量和游戏逻辑的拖放界面创建整个游戏。但与Construct3不同,GameMakerStudio2通过其GameMaker语言赋予更多功能,目前它是最流行和最活跃的免费游戏开发引擎之一。
3.Unity
Unity最初是一个3D引擎,但最终在2013年增加了官方的2D支持。尽管它完全能够创建2D游戏,但是你可能遇到偶然的错误或故障,因为Unity的2D系统实际上已经加入其核心3D系统。这也意味着Unity给2D游戏增加了许多不必要的麻烦,这可能会影响性能。
4.戈多引擎
Godot支持创建2D和3D游戏。然而,与Unity不同,戈多的支持要好得多。引擎的2D方面从一开始就经过精心设计,这意味着更好的性能,更少的错误以及更整洁的整体工作流程。
5.虚幻引擎4
在此列表中的所有工具中,UE4是最专业的。它是由Unreal特许经营背后的天才创建的,他们知道顶级引擎需要什么,以及提供下一代功能需要什么。他们确切地知道他们在做什么。
"游戏开发工具有哪些?
手游开发该如何选择合适的游戏引擎一、引擎的介绍
随着游戏开发的不断进步,游戏开发越来越庞大复杂,因此游戏引擎已经成为游戏开发必不可少的工具。引擎对基本的功能封装,对工具链的提供等都可以大幅降低游戏引擎的开发难度,提高开发速度和质量。
对于目前市场,3D手游的引擎选择主要分四部分:
Unity:在移动端更有优势占据手游市场70%的占有率,各种品类游戏都有;
Unreal:两款正版吃鸡手游都是使用Unreal引擎,但手游MMO目前国内还没有上线产品,国内端游MMO成功的也很少;
自研引擎:例如楚留香的Messiah,太极熊猫的Flexi等,优点在于非常熟悉可以提供深度定制和优化;
其他引擎:应用较少不进行考虑。
这里其实选择的余地比较小,对于大部分没有自研引擎的公司来说,还是选择Unity居多,但是随着硬件的不断发展以及Epic公司自己的不断优化和持续更新,Unreal在手机上也有越来越多的公司和项目选择使用了。
部分已知手游项目:
(一个重要的选择原因:如果一款引擎在同类型项目中有成功项目,则我们可以很大程度相信这款引擎。)
二、选择引擎的基本原则
按照软件工程的开发流程,我们首先应该明确需求。以下是一些常见的需求点:
游戏类型?
目标用户,目标平台,目标机型是什么?
项目周期,成本和团队实力?
更倾向画质品质还是适配性?
是否有特殊的技术需求?是否大世界?是否支持物理?是否写实风格
何种同步技术?
等等
然后我们需要考察引擎的特性是否和我们的需求相符。
1、必须满足的特性,如果不支持则不能选用该引擎:
是否有成功的同类型产品?
引擎是否支持想要发布的平台,兼容性如何?
引擎的性能如何?包括CPU,GPU,内存等等,例如早期的Unreal如果开发商不做优化无法在低配手机上流畅稳定的运行。
引擎的成本如何,和团队的技术栈是否契合,开发效率如何?
引擎是否支持想要的技术?
2、最好支持的特性,但如果不支持可以第三方库或自主开发解决:
如果是多人在线游戏,引擎是否已经封装了成熟的同步机制?
是否支持更多的DC和更完善的优化?
如果是开发大世界游戏,引擎是否支持成熟的大世界系统(包括地形,植被,LOD,遮挡,优化等等)?
如果需要高级AI,引擎是否能高效完善支持?
如果需要物理碰撞,引擎是否能高效完善支持?
负责逻辑是否支持脚本,是否支持脚本可视化编辑器?
是否支持热更?
引擎是否自带编辑器(动画,场景,特效,UI,粒子等),以及编辑器是否适合,是否支持扩展?
第三方插件和库的支持如何?
引擎是否有良好的文档,是否有开发商官方的技术支持?
引擎是否完善的开发工具?如性能分析,打包等等。
三、引擎的功能划分和对比
有一句话说的好:
美术资源决定了游戏世界的外观,脚本资源决定了游戏世界的内容,而引擎部分决定了游戏世界的规则。
一款引擎往往包含,图形模块,AI模块,物理模块,寻路模块,输入模块,网络模块,UI模块,渲染模块,声音模块,编辑器模块等等,如果要全面评估我们应该针对各个模块进行详细的评估和对比。
但说道引擎,往往大家的第一印象都是引擎的图形渲染能力,可见图形对于引擎来说是至关重要的,因此我们会分为两部分,图形模块和其他模块,然后进行详细的比较。
图形模块
图形是游戏引擎的重中之中,主要功能就是提供封装底层的渲染接口(D3D,OpenGL,Metal,Vulkan等),渲染管线的定制(前向渲染,延迟渲染,多线程等),适配(PC,IOS,Android),以及一些基本渲染功能的提供例如后处理(抗锯齿,景深,屏幕矫色,扭曲,描边,SSAO等等),阴影,地形,捏脸,动画,天气等等。
由此可见在高端渲染技术上Unreal更有优势有强大的官方支持,性能也极佳,但是相对的低端设备的兼容性会略差特别是Android版本。Unity也可以实现相同的效果但是很多工作都需要自己开发。
其他
经过对比可知Unity更容易上手前期开发更快速,更容易做出适配更广(内存和稳定性)的游戏,但一些次时代技术需要自己实现。而Unreal学习成本较高开发效率较低,但是更容易做出顶尖效果的游戏,更适合开放世界,大型项目。
四、总结
如果是项目周期和成本比较宽裕,希望开发超高画质超高品质,开放世界的游戏,同时图形向技术积累较弱推荐使用Unreal,特别是FPS射击类游戏;如果希望开发周期更短,或者有着深厚技术积累和技术支持推荐使用Unity。此外引擎的选择也受美术和策划的影响,特别是美术同学,对编辑器和引擎的熟悉成度对进度,效果和性能也有着非常大的影响。
其实对于大部分的游戏,两款引擎都可以满足需求,主要的差异还是在品质,时间,成本的项目管理三角形的取舍上。适合自己的才是最好的。
这些游戏引擎,你都知道吗?
游戏开发的工具有很多,主要是看你的基础如何,给你介绍两款简单容易上手的和一款时下用得比较多的。
1、Construct 2,是一款Html5游戏开发工具,无需编写脚本,容易上手的,可以通过插件来扩展功能,目前插件开发者很多,可以导出到安卓,iOS,网页,桌面等全平台,是一款难得的游戏网页应用开发工具。不过仅限于不会代码的人,会代码的人会觉得麻烦。
2、国内的C2engine,可以去他们的官网了解一下,中文版的,比较容易上手
3、Unity3d是时下最火最流行的游戏开发工具了,支持2D和3D,它的插件最多,国内有很多社区可以获取它的插件,项目包用来学习。
游戏引擎之争就像编程语言之争一样,在游戏开发圈永远是一个火爆的话题,目前市面上主流的一些游戏引擎,我们来给他们做一些比较,了解他们的历史,特点,目前国内主流在用的游戏引擎有,Unity,Cocos,Laya,UE4,白鹭,接下来我们一起来分析这些引擎的特点。1、国民3D引擎Unity
Unity,使用C#或Lua语言开发。国民3D引擎,这个称号说明了Unity在3D引擎的市场地位,中小型的游戏公司做3D游戏,基本是用Unity,很多大公司的游戏也用Unity,比如《王者荣耀》,国外什么情形呢?AppStore上面80%的3D游戏都使用Unity游戏引擎开发。为什么Unity打败了众多高手,成为国民游戏引擎,我们也好好的说一下。
时间回到2010年左右,当时页游比较火,Unity那个时候引擎的定位是能开发PC端游和页游的游戏引擎。随着手游时代来临,市场急需一个3D游戏引擎,能一次开发多平台发布到Android与iOS,而Unity成为当时唯一的3D游戏引擎解决方案。
和手游市场一起,Unity实现快速增长。Unity能成为国民引擎还有一个很重要的原因,就是对初学者很友好,很方便就可以上手,极大的降低了3D游戏开发难度,Unity引擎的市场份额越来越大,技术人才,SDK,第三方插件,技术资料等也越来越完整。总结一下Unity的特点:
(1)能制作精美的3D游戏画面,和定制渲染管线,画面效果不如UE4。
(2)能制作各种类型的3D游戏上线,每种类型的游戏都被商业项目验证过。
(3)完整的生态,一次开发多,平台发布(PC,android,iOS,xBox)。
(4)Unity不开源,需要支付授权费才可以修改引擎代码,发布后也要付授权费。
(5)Unity开发2D游戏相对包体过大。
(6)Unity 3D H5支持比较薄弱,不支持微信/抖音/华为/Facebook等H5小游戏平台。
2、国民2D游戏引擎Cocos,3D引擎的新贵
Cocos Creator使用JavanScript/TypeScript开发。回到2010年,手游刚刚兴起的时候,如果没有听过Cocos,那么你一定不是手游行业的。2010年的时候,能跨平台开发的游戏引擎只有Cocos(Unity还不能支持手机平台),2010年的时候手机硬件性能还有限,大部分都是2D游戏为主,Cocos成为国民手机移动端游戏引擎,那时,很多手机游戏,都是基于Cocos开发,也让它迅速了占领了开发者的市场。
后来随着手机硬件的发展,3D游戏越来越多,手游市场份额慢慢的被Unity取代。Cocos引擎完全免费,包体小,做2D游戏技术成熟,Cocos Creator开发工具与Unity的易用性一样,极易上手。H5技术成熟,最近2年,全新引擎全面支持3D,一次开发能发布到PC端,Android,iOS,微信抖音华为等各大H5小游戏平台。总结一下Cocos Creator特点:
(1)引擎完全免费,开源,包体小,定制灵活。
(2)引擎开发2D游戏经过大量验证,非常适合2D游戏开发。
(3)全新的3D引擎,能开发3D游戏,但是还有提升空间。
(4)一次开发,多平台发布,与传统引擎不同的是,可以发布H5的平台。(微信/抖音、华为小游戏平台)
(5)Creator 3D引擎生态还不够丰富,如第三方插件等。
(6)Cocos Creator开发2D游戏得到大量验证,3D还需产品验证。
(7)Cocos H5游戏runtime内核在行业做的非常好,可以提供高效的H5游戏运行方案。
3、Laya游戏引擎,H5上大规模跑3D游戏的游戏引擎
Laya游戏引擎,使用AS,JS,TS开发。H5刚兴起时,H5跑3D游戏,很多公司都不看好,认为以H5的性能,不足以跑效果好的3D游戏,但是H5游戏有普通游戏无法比拟的优点就是不用安装,点开就可以玩。那个时候PC页游已经发展成熟,同时手机页游大规模兴起,页游依靠FlashPlayer,而到手机上,就没有FlashPlayer这个东西,随之取代的就是H5。
对于是页游的开发者,想要把游戏跑到手机网页上,就需要将Flash开发的游戏,转成H5游戏。Laya最开始就是完成这件事情的。所以Laya支持的开发语言有AS,JS,TS,就是这么来的。Flash转H5,商业尚不上太成功,后来随着h5的发展,直接转为H5 3D游戏引擎,是最早在H5上跑出大型商业3D游戏的H5 3D引擎。
在H5 3D这块积累了很多经验和成熟上线的产品案例,现在80%左右的3D微信抖音oppo,vivo小游戏都是laya引擎做的。Laya是先做H5平台,然后再做的native平台(PC,iOS,Android)。总结一下Laya的特点:
(1)最早的被大规模商业项目验证的H5?3D游戏引擎,发布微信抖音等小游戏平台非常成熟。
(2)借用强大易用的Unity编辑器可兼容3D资源,如果一个游戏是Unity开发,你要移植到H5,那么Laya一定是首选。
4、UE4游戏引擎,3A游戏的首选引擎
UE4,开发语言C++和蓝图。UE4是3A游戏开发者引擎的首选,它以逼真的渲染效果著称。很多大型的3A游戏都采用UE4来开发,比如腾讯的《和平精英》等。UE4采用C++开发,虽然有蓝图,但是很多公司正式项目都去蓝图化,采用C++开发游戏,与C#和Js/Ts相比,开发难度大,当然C++可以获得更好的性能。UE4不支持H5,但是可以发布到主流的游戏平台,PC,iOS,Android等,但无法发布到H5游戏平台。总结一下UE4的特点:
(1)画面效果好,3A游戏的首选。
(2)C++开发难度相对较大,所以爱她的程序员和恨她的一样多。
(3)开发3A级游戏技术成熟,画面效果好。
(4)不支持H5。
5、白鹭游戏引擎
白鹭引擎,开发语言是Js/Ts。白鹭游戏引擎对于H5游戏是有着不可磨灭的贡献,它是最早的H5游戏引擎,它里面的很多工具非常好用,到现在还被其他的引擎使用,比如骨骼动画工具,DragonBones被广泛应用到游戏开发中。最早一批的H5游戏开发者一定都是使用白鹭。白鹭引擎在H5游戏这个领域有着不可磨灭的贡献。后来白鹭也推出了Native平台。总结一下白鹭的特点:
(1)H5游戏的先驱,为H5游戏做了不可磨灭的贡献。
(2)H5?2D游戏技术成熟,经过很多商业游戏验证。
(3)3D功能有,但是商业项目3D游戏用的比较少。
好了总结了身边的一些游戏引擎,到底哪个最强?其实学习游戏开发过程中,最终把原理原则搞懂,引擎是工具,开发者学习开始于工具,但不止于某个工具。
好了,今天关于“手机游戏制作工具”的话题就到这里了。希望大家通过我的介绍对“手机游戏制作工具”有更全面、深入的认识,并且能够在今后的学习中更好地运用所学知识。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。