游戏开发需要学什么?,第1张

学习游戏开发需要熟练掌握游戏编辑软件,熟练掌握好这些基础的游戏软件功能就可以了。

常用的编辑软件有以下6种。

1、3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。

2、MAYA:跟3dsMAX差不多的软件,因个人喜好而定,MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。

3、Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。

4、C++:程序使用,用来实现游戏中的各种功能,调试BUG等。

5、Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要用的贴图。

6、ZBrush:美工制作超高模用的,然后可以生成法线贴图,在MAYA或MAX中使用。

根据游戏类型的不同,所学的软件也不一样。

中小型游戏大致可分为网页游戏,flash游戏,小游戏等,基本上都是一些休闲类的傻呆萌的情节和操作。

这类游戏开发相对比较简单,会Javascript、HTML、flashcs、Java就可以进行开发了,语言类主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

现在的游戏主要分为三种:

1、PC类端游(就是电脑上面运行的游戏)

这类游戏在线人数多,游戏中要处理的数据庞大。所以对服务器性能要求非常高,一般都是采用C++做为开发语言,C++可以直接操作内存数据,与操作系统直接交互,减少数据之间的复制,它运行效率高,处理速度快,是很适合这里游戏开发语言。

学习这种游戏的开发,学习的有C++编程,Linux网络编程、TCP/IP通讯协议、多线程编程再加数据库。

PC类端游戏开发周期较长。大概需要三年左右的时间。

2、网页游戏(比如现在经常说的1刀999级)

因为是网页游戏,游戏的界面展示依赖于网络传输,所在在画面和特效上会次于客户端游戏很多。和端游类是差不多是一样的,有些公司之前是做端游的,他们就直接把端游的服务器架构拿来就可以使用,以完成快速开发。

需要学习内容和端游差不多。

3、手机游戏(主要区分为安卓和IOS)

手机类游戏目前是最热门的游戏,很多热播的电视剧或者**之后,都会有相同情节的手游上线。

服务器主流的开发语言是C++和Java,但是C++学习难度大,开发速度慢。一般来说我们都是使用Java语言来开发服务器。

扩展资料:

学习的先后顺序

1、首先是C++语言。

2、只是做windows方面的游戏学习,可以学习下DirectX,这个很方便在windows下做游戏开发。

3、如果想制作跨平台游戏,建议学习下opengl/opengles,这是个很强大很专业的图形接口,因为很多平台支持所以适合跨平台游戏制作使用。

4、想学习3d游戏并迅速工作,建议学习u3d引擎、ue引擎这些游戏引擎,有了以上的基础学习这些引擎也可以理解的更深入,u3d还会用到c#与js语言。

5、做2d游戏,可以使用cocos2dx等一些引擎,当然你也可以使用上面的3d引擎制作2d游戏。

6、然后就是可以深入的研究一些开源的游戏引擎,终极目标是可以自己做出一款比较棒的游戏引擎。

大多数人选择Java可能只是因为听说Java前景好、Java比较好找工作、Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的。

其实我选择Java也是出于以上的原因,但是现在确实真正地爱上了Java。

我们为什么选择Java!那么现在我们来分析下Java的好处究竟在哪里。

简单易学首先Java是一个面向对象的编程语言,容易理解。

而且略去了多重加载、指针等难以理解的概念。

并且实现了自动垃圾回收,大大简化了程序设计。

其次Java学习资料较多,网上很多在线学习平台就可以找到很多Java学习视频,另外也有一些培训机构提供的有免费的Java视频课程。

有这些学习资料,入门足矣。

跨平台跨平台是Java最大的优势。

Java运行在JVM(Java虚拟机)上,在任何平台只要安装了JVM。

Java就可以运行。

它架构在操作系统之上,屏蔽了底层的差异。

真正实现了“Writeonce,runanywhere”。

安全Java中没有指针,这样就没有办法直接访问内存了。

另外Java也不容易出现内存泄露。

多线程Java内置对多线程的支持,可以方便地在程序中实现多线程的功能。

不像其他不支持多线程的语言,需要调用操作系统的多线程功能才能完成多线程的实现。

有丰富的类库Java从出道至今已有20多年的历史,经过20多年的积累和沉淀,出现了很多优秀的开源社区,如Apache和Spring。

这些优秀的社区提供了很多非常好的框架,借助这些框架可以使我们不用去关注Java底层的开发,而只需关注业务的实现。

使用广泛不得不承认上面有一点是对的,Java确实有很多企业在用,而且都是用在大项目上。

这就意味着Java方面的工作比较好找,另一点是在做Java开发时如果遇到问题,可以很容易从网上找到解决办法。

职业篇Java初级程序员是最底层的,只需要掌握Java的基础知识就能够成为一名初级程序员。

Java程序员可以有三个进阶方向,分别是Android移动端开发(以下简称Android)、Web开发(以下简称Web)和通讯开发。

这时目前主流的三大方向。

其中最多的是Android和Web。

下面分别介绍这三个方向。

以下三个方向都需要有扎实的Java基础。

Android开发,主攻移动端应用的开发。

移动端包括搭载Android系统的手机、平板、电视盒子等设备。

Web开发方向,主要有HTML5开发、B/S应用开发、微信开发。

这里的HTML5开发是指移动端的HTML5开发。

通讯方向,主要是通讯服务器的开发,如游戏服务器、腾讯的QQ服务器等。

由于我从事Web开发方向,仅仅对其他方向略有了解,所以这里主要介绍Web方向。

要进行Web开发需要达到中级程序员的水平,能够熟练使用SSH等框架。

而Java高级程序员则需要了解更多的框架和一些常用的应用服务器,如工作流、搜索引擎、缓存、JTA、JBoss、WebLogic等。

达到高级程序员水平后,很多人在这个阶段选择了不同的方向。

有的人厌倦了编码和设计而转向了需求分析和产品经理,而有的人继续执着于技术这条路,成为了系统架构师。

工具篇子曰“工欲善其事,必先利其器”,有一把顺手的“兵器”,能让我们的学习和工作达到事半功倍的效果,那么下面我们来看看有哪些好用的工具可以助我们开发。

文本编辑器(适合初学者)这里我们只说Windows平台下的文本编辑器。

有人可能说Windows下的记事本不就可以用吗,我们为什么还要用其他的文本编辑器呢原因吗,首先记事本确实不好用,修改代码极为不便,而且有些换行标识不识别;其次效率低,使用记事本打开一个几K的文件可能没有什么感受,但是打开一个超过10M的文件的时候就能明显的感觉到卡了,比如我们的日志文件;最后容易出现问题,用记事本编辑过UTF-8格式的文件后,会给文件加上BOM头,这有时导致程序出现莫名的错误,所以作为程序员,最好不要使用记事本。

比较好用的文本编辑器有Editplus、UltraEdit、Notepad。

其中Notepad是开源免费的,其他两个都是收费的。

IDE(适合入门后和项目研发)IDE是集成开发环境的简称,使用IDE的目的是为了能让我们更快地构建项目、更方便地写代码,同时屏蔽了代码编译的动作。

IDE都有代码高亮、代码提示以及错误提示等功能,同时我们可以借助IDE的插件实现代码管理、代码审查和其他一些好用的功能。

常用的IDE有Eclipse、NetBeans和IntelliJIDEA。

前两者都是免费的,后者提供有社区版本,也是免费的,但是企业版是收费的。

其中Eclipse是用的最多的IDE。

在Eclipse上扩展的有两款优秀的IDE,SpringToolSuite(STS)和大名鼎鼎的MyEclipse。

前者免费后者收费,后者集成了前者的所有功能。

这里我建议大家使用STS,因为STS添加了很多对Spring的相关支持,如果项目中用到了Spring,使用起来会非常方便。

也可以在Eclipse上安装STS插件,能够达到同样的效果,Spring官网上有插件的安装方法,这里不再赘述。

技术图谱以上图谱详细描绘了每个级别都需要掌握哪些知识,此图仅供参考。

在实际工作期间,一般是根据公司需要或项目需要来学习不同的技术。

但还是建议多去学习些知识,我觉得有句话说的很对,“很多东西不是你觉得有用才去学,而是学了才知道它有用”,我一直信奉这句话,因为我就是这句话真正的受益者。

入门篇俗话说“师傅领进门,修行靠个人”,所以说只要入门了,后面学习起来是很快的,而且比较容易。

那么学习Java应该如何入门呢首先要理解面向对象的概念,这个很重要。

但也不是说必须完全理解概念才能去学Java。

而是先接触Java的基础知识,如类、属性、方法等。

然后在学习的过程中理解面向对象的概念。

在大概理解了面向对象的概念后,这时你应该学会了一些Java的语法和一些API的使用。

这时需要继续深入地去学习这些。

同时要养成自己良好的编码习惯,Java有自己对包名、类名、方法名等的命名规范。

这个时候要尝试按照规范写代码,同时甩掉以前写代码时养成的不良习惯。

在熟悉了常用的API及语法后要去学习I/O和流(Stream)以及多线程编程和网络编程。

I/O和输入输出流,要熟练掌握。

而在这个阶段暂时不需要深入了解多线程编程和网络编程。

在系列基础完成之后就需要去接触下数据库和JDBC,对于数据库不需要深入了解,能够创建表、查询表数据即可。

然后尝试使用JDBC连接数据库,并对数据库中的数据做CURD操作。

在学习Java初期,我建议大家使用文本编辑器来写代码,一是有助于记忆Java中的一些关键字和常用类及方法,二是可以熟悉Java的常用命令。

在使用了一段时间的文本编辑器后就可以使用IDE来开发了,使用IDE将使你写代码写得更快,也不容易出错。

基础是很重要的,虽然简单,但是也马虎不得。

这里推荐几本书《ThinkinginJava》、《Java8编程参考官方教程》等图书。

中级篇入门后就可以选择主攻方向了,几个方向在职业篇中已有介绍。

通讯开发方向其实在这个时候就可以转了,但是还是建议学习下Java中级的内容,这些内容也有助于你今后在通讯开发的路上走得更容易。

因为我是主攻Web方向,所以这里我们只讨论Web方向。

在这个阶段你接触的知识面将更广,在学习Web开发之前首先需要学习HTML和CSS,然后再学习JS以及jQuery。

在有一定基础之后就可以开始学习JSP和Servlet了,重点学习下JSP的内置对象及EL表达式,并试着去做一些页面。

然后学习下Ajax,要能够熟练的使用JSON和XML来做数据交互。

以上内容学习完之后Java的基础部分就算是基本掌握了,下面就该学习一些框架了。

建议先从Spring学起,Spring将成为你今后开发项目的核心框架。

Spring也是现在项目中最常用的框架。

可以深入的学习,试着去理解Spring的一些实现原理,这将有助于你更好的使用Spring。

学完Spring之后可以学习下ORM框架,比如Hibernate和MyBatis,这些相对于Spring来说要简单的多。

主要学习与Spring的整合和Spring中的事务管理。

一定要深入的了解数据库事务,这将对你今后的项目开发非常有帮助。

最后我们来说控制层的学习,这里我建议大家重点学习SpringMVC。

因为SpringMVC是目前使用最为广泛的控制层,而且简单易学,已经有了要替代Struts的趋势了。

但是Struts还是要学习下,毕竟还有一些公司在用,这将为你找工作加大一点筹码。

在学习这些内容的过程中一定要学习下代码管理工具SVN和Git,目前SVN在企业中用的较多,而开源社区一般都是用的Git。

有了JSP基础和掌握了框架的使用后就可以出去找工作了,在工作过程中这些知识你将掌握的更加牢固。

也可能在工作过程中会遇到你没有学过的技术,不要怕,有了之前的基础你将很快掌握这些新的技术,加入工作的第一年将是你进步最快的一年。

而加入工作之后你可能也不会有太多的时间来学习,这时候要约束好自己。

不要忘了学习,学习是最好的进步方式。

高级篇当我们参加了工作之后,开始接触更多的技术。

如果有机会就多学习些技术,不求精通,但求会用,并且知道这项技术能够解决什么问题。

开始在项目中参与设计文档的编写。

能够为自己的项目选择合适的框架,并且能用自己学到的技术去解决项目中遇到的难题。

这时候根据项目和公司的差异用的技术也不尽相同,但是日志框架、项目构建、单元测试、缓存、集群、负载均衡、SOAP等是一定要掌握的。

这些是在大型项目中比较常用的技术。

然后可以根据自己的兴趣及业余时间去学习自己感兴趣的技术。

架构师之路成为一名架构师一直是我的目标。

一名优秀的架构师首先一定是一名卓越的程序员,架构设计不应仅仅是理论,它应当是在实践中产生的经验和结果。

架构师也要有灵敏的嗅觉,能够看清未来技术的发展方向,应当避免在项目中使用已过时的技术或没有社区支持的技术。

作为一名架构师要掌握以下技能:SOA:在微服务横行的年代,这项本领是必不可少的。

设计模式:这将有助于你设计出更加优雅的程序。

程序员的区别同样是程序员,初级、中级与高级的区别在哪里呢初级程序员就是传说中的码农,依靠复制粘贴、比葫芦画瓢的方式完成代码的编写,通常一个方法几百行代码,恨不得一个类将所有的功能都实现,不考虑程序设计原则,也不考虑程序的执行效率,不考虑SQL注入的问题,更不去想如何能让我的程序质量更好,他们的目的仅仅是我的程序能够运行。

很多程序员都会经历这个阶段,而这个阶段是最容易养成毛病的阶段。

但是有的程序员很快就摆脱了这个阶段,也有很多程序员停留在这个阶段很长时间,哪怕是掌握了更多的技术,但是这个阶段形成的思维模式却没有改变,养成的毛病也没有改掉。

我们就能听到这样的声音“这是哪个傻X写的代码,写的太乱了,还没有注释”、“我去!这代码完全不敢动啊,逻辑太混乱了,牵一发而动全身啊”。

这些基本上都是初级程序员写的代码。

中级程序员更喜欢优雅的代码,而自己写出优雅的代码,封装、继承、抽象运用自如,能够独立完成系统中模块的开发。

高级程序员能够完成系统的设计,能够使用已掌握的技能解决问题。

并且能够考虑到系统的扩展性、安全性、稳定性等问题。

至于架构师吗,首先要具备中大型项目的总体规划和设计经验,通常架构师考虑的要比高级程序员更多,有时需要考虑到项目的成本、工期、部署环境甚至一些商业因素等,不仅仅是技术上的问题。

其次架构师同样需要有很好的沟通能力,一是与客户的沟通,二是与团队内部纯技术的沟通。

很多程序员都止步于中级级别,靠一手SSH技术行天下,而身处初级时养成的毛病仍然存在,有的甚至已经工作5年却一直是这样,可塑性极差,由于工作时间长也学会了一手掩盖问题的好本事,这类人毫不客气的说就是项目的祸害。

也有一些人达到中级或高级级别后厌倦了编码,从而转做需求分析、产品经理或项目经理,在国内做技术确实也很难拿到高工资,这也是很多技术人员转型的原因。

而我依然坚持我的技术之路,既然选择了就要坚定的走下去。

总结:通过上面的介绍相信你对于Java有了一个更清晰的认识和了解,如果你对于Java很感兴趣,但是不知道从何学起,昆明北大青鸟Java培训机构节前送福利了,Java免费体验课开始报名了,大牛老师为你规划Java学习路线图,你还担心学不会吗

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 游戏开发需要学什么?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情