如何学习游戏开发 游戏开发学习的两条路线是什么

本文章由注册用户 温暖·生活家 上传提供 评论 发布 纠错/删除 版权声明 0
摘要:随着电脑和智能手机的筑建普及,玩游戏几乎成为了人们的常态,这就必然需要较多的游戏开发人,因此不少人都想要自学游戏开发的相关知识。那么,我们应该怎样学习游戏开发呢?首先要选定游戏平台的类型,然后就是有针对性的进行学习。你可以选择只是用游戏引擎的学习也可以选择使用游戏引擎并深入了解游戏引擎原理的学习两条路线。当然,如果想要有所作为,那么推荐你选第二条。下面就一起来看下游戏开发学习的相关知识吧。

如何学习游戏开发

一、平台与编程语言选择

首先,游戏开发的平台就有很多类型:

*个人主机平台:WindowsLinuxMac OC

* 移动平台:iOSAndroidWindows PhoneBlackBerryOSSymbian

* 专业主机平台:XboxPlayStationWill等。

如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C

但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C 的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。

所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。

无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:

*只使用游戏引擎;

*使用游戏引擎并深入学习游戏引擎原理。


二、游戏开发不同学习线路

线路一:只使用游戏引擎

对于第一条路线,游戏引擎的使用并不困难,因此适合想快速上手游戏开发工作的人。我们工作大多数时候也不会自己开发游戏引擎,所以这样对于一般的日常工作也没什么大碍。对于只使用游戏引擎的人来说,入门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方帮助文档等),并且熟练该教程所使用的编程语言。

所以你要做的第一件事,就是去了解现在流行的游戏引擎。因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的流行的游戏引擎也是不同的(方括号里面是特别推荐的,基于开源性、易用性、性能与效果等方面的综合水平推荐):

*windows或游戏主机:【Unreal】、寒霜、CE3

*苹果ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrowsprite kit

*安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEnginelibgdx

*网页:【Egret】、【cocos2d-html5】、Fancy3Dunity3d

在选择游戏引擎的时候,尽可能选用流行的游戏引擎,因为这个游戏引擎流行意味着官方的功能比较完善和易用,问答社区也比较多人解疑。各个游戏引擎也各有千秋,Unity3d胜在简单易用,对性能要求不高,但是效果不够华丽,因而一般用在移动平台而不会用在电脑或游戏主机。Unreal胜在开源免费,而且效果也很出色,但是对设备要求比较高,因而常常用来开发效果绚丽的大型游戏。cocos2d-x也是开源免费的,在2D领域深有造诣,但是缺点是不可视化开发。另外,如果你想了解游戏引擎原理,那么首要考虑的就是开源的游戏引擎。

不同游戏引擎使用的编程语言或者脚本语言可能是不一样的,所以当你想要学习某个游戏引擎的时候,也应该留意该游戏引擎所使用的语言。大部分情况是,Windows用的的是C ,同时结合luapython脚本语言。而ios平台下使用Objective-Cswift,安卓平台下使用Java。但这不是必然的,例如Unity在各个平台下都可以用C#或者javascript脚本语言。

下面是商业上流行的游戏引擎详细比较:

1) Unreal4(虚幻4

*适用平台:Microsoft WindowsMac OS XiOSAndroid、虚拟现实设备(包括但不限于SteamVR/HTC ViveMorpheusOculus RiftGear VR)LinuxSteamOSHTML5平台。

*编程语言:C 或无需编写代码。

*优点:开源免费,画面效果出色,已有多款商业大作经验。同时,它还能跨平台,商店资源丰富,提供了无需编写代码即可制作游戏的强大功能(可视化开发)。

*缺点:开发机器配置要求较高。

2) Unity3D

*适用平台:iOSAndroidWindows phone 8TizenMicrosoft WindowsWindows Store应用程序、MacLinux/Steam OS、网络播放器、WebGLPlayStation3PlayStation4PlayStation Vita版、Xbox OneXbox 360Wii UAndroid TVSamsung SMART TVOculus RiftGear VRMicrosoft HololensPlaystation VR

*编程语言:C#javascriptBoo

*优点:方便易用,中文资料丰富,跨平台,商店资源丰富,可视化开发。

*缺点:画面效果一般,不是免费开源,引擎效率比较低。

3) Cocos2d系列(包Cocos2d-xCocos2d-ObjCCocos2d-html5Cocos2d-xna等)

*适用平台:Microsoft WindowsOS XLinuxiOSAndroidTizenLinuxMac OS XHTML5浏览器、Windows Phone 7 & 8Xbox 360

*编程语言:PythonObjective-CC LuaJavaScriptSwiftJavaScriptC#

*优点:开源免费,跨平台,中文资料丰富,2D技术丰富且成熟。

*缺点:不可视化开发,3D方面技术不成熟。

4) CryEngine3

*适用平台:Microsoft WindowsOS XLinuxPlayStation 3PlayStation 4Wii UXbox 360Xbox OneiOSAndroid

*编程语言:C Lua

*优点:画面效果世界一流,可视化开发,跨平台。

*缺点:开发机器配置要求较高,不是免费开源。

5) Frostbite3(寒霜3

*适用平台:Microsoft WindowsPlayStation 3PlayStation 4Xbox 360Xbox One

*编程语言:C

*优点:画面效果出色,可视化开发,跨平台。

*缺点:开发机器配置要求较高,不是免费开源。

6) Egret(白鹭)

*适用平台:HTML5iOSAndroidWindows Phone

*编程语言:TypeScriptJavaScript

*优点:免费开源,配套工具多,全中文文档,可视化开发,跨平台。

*缺点:支持平台较少,大多数时候用于开发对性能和效率要求不高的小游戏。

但是使用游戏引擎毕竟是停留在表面看不到本质,当游戏开发的时候出现了某些问题或者特殊需求,你往往很难处理。而且游戏引擎技术日新月异,你所学的几乎都是别人留下来的方法,而不是其本质思想。如果将来别的游戏引擎兴起,你又要重新学习另外的游戏引擎怎么使用。在很多大公司里面,甚至都有自己公司内部专用的引擎(如网易公司的风魂引擎、金山公司的剑网3引擎、蜗牛公司的Flexi引擎等等)。所以单纯地走这条路线,可能不会让你走得很远并且可能会日渐乏味。

线路二:使用游戏引擎并深入了解游戏引擎原理

对于第二条路线,深入学习游戏引擎原理短时间不会让你的工作有什么卓越的成效,但是可以弥补只使用游戏引擎导致的问题,而且学习游戏引擎原理,更多时候不是一定就为了自己日后要造个游戏引擎,而是更深入理解自己的游戏引擎,更好地使用它。当然,千里之行始于足下,经常学习游戏引擎底层原理的人到了一定的积累的时候,自己造个游戏引擎也是可以的。

对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标:

1) 首先,一开始可能对游戏引擎没什么概念,建议先使用一两个游戏引擎(我推荐C 程序员学习虚幻4游戏引擎,现在是免费开源的,非常值得学习。那些不开源的游戏引擎尽量不要去学习,因为其对于学习原理来说没有多大贡献)。

2) 因为游戏开发就是一门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX 11和通用平台的Opengl。这两个图形库,至少需要入门其中一个。

3) 然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补一下线性代数、基本的微积分、还有3D数学的知识。

4) 游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的一部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以选择自己感兴趣的部分进行专攻,毕竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该精通自己所擅长的那部分。

声明:以上内容源于程序系统索引或网民分享提供,仅供您参考使用,不代表本网站的研究观点,请注意甄别内容来源的真实性和权威性。申请删除>> 纠错>>

网站提醒和声明
本站为注册用户提供信息存储空间服务,非“MAIGOO编辑”、“MAIGOO榜单研究员”、“MAIGOO文章编辑员”上传提供的文章/文字均是注册用户自主发布上传,不代表本站观点,版权归原作者所有,如有侵权、虚假信息、错误信息或任何问题,请及时联系我们,我们将在第一时间删除或更正。 申请删除>> 纠错>> 投诉侵权>> 网页上相关信息的知识产权归网站方所有(包括但不限于文字、图片、图表、著作权、商标权、为用户提供的商业信息等),非经许可不得抄袭或使用。
提交说明: 快速提交发布>> 查看提交帮助>> 注册登录>>
相关推荐
什么是游戏发行商 游戏发行商和渠道商的职责
刚刚接触游戏行业的小伙伴经常被“游戏发行商”这个词搞晕脑袋,不能明确发行商在整个产业环节中充当的是什么角色。发行商,简而言之就是负责游戏市场推广的公司,为游戏研发商提供专业的市场营销方案,上游可以从研发商那里获得游戏资源,下游需要跟渠道商建立良好的关系,根据约定的比例获得游戏利润的分成。下面就和小编一起了解一下吧。
【网游运营知识百科】游戏运营是做什么的 网游运营商有哪些?
网络游戏和其他互联网产品一样,都需要运营来扩大知名度,维护日常的正常运作,从而达到赚钱的目的,网游运营的好与不好直接影响到一款游戏的成败。那么,游戏运营是做什么的?网游运营商有哪些?下面就一起来看看网游运营商知识百科吧!
十大耐玩电脑网络游戏 长期耐玩的PC端网络游戏 耐玩网游前十名
在这个全民皆娱的时代,玩游戏已是人们生活中必不可少的乐趣,各种特色游戏层出不穷,那么电脑十大耐玩网络游戏有哪些?本文盘点了十大最耐玩的电脑网游,其中包含了时下最热门的等大型游戏,下面跟随MAIGOO小编一起来看看吧!
十大最热门的动作格斗网游推荐 动作格斗网游排行榜 格斗手游端游排行
格斗类网游的乐趣就在于双方玩家赤手空拳或手持兵刃,一对一或多对多决斗,场面极其炫酷,那么值得推荐的动作格斗网游有哪些?本文为大家盘点了十种动作格斗网游,其中包括地下城与勇士、龙之谷、真三国无双OL、火影忍者手游、拳皇命运等,下面跟随MAIGOO小编一起来看看!
游戏运营商怎么赚钱 如何代理网络游戏
网络游戏产业经过了几年的长足发展后,已经形成了几种比较稳定的盈利模式。目前游戏运营商的主要赚钱方式有在线游戏服务费、客户端软件安装费、电信分成、网络广告这四个部分,如果你想通过代理网络游戏赚钱,首先应当做好市场调查,然后进行谈判签约,做好运营准备,最后正式运营即可,接下来就和小编一起来看看网游运营商盈利技巧以及网络游戏代理方法吧。