游戏开发学习路线

游戏开发学习路线当你在吃鸡,王者农药的时候是否有想过如何才能做出一款这样让人神迷的游戏?游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指引,是可以事半功倍的。下面就结合自己的学习历程和大家分享下游戏开发的学习路线。1.介绍游戏开发分为客户端和服务端两条不同的路线,路线不同,所需的技能也不同。但有些…

大家好,又见面了,我是你们的朋友全栈君。

当你在吃鸡,王者农药的时候是否有想过如何才能做出一款这样让人神迷的游戏?

游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指引,是可以事半功倍的。

下面就结合自己的学习历程和大家分享下游戏开发的学习路线。

1.介绍

游戏开发分为客户端和服务端两条不同的路线,路线不同,所需的技能也不同。

但有些技能还是通用的,比如都需要掌握基础开发语言,数据结构与算法,计算机网络等。

游戏开发学习路线

 

2.游戏客户端学习路线

1.首先,一开始可能对游戏引擎没什么概念,建议先入门一两个游戏引擎(我推荐可以先去学习Cocos2d-x和Unity3D两个引擎,市面上大多数游戏是利用这两个引擎开发的)。入门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方帮助文档等),并且熟练该引擎所使用的编程语言。 

因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的流行的游戏引擎也是不同的。下面列举一些现在流行的游戏引擎。

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

苹果IOS:【unity3D】、【cocos2d-x】、【Unreal】、sparrow、sprite kit。

安卓:【unity3D】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。

网页:【Egret】、【cocos2d-js】、Fancy3D、unity3D。

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

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

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

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

5.至此,独自开发一款小型游戏已经完全不在话下了。也具备了加入公司合力开发一款大型游戏的能力。

游戏开发学习路线

 

3.游戏服务端学习路线 

1.首先需要熟悉一门服务端语言,比如C/C++、PHP等,会使用一个开发框架。

2.会在服务器上搭建环境,拿lamp来说linux和apache、mysql、php四者担任的角色要清楚。大多服务器会选择搭建在Linux环境下,所以也需要熟悉Linux操作命令。

3.至少熟悉一种数据库。比如关系型数据库mysql,能熟练写出增删改的语句和不算很复杂的查询语句,再比如了解各种方式的多表查询有哪些不同等数据库技能也是需要的。

4.了解网络编程及多线程等。比如http通信协议。跨平台的交互一般http是使用比较广泛的,需要大体了解,你得清楚请求报文通常包含哪些部分、常见的服务器返回码对应的含义。

5.会使用至少一种数据格式。服务端和客户端建立了联系,数据的传输也需要一种协议格式去统一。json是目前使用率最高的格式了。json的数据格式还是简单明了易学的,主要是要了解如何使用它较好的去定义接口。

 

关于学习路线,我觉得对于学习者,尤其是初学者来说,非常有用,它的作用就是一幅地图,让你在浩瀚的知识丛林不至于迷失方向,甚至放弃在 99% 的地方。

作为一个过来人,我深知初学者的迷茫和无助,我当初也走了很多弯路。现在有些坑我替大家踩了,分享我总结的学习路线,是希望大家能站在我的肩膀上走的更远更容易些。

 

游戏开发学习路线

关注公众号:《码之有道》,一起聊游戏全栈开发!

1、公众号回复:【教程】获取零基础游戏开发客户端+服务端全套教程。

2、公众号回复:【实战】获取企业级实战项目。

3、公众号回复:【资料】获取大学四年整理的所有自学资料。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125098.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021.4.14激活码_通用破解码

    idea2021.4.14激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    63
  • 最近招聘和面试的感想

    ​ 本篇博文写给自己,也写给那些在找工作或者找实习工作的伙伴。我的故事​ 刚刚入职新公司一个多月了,刚好前段时间有幸和公司的HR同事一起去湖南大学做公司的校招,湖大之前还是去过几次,只是之前去都是爬岳麓山,下山的时候路过。也没有怎么在湖大校园里面逛逛。这次是去校招,说真的,自己心里还挺激动。我毕业也有三年了,能回到大学校园里,那种感觉还是挺美好的。​ 校园招聘我也经历过,那个时候每天做车跑到…

    2022年2月27日
    36
  • 最常用英语单词2000个[通俗易懂]

    最常用英语单词2000个[通俗易懂]最常用英语单词2000个1 a[ei,ə]art.一(个);任何一(个);每一(个)2 I[ai]pron.我3 ability[əbiliti]n.能力,本领;才能,才智4 able[eibəl]a.能够…的,得以…

    2022年6月23日
    32
  • 使用InetAddress

    使用InetAddress17.2Java的基本网络支持  Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供普通字符串和application/x-www-form-urlencodedMIME字符串相互转换的静态方法。  17.2.1使用InetAddress

    2022年6月23日
    21
  • h5页面 请在微信客户端打开链接_如何看到“请在微信客户端打开链接”页面的源码?…

    h5页面 请在微信客户端打开链接_如何看到“请在微信客户端打开链接”页面的源码?…在H5学习的过程中,看一些好的H5是很有必要的。但是经常有一些H5打开以后在页面显示如下,阻碍了我们探索的脚步~这是因为H5的开发者调用了微信获取用户信息的权限,这个时候你在浏览器打开获取不到微信用户的信息,自然会出现这样的页面了。但是,如果你探索的欲望比较强,那么也是可以看到源码的~具体步骤如下:①安装微信web开发者工具②在手机端打开你要查看的页面,复制页面的链接③进入微信web开发者工具,选…

    2022年6月7日
    131
  • 向量范数和矩阵范数的理解

    向量范数和矩阵范数的理解向量范数今天来聊一聊机器学习矩阵论的相关知识——范数(Norm)。在学习机器学习基础算法的推导过程中,可以看到很多地方都应用到了这个范数。范数属于矩阵论的知识范围,可见数学基础的重要性。机器学习的数学基础重点推荐——MIT的机器学习数学基础课如果只需要快速了解,请参考——矩阵范数计算完整的MIT数学基础课程笔记可以参考:MIT18.06线性代数笔记这是个非常棒的手动演算流程,本文也将编码进行验算。向量范数定义:一个向量空间V到实数空间的映射,不仅如此,还要满足喜爱额条件:∣∣x∣∣⩾

    2022年9月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号