游戏开发学习路线

游戏开发学习路线当你在吃鸡,王者农药的时候是否有想过如何才能做出一款这样让人神迷的游戏?游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指引,是可以事半功倍的。下面就结合自己的学习历程和大家分享下游戏开发的学习路线。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、公众号回复:【资料】获取大学四年整理的所有自学资料。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 自定义手机壁纸_ios怎么自定义动态壁纸

    自定义手机壁纸_ios怎么自定义动态壁纸拥有Android智能手机的主要好处之一就是自定义。有了足够的专业知识,您可以对它的几乎所有方面进行自定义9。值得扎根的Android惊人的定制9值得扎根的Android惊人的定制让您的设备扎根了吗?看完所有这些很棒的仅根定制之后,您可能会改变主意。阅读更多内容,但首先应该开始,是否打算建立根目录。什么是自定义ROM?了解AndroidLingo根源是什么?什么是自定义ROM?学习Android…

    2022年10月22日
  • 经典算法

    经典算法

  • Python 爬虫学习笔记(二)

    Python 爬虫学习笔记(二)分析网页我们平时使用浏览器来访问网页,实质上来看,就是通过一个客户端经过网络连接访问了服务器端,访问前,我们的页面没有任何内容,那么这些内容必然都是从服务器端传输过来的。爬虫的工作就是利用编程的方式自动化地从服务器端获取并分析数据,得到我们需要爬取的内容。因此想要利用爬虫获取内容,首先需要我们分析目标网站页面,了解其数据排列方式,知晓其数据传输过程,从而能够制订正确有效的爬取途径。以CSDN中我本人之前的一篇文章为例https://blog.csdn.net/qq_26292987/article/

  • Oracle数据库学习之数据类型和表的操作「建议收藏」

    Oracle数据库学习之数据类型和表的操作「建议收藏」Oracle的数据类型:字符型数据类型charvarcharvarchar2long这几个字段之间的区别:char的长度是固定的,而varchar2的长度是可以变化的。也就是char(20)和varchar2(20)都存储”abc”,char是占用20个字符的,而varchar2是占用3个字符空间的。但是char的效率要高与varchar。这也就是平时说的以空间换效率。如果有一

  • 分布式通信基础

    1.分布式通信基础思维导图2.IP协议2.1ICMP协议ICMP协议(InternetControlMessageProtocol),Internet控制报文协议,其作用就是探测网络

    2021年12月28日
  • bert原理详解(duhamel原理)

    一文读懂BERT(从原理到实践)2018年的10月11日,Google发布的论文《Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding》,成功在11项NLP任务中取得stateoftheart的结果,赢得自然语言处理学界的一片赞誉之声。本文是对近期关于BERT论文、相关文章、代码进…

发表回复

您的电子邮箱地址不会被公开。

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