“translations”:[{“text”:“在软件开发中,\n
游戏开发的方向看似有明确的目标,但实际上是一个非常宽泛的方向,如果上手时没有得到一两个指导,很容易误入歧途,相反,如果你在走这条路之前能从前辈那里得到一些指导,你可以事半功倍。\n
\\n\n
1. 平台和编程语言选择\n
\\n\n
首先,游戏开发平台有很多种:\n
\\n\n
如果你想在移动平台上从事游戏开发,比如Android的主流JAVA语言和iOS的主流Object-C语言,那么你需要学习这个平台的主流语言,个人主机上的主流游戏开发语言在很长一段时间内还是C++。\n
\\n\n
但是,这不是不同平台的游戏开发,没有共性,学习这个到另一个平台是没有用的。不,你在编程的世界里走得越远,你就越会发现很多东西本质上是相似的,比如如果你对C++的基本语法有扎实的理解(而不是死记硬背),将来切换到Java并不难,因为它们的基本面向对象特性和各种编程语言特性是一样的。\n
\\n\n
所以,如果你想走得更远,学习的时候不能只是肤浅,你越深入到一个知识的底层,你就越能看到其他知识的相似之处安卓java游戏开发,所以你会比别人更放松。但是,当然,最好尽可能从自己的领域和编程语言入手,这样才能尽快在这个领域站稳脚跟。\n
\\n\n
无论您选择哪个平台,游戏开发都是一个需要游戏引擎的庞大工程安卓java游戏开发,因此有两条路线供您选择:\n
\\n\n
路线 1:仅使用游戏引擎\n
\\n\n
对于第一条路线,游戏引擎使用起来并不难,因此适合想要快速开始游戏开发工作的人。我们大多数时候不会开发自己的游戏引擎,所以这对我们的日常工作来说没什么大不了的。对于那些只使用游戏引擎的人来说,你需要做的就是阅读引擎的教程(书籍、视频、博客、在线教程、官方帮助文档等),并精通教程中使用的编程语言。\n
\\n\n
因此,您要做的第一件事就是了解现在流行的游戏引擎。因为不同平台下的性能不同,支持的编程语言也不同,所以不同平台下的热门游戏引擎也不同(方括号特别推荐,基于开源的综合水平、易用性、性能和效果等)。\n
\\n\n在选择游戏引擎
时,尽量选择流行的游戏引擎,因为这个游戏引擎的普及意味着官方功能更完整、更易用,问答社区更有可能解决问题。每个游戏引擎都有自己的优点,Unity3d 易于使用,性能不是很强,但不够华丽,无法在移动平台上使用,而不是在计算机或游戏机上使用。虚幻引擎是开源且免费的,它运行良好,但对设备的要求更高,因此它经常用于开发大型、漂亮的游戏。cocos2d-x 也是开源且免费的,在 2D 领域取得了很大的成就,但缺点是没有可视化。此外,如果您想了解游戏引擎的工作原理,首先要考虑的是开源游戏引擎。\n
\\n\n不同的游戏引擎
可能使用不同的编程语言或脚本语言,所以当你想学习一个游戏引擎时,你也应该注意该游戏引擎使用的语言。大多数情况下,Windows 将 C++ 与 lua 或 python 脚本语言一起使用。Objective-C 或 swift 用于 ios,Java 用于 Android。但这不是给定的,例如,Unity 可以在所有平台上的 C# 或 javascript 脚本语言中使用。\n
\\n\n
以下是商业上流行的游戏引擎的详细比较:\n
\\n\n
1) 虚幻 4\n
\\n\n
2) 团结3D\n
\\n\n3)Cocos2d
系列(包括Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)。\n
\\n\n
4) Cry引擎3\n
\\n\n
5) 冻伤 3\n
\\n\n
6)白鹭(白鹭)。\n
\\n\n
但毕竟使用游戏引擎是停留在表面创作人,看不到本质,当游戏开发过程中出现某些问题或特殊需求时,往往很难处理。而游戏引擎技术日新月异,你学到的东西几乎都是别人留下的方法,而不是它的本质思想。如果将来出现其他游戏引擎,您将不得不重新学习如何使用其他游戏引擎。在很多大公司,他们甚至有自己的内部引擎(比如网易的风魂引擎、金山软件的剑网3引擎、蜗牛的Flexi引擎等)。因此,简单地走这条路可能不会让你走得很远,而且可能会变得越来越无聊。\n
\\n\n
途径 2:使用游戏引擎并深入了解其工作原理\n
\\n\n
对于第二条路线,深入研究游戏引擎原理不会让你的工作在短时间内有效,但可以弥补只使用游戏引擎带来的问题,学习游戏引擎原理更多时候不一定是为了自己将来搭建游戏引擎,而是为了对自己的游戏引擎有更深入的了解,更好地使用。当然,千里之行始于足下3D素材,经常学习游戏引擎底层原理的人,在达到一定的积累量时,就可以构建自己的游戏引擎。\n
\\n\n
对于喜欢学习游戏引擎原理的人来说,设定自己明确的长期目标很重要:\n
\\n\n
1)首先,你一开始可能对游戏引擎一无所知,所以建议先使用一两个游戏引擎(我建议C++程序员学习虚幻引擎4游戏引擎,它现在是免费开源的,非常值得学习。不应该学习非开源的游戏引擎,因为它们对学习原则没有多大贡献)。\n
\\n\n
2)因为游戏开发是一门实时渲染的艺术,离不开对图形库的学习。主要的图形库是用于 Windows 的 DirectX 11 和用于通用平台的 Opengl。在这两个图形库中,您至少需要从其中一个开始。\n
\\n\n
3)然后,您可以开始阅读有关计算机图形学的书籍。如果你发现你的理论基础不足,你需要补上线性代数、基础微积分和三维数学。\n
\\n\n4)游戏引擎有
各个部分,上面的渲染只是游戏引擎的一部分。还有其他的东西,比如着色器编写、地形编写、物理引擎编写、模型和动画、AI人体设计、网络编程等等,在完成渲染部分的基础学习后,可以选择自己感兴趣的部分进行专攻,毕竟我们大部分的实际工作都是团队开发,不是孤军奋战,每个人都应该精通自己擅长的部分。\n
\\n\n
为了紧凑起见,我把游戏引擎的基本理论知识以及每个引擎组件的推荐书籍放在了文章的附录中。\n
\\n\n
以下书籍推荐自:Clayman's Graphics Corner\n
\\n\n
下表列出了关于基本理论知识和游戏引擎组件的推荐书籍(不必全部阅读,请有选择地阅读)。\n
\\n\n
1) 数学基础\n
\\n\n
以下数学基础书籍是为游戏开发量身定制的,比查看特定的数学方向更有效:\n
\\n\n
2) 图形库\n
\\n\n
OpengGL 书籍:\n
\\n\n
3) 计算机图形学\n
\\n\n
4) 着色器着色器\n
\\n\n
5) 地形\n
\\n\n
RealTime3DTerrainEnginesUsingC++AndDX9 非常全面地讨论了各种地形渲染技术。\n
\\n\n
6) 模型导入和动画\n
\\n\n
7) 网络\n
\\n\n
8) 物理\n
\\n\n
9) 详细程度\n
\\n\n
《LevelofDetailfor3D动画》\n
\\n\n
10) 光线追踪\n
\\n\n
11) 人工智能\n
\\n\n
12) 总则\n“,”to“:”en“,”sentLen“:{”srcSentLen“:[94,5,19,25,102,5,43,111,5,73,47,5,53,19,41,41,72,5,29,93,65,66,51,39,33,5,65,41,39,44,5,26,5,17,5,12,5,66,5,15,5,20,5,14,55,39,32,63,31,5,29,115,51,5,38,73,37,5,36,44,18,5,27,46,5,35,121,5,49,5,43,15,43,15,14,23,17,5,14,13,63,5,17,13,13,13,15,36,16,16,13]
,”transSentLen“:[358,5,54,77,330,5,145,380,5,224,177,5,156,38,154,106,254,5,97,338,250,182,146,138,114,5,203,75,68,114,5,74,6,13,6,12,6,90,6,15,6,16,6,19,216,161,101,164,89,5,85,384,220,5,118,265,120,5,124,92,84,5,62,138,5,109,401,5,169,5,73,181,38,145,27,26,28,6,18,21,122,5,37,21,18,26,36,23,34,18]}}]}]\n","to":"zh-Hans","sentLen":{"srcSentLen":[59,328,6,50,6,73,6,330,6,145,380,6,224,177,6,152,6,34,6,154,106,254,6,97,334,6,250,182,146,138,114,6,203,75,68,114,6,70,6,15,6,14,6,92,6,17,6,18,6,21,6,216,161,101,164,89,6,81,6,384,220,6,114,6,265,120,6,124,92,84,6,62,138,6,109,401,6,169,6,69,6,177,6,34,6,141,6,23,6,22,6,24,6,20,6,17,6,122,6,33,6,17,6,14,6,22,6,32,6,19,6,31,6,15,309,289],"transSentLen":[39,92,6,16,6,18,6,102,5,41,104,5,68,42,6,46,6,16,5,42,41,69,5,29,73,5,63,66,46,46,34,5,59,45,44,52,6,23,6,11,6,11,6,69,6,13,6,11,6,13,5,53,40,33,55,35,6,25,5,110,52,6,36,5,78,32,5,33,48,23,5,28,36,5,32,122,6,47,6,37,6,46,6,11,6,38,6,10,6,15,6,13,6,13,6,9,6,60,6,14,6,9,6,9,6,11,6,26,6,12,6,12,6,9,313,288]}}]}]