您现在的位置是: 首页 > 游戏技巧 游戏技巧
手机游戏制作入门_手机游戏制作入门教程
zmhk 2024-08-28 人已围观
简介手机游戏制作入门_手机游戏制作入门教程 大家好,今天我想和大家分享一下我对“手机游戏制作入门”的理解。为了让大家更深入地了解这个问题,我将相关资料进行了整理,现在就让我们一起来探讨
大家好,今天我想和大家分享一下我对“手机游戏制作入门”的理解。为了让大家更深入地了解这个问题,我将相关资料进行了整理,现在就让我们一起来探讨吧。
1.零基础学习ios游戏开发该如何入门?
2.怎样制作手机游戏。
3.如何制作一个手机游戏?
4.学手机游戏开发需要学什么
5.手机游戏开发如果没有学过相关的专业知识该如何入门?求解。
零基础学习ios游戏开发该如何入门?
学习iOS开发由C/C++/OC语言到iOS项目实战阶段的学习。Objective-C编程语言,有C语言的基础加上有面向对象的思维,很容易学好Objective-C,Objective-C是iOS的开发语言。以下是iOS开发学习的大致阶段:
1、C/C++/OC语言,零基础学习iOS开发同样也是,以提高编写代码和变成调试能力,具有扎实的编程功底和思想。
2、iOS应用开发阶段,具有开发中大型iOS应用项目能力。
3、iOS游戏开发阶段,可以掌握iOS3D游戏开发的能力。
4、iOS项目实战阶段,提升创新、实战经验能力,拥有自己独立研发的几款产品。
5、iOS项目答辩,对学习成果有个总结,通过答辩锻炼表达能力。
学习iOS开发可以自学也可以选择参加iOS开发培训机构的学习,但自学中可能遇到什么问题不便于解决,往往自学效率不高,自己会感觉压力山大甚至就会选择放弃。自然参加iOS开发培训学习起来会比较快、容易掌握。零基础学习iOS开发是不用担心的,完全可以零基础学习iOS开发。iOS开发零基础学习培训四个月的时间足够。
怎样制作手机游戏。
手机游戏开发教程如下:建立游戏idea初始:从某种角度而言,手机游戏APP制作就是一种回归传统,也是新旧技术的融合。想要开发一款手机APP游戏,首先要做的就是关于游戏APP的idea,然后再开始进行APP开发工作,在APP设计工具的选择上和网页设计的工具差不多。
确定游戏参数:接下来就是确定游戏APP的各项参数以及目标设备了,在APP制作的过程中需要技术人员给出整个的大小限制,毕竟在制作的时候需要用到各种数据,所以需要把各项数据汇总,方便以后使用。
美工设计和开发:然后就是进行美工设计的和开发工作,这就需要做好手机游戏的策划,这主要是为了能够确定游戏的按钮以及操作方法,毕竟一款受欢迎的手机游戏都拥有相对比较简单的操作方法和精简的界面设计。
Demo测试:最后就是要进行demo测试,在测试中收集可能会出现的各种问题然后进行修复和完善,这样能够保证手机游戏在进入市场之后能够有更好的用户体验。
游戏开发公式
1、Unity+AndroidSdk=一个可以在手机上运行的软件。
2、Unity+AndroidSdk+引擎功能+代码+游戏模块=一个可以在手机上运行的单机游戏。
3、Unity+AndroidSdk+引擎功能+代码+游戏模块+网络=一个可以在手机上运行的网络游戏。
4、Unity+AndroidSdk+引擎功能+代码+游戏模块+网络+优化=一个可以在手机上流畅运行的网络游戏。
如何制作一个手机游戏?
在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。
数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎: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大小,效果就可想而知了。
学手机游戏开发需要学什么
1、通过参考不同的游戏,写出想要制作的游戏的剧情和脚本。2、 游戏的种类有多种,根据自己喜欢的游戏种类,通过参考不同的游戏,写出要制作游戏的剧情和脚本。
3、根据游戏的剧情和脚本,使用手绘软件绘制游戏人物的图形和背景。
4、接着,根据游戏的剧情和脚本,使用手绘软件绘制游戏人物的图形和背景,可以使用多种手绘软件相结合,提高手绘的效果。
5、通过建模的软件把平面图形创建为立体模型效果,有多种建模软件,可以通过建模的软件把平面图形创建为立体模型效果,比如使用常用的建模软件3dmax软件。6、熟悉游戏制作软件的操作,这样制作游戏的效率高些,游戏制作的软件有多种,比如用Unity3D开发游戏,熟悉游戏制作软件的操作,这样制作游戏的效率高些。
7、创建一个游戏的项目工程,在制作游戏时方便查找,根据游戏的设计,创建一个游戏的项目工程。这样把游戏中所使用的资源文件和模型都放在一个目录下,在制作游戏时方便查找。
8、把创建好的模型导入到游戏制作软件中,构建游戏场景,接着,可以把创建好的模型导入到游戏制作软件中,构建游戏场景,比如可以把3dmax软件创建的多种模型导入到Unity3D软件中。
9、在游戏制作软件使用透视与正交摄像机来查看场景,不同的游戏场景需要使用不同的角度来查看,可以创建透视或正交摄像机来查看游戏场景。
10、根据游戏的设计,添加合适的背景音乐与台词语音,好的游戏都会有独特的音乐背景,游戏人物的语音生效有特点,可以请朋友帮忙添加合适的背景音乐与台词语音。
11、使用游戏制作的软件进行代码编写,并进行测试,当游戏中的前台资源都整理好后,通过使用游戏制作的软件进行代码编写,用面向对象的方式封装不同类。
手机游戏开发如果没有学过相关的专业知识该如何入门?求解。
1、首先要有Java基础安卓是基于Java的,所以想要从事android开发相关工作一定要先有一定的Java基础知识,这里的Java基础主要包括两方面:JavaSE基础和JavaWeb开发基础。
2、JavaSE基础
JavaSE是整个Java的核心,其他所有的Java相关知识点,都是在JavaSE的基础上进行的扩充而已。所以对JavaSE的学习,需要牢固掌握Java的基本语法、理解面向对象的一些概念、Java异常、集合框架、JavaI/O,反射、泛型和多线程以及网络编程等知识。
3、JavaWeb开发
JavaWeb的主要内容包括:
Java解析XML文件DOM4J、MySql数据库的应用、多表连接查询的应用、Jsp和Servlet应用、Http协议解析、Tomcat服务器的应用配置、WebService服务配置应用。
4、Android基础
有了Java基础之后还要学习一些android开发的基础知识,包括学Android的基本控件开发和使用、高级控件的使用,掌握布局和自定义控件、Android的数据存储方法,Android的图形编程技术,2D图形的编程,图像的旋转、动画框架等。
5、android游戏编程知识
android开发也分为很多方面,所以从事android游戏开发就要学习一些安卓游戏开发方面的专业知识,包括Android游戏开发概述,SurfaceView的使用方法,物理小球技术碰撞检测技术,游戏引擎基础概念,Cocoa2d-Android引擎使用方法,OpenGLES使用方法,、文字和背景音乐等资源的使用方法。
关于大型游戏的开发:
大型游戏(cs已经有些过时了)魔兽世界,星际等等还有国内的剑侠情缘,这类游戏都是大型游戏。开发它们肯定不是一个人能完成的,一般的大型游戏开发绝不是用某种语言这么单纯的问题。
一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是DirectX(Windows平台)——游戏引擎——游戏。DirectX可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但DirectX接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。
此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
参考资料?百度百科?软件开发
(1)程序方面要从编程语言入手。主流的 Java,C++, C#,.net等要有基本的认识,最起码能看懂代码,知道代码实际做了什么样的任务。以后各种脚本语言就很容易理解和运用,比如JavaScript, lua,虚幻引擎的UnrealScript, flash的ActionScript等等。
(2)美术方面也要有一个全面基本的了解。主要是手机的性能特性限制了美术资源的规格,尤其是3d的游戏你必须去学习了解各种优化办法,比如模型的优化、贴图的优化、场景烘培技术、界面优化等等。
(3)考虑到实用性,不应该一下学习太杂,你应该先设立一个较为具体的目标。比如一个类似水果忍者的游戏如何开发。这个游戏是要发布在ios 还是安卓上。在这个前提下,你所需要解决的问题就很具体了。你可以细分每一个需要解决的任务。a)选用什么开发引擎做。个人建议学习Unity3D。 b) 基本的水果模型怎么做?是上网找资源还是自己做。 c)切开水果的效果怎么做?是预先做好切开的水果碎片,还是采用实时计算接割的办法生成碎片。 d)手指滑动的切割轨迹怎么做?是借助unity的trail特效做,还是自行编一个实时生成轨迹面片的特效?e)物理效果怎么实现?通过 unity 实现的话,要调整什么地方。
通过解决实例的诸多问题,最终达到目标。这样很快就能入门了。
今天的讨论已经涵盖了“手机游戏制作入门”的各个方面。我希望您能够从中获得所需的信息,并利用这些知识在将来的学习和生活中取得更好的成果。如果您有任何问题或需要进一步的讨论,请随时告诉我。
上一篇:原神之胡桃之辱