html5 游戏 开源-如何学习游戏开发 学习游戏开发有哪两条路线?

如何学习游戏开发

1.平台和编程语言选择

首先,游戏开发的平台有很多种:

* 个人主机平台:Windows、Linux、MacOC;

* 联通平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;

*专业主机平台:Xbox、PlayStation、Will等。

如果你想在中国联通平台上从事游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就必须学习这个平台的主流语言,以及Android上主流的游戏开发语言。个人游戏机现在还包括很长一段时间。 仍然是C++。

这并不是说不同平台上的游戏开发没有任何共同点。 学习这个在其他平台上是没有用的。 不,在编程的世界里走得越远,你就会发现很多东西本质上都是相似的。 比如,如果你对C++的基本句型有扎实的理解(而不是死记硬背),那么你以后就会转用Java。 语言并不难,因为它们本质的面向对象特性和各种编程语言特性是相通的。

所以,要想走得远,学习的时候就不能只停留在表面。 你越深入一个知识的底层,你就越能看到与其他知识的相似之处,所以你会比别人更轻松。 而且,其实一开始最好就尽可能的适合自己的专属领域和编程语言,这样才能尽快在这个领域占据一席之地。

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

* 仅使用游戏引擎;

开源游戏机_开源游戏机哪个牌子好_html5 游戏 开源

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

2. 游戏开发的不同学习路线

第 1 行:仅使用游戏引擎

对于第一种路线,游戏引擎的使用并不困难,因此适合那些想要快速入门游戏开发的人。 我们工作的时候大部分时间都不会自己开发游戏引擎,所以这对于平时的日常工作来说并不是什么大问题。 对于只使用游戏引擎的人来说,入门阶段要做的就是观看引擎的教程(书籍、视频、在线博客、在线教程、官方帮助文档等),但要精通所使用的编程语言教程。

所以你要做的第一件事就是了解当今流行的游戏引擎。 由于不同平台下的性能不同,支持的编程语言也不同,所以不同平台下流行的游戏引擎也不同(上面方括号强烈推荐,基于开源、易用性、性能和疗效(其他方面综合水平推荐):

*Windows或游戏机:[Unreal]、Frostbite、CE3

*苹果ios:[unity3D]、[cocos2d-ObjC]、[虚幻]、sparrow、spritekit。

*Android:[unity3d]、[cocos2d-x]、[虚幻]、AndEngine、libgdx。

*网页:[Egret]、[cocos2d-html5]、Fancy3D、unity3d。

html5 游戏 开源_开源游戏机_开源游戏机哪个牌子好

在选择游戏引擎的时候,尽量选择流行的游戏引擎,因为这种游戏引擎的流行意味着官方的功能比较完善、好用,而且问答社区有更多的人来回答问题。 每个游戏引擎也有其自身的优点和缺点。 Unity3d使用方便,对性能要求不高,效果不够华丽。 因此,它通常用于中国联通平台,而不是笔记本或游戏机。 Unreal比开源、免费要好,但疗效也突出,而且对设备要求比较高,所以常被用来开发疗效漂亮的小游戏。 cocos2d-x也是开源免费的,在2D领域有很深的造诣,但缺点是不能可视化开发。 另外,如果想了解游戏引擎的原理,首先要考虑的是开源游戏引擎。

游戏引擎所使用的编程语言或者脚本语言可能会有所不同,所以当你想要学习某种游戏引擎时,你还应该关注游戏引擎所使用的语言。 在大多数情况下,Windows 使用 C++,结合 lua 或 python 脚本语言。 ios平台使用Objective-C或swift,Android平台使用Java。 但这并非不可避免。 例如,Unity可以在所有平台上使用C#或javascript脚本语言。

以下是目前商业上流行的游戏引擎的详细对比:

1)虚幻4(虚幻4)

*适用平台:MicrosoftWindows、MacOSX、iOS、Android、虚拟现实设备(包括但不限于SteamVR/HTCVive、Morpheus、OculusRift和GearVR)、Linux、SteamOS和HTML5平台。

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

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

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

2)Unity3D

*适用平台:iOS、Android、Windowsphone8、Tizen、MicrosoftWindows、WindowsStore App、Mac、Linux/SteamOS、Web Player、WebGL、PlayStation3、PlayStation4、PlayStationVita Edition、XboxOne、Xbox360、WiiU、AndroidTV、SamsungSMARTTV、OculusRift、GearVR、Microsoft Hololens、PlayStation VR。

*编程语言:C#、javascript、Boo。

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

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

3)Cocos2d系列(包括Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)

*适用平台:MicrosoftWindows、OSX、Linux、iOS、Android、Tizen、Linux、MacOSX、HTML5浏览器、WindowsPhone7&8、Xbox360。

*编程语言:Python、Objective-C、C++、Lua、JavaScript、Swift、JavaScript、C#。

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

* 缺点:没有视觉开发,3D技术不成熟。

4) 哭泣引擎3

*适用平台:MicrosoftWindows、OSX、Linux、PlayStation3、PlayStation4、WiiU、Xbox360、XboxOne、iOS、Android。

开源游戏机_开源游戏机哪个牌子好_html5 游戏 开源

*编程语言:C++、Lua。

*优点:世界一流的视觉效果、视觉拓展、跨平台。

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

5) 冻伤3 (冻伤3)

*适用平台:MicrosoftWindows、PlayStation3、PlayStation4、Xbox360、XboxOne。

*编程语言:C++。

*优点:视觉效果优秀,可视化开发,跨平台。

*缺点:开发机器配置要求比较高html5 游戏 开源,且不免费开源。

6)白鹭(白鹭)

*适用平台:HTML5、iOS、Android、WindowsPhone。

*编程语言:TypeScript、JavaScript。

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

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

而使用游戏引擎实际上是停留在表面而没有看到本质。 当游戏开发过程中出现个别问题或特殊需求时,你往往很难处理。 而且游戏引擎技术日新月异,你学到的几乎都是别人留下的方法,而不是本质的思想。 如果将来其他游戏引擎流行起来,你就得重新学习如何使用其他游戏引擎。 很多大公司甚至有自己专用的内部引擎(如网易的封魂引擎、金山的剑三3引擎、蜗牛的Flexi引擎等)。 因此,仅仅走这条路可能不会让你走得太远,而且你可能会感到无聊。

第2行:使用游戏引擎,深入了解游戏引擎的原理

对于第二条路线,深入研究游戏引擎的原理并不会让你的工作在短时间内有什么突出的成果,而是可以弥补仅仅使用游戏引擎、学习游戏引擎原理所带来的问题。游戏引擎更多的时候不一定是为了以后自己要打造一个游戏引擎,而是想更好的理解我的游戏引擎,更好的使用它。 其实,千里之行,始于足下。 经常学习游戏引擎底层原理的人,当有了一定的积累之后,就可以自己搭建一个游戏引擎了。

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

1)首先,你一开始可能对游戏引擎没有任何概念。 建议先使用一两个游戏引擎(我建议C++程序员学习Unreal 4游戏引擎,现在免费开源,值得学习。这些非开源游戏引擎尽量不要学习,因为它对学习原理没有多大贡献)。

2)既然游戏开发是一门实时渲染的艺术,那么就离不开图形库的学习。 当今主流的图形库是Windows平台的DirectX11和通用平台的Opengl。 对于这两个图形库,至少需要启动其中之一。

3)之后,你就可以开始阅读计算机图形学方面的书籍了。 如果你发现自己的理论基础不足html5 游戏 开源,这时候就需要补充线性代数、基础微积分、3D物理等知识。

4)游戏引擎包含各个部分,里面的渲染只是游戏引擎的一部分。 还有其他的比如shader编译、地形编译、物理引擎编译、模型与动画、人工智能体设计、网络编程等。完成渲染部分的基础学习后,就可以选择自己感兴趣的部分了虽然我们实际工作大部分都是团队开发,而不是单打独斗,但每个人都应该精通自己擅长的部分。