游戏开发应该开云 开云体育平台学什么专业?
从小我就觉得能让游戏动起来好酷啊,我就要做能让游戏动起来的人,但我大学之前一直都没有了解过想让游戏动起来需要学习什么,所以我当年报志愿的时候也不知道该学什么专业,最后我靠百度查到原来是要学计算机啊,所以我所有的第一志愿都是计算机科学与技术或者软件工程,其他专业也都是跟计算机相关的
做游戏其实主要分为三大部分,程序,策划和美术,我这里主要讲的游戏开发主要是游戏客户端程序的部分。要做开发的话肯定是要学计算机的,跟游戏开发相关的计算机专业又分了计算机科学与技术,软件工程和数字多媒体技术(这里是比较主流跟游戏开发相关的专业)
编程基础是每一位开发都要学好多的课程,现在主流引擎Unity使用的是开发语言是C#,虚幻是C++,不管是用什么游戏引擎C和C++都是编程语言的基础,数据结构更是非常重要,代码的结构直接影响了开发的效率以及游戏优化。
游戏开发需要学好数学吗?答案是当然的,游戏开发对数学的要求虽然没有算法高但是也要掌握对应的数学基础。Kaiyun App下载 全站在大学中呢这三门对游戏开发都是有帮助的,线性代数中的矩阵在游戏中也会用到矩阵旋转,离散数学所包含的逻辑思维对于开发来说也是很有帮助
计算机其他相关:编译原理,数据库,计算机系统结构,计算机网络,单片机。。。
归为这类的就是我觉得对于游戏开发相对来说优先级很低的课程了,而且我是当时是想开发游戏玩法功主要是想做客户端所以网络相关的课程对当时的我没那么重要,我们当时的课程还有嵌入式开发,搞电路的那种,Kaiyun App下载 全站我边焊电路变怀疑人生,有这时间我看点四元数不好吗?
这个专业学的课程很大一部分是开发需要的知识,但是游戏引擎的使用,游戏的制作等等这些更偏游戏方向的课程一般是没有的需要自学
当时没做程序员搜索引擎还用的不够溜所以当时报志愿的时候也没仔细研究这俩专业的区别,这俩有哪个报哪个。
了解了一下有不少人说软件工程专业更注重实践,计算机科学与技术的硬件相关课程要比软件工程多,对于游戏开发来说软件工程可能更合适一些,但是课程重叠部分很多,而且我去查看了一下软件工程的课表发现也会有微机原理,传感器等更偏硬件的课程,所以这两个专业差别不是很大。
这个专业我当时上大学的时候还真没听过,因为当时我能报的那些学校中计算机系没有开放这个专业。看一下百科给的介绍
所以我向粉丝求助这个专业最好的学校之一中国传媒大学的课表,感谢我有一位正在中传读此专业的粉丝提供了中国传媒大学数字媒体技术(游戏设计技术方向)的课表
可以看到美术课程占比很少,计算机和策划相关课程差不多各占一半,计算机的课程几乎囊括了游戏开发所需的基础编程知识,尤其是游戏引擎、计算机图形学、图形特效编程向这些游戏会用到的图形相关课程计科和软件工程还不一定会开设。假如再给我一次高三我肯定会把中传的数字媒体技术当作自己的理想专业
还有从中传此专业毕业的粉丝说,这个专业毕业之后一部分去做了游戏策划,做程序的大部分去做了TA技术美术,少部分做了客户端也就是我现在在做的工作。这里再简单说一下TA和客户端的区别,TA大部分要求有美术基础,工作内容从2D3D美术到渲染图形学引擎相关都有,我个人觉得是一个技术含量很高的工作,对TA感兴趣的小伙伴可以自行了解
而且这个专业游戏开发氛围好我觉得这点很重要,有游戏设计方向的专业都会定期组织游戏制作相关作业,我当时上学的时候感觉全学校只有我一个人做游戏
大家选择学校报考的时候去搜索或者问前辈想报考专业的课程表,看看课程与游戏开发的相关程度,不同学校同一专业甚至同一方向课表都会有所区别。还有要了解这个专业都有哪些方向可选,比如数字媒体技术还有影视相关方向,想做游戏开发的要看专业有没有跟游戏相关的方向。这里我想吐槽我们学校当时后期只有Java开发方向,到了大四甚至要去校外的培训机构统一学习,我问老师我能不去吗?老师说不行,所以我就搬着电脑去教室做游戏了了
三个专业中数字媒体技术专业跟游戏制作最贴切,填报志愿时记得注意想报的大学有没有游戏开发相关方向
如果只想做游戏开发的小伙伴,计算机科学与技术和软件工程是很好的选择,这两个都是游戏开发对口专业,但是游戏开发氛围可能不如有数字媒体技术专业强,大部分也可以用游戏来当毕设的,我当时的毕设就是自己设计的独立游戏。
咨询了担任游戏客户端面试官的朋友,做游戏开发的话在面试官眼中计算机科学与技术与软件工程区别不大,数字媒体专业的话也属于游戏开发对口但是更看重的是编程能力
当时我想的是要是没有考上计算机相关专业,拼了命我也要转专业,没想到入学了才知道我们专业分数线跟学校的录取分数线是一样的
上了学才发现其实最重要的是自学能力,有对应课程固然重要但是自学能力才是贯穿一生都需要的能力,而且通过上课学的太慢了,一周能学完的知识拉到一学期去讲对我来说效率不够高,比如我需要的C#大三才有教这太晚了,所以大二之后我就没去听过课了,每天都在图书馆里自习游戏所需知识。而且身为程序员每天都在自学新的知识,我们组最近一直没招到服务端我已经开始自学服务端相关知识了,以后我都可以说我是全栈开发了。所以如果你想做游戏开发的话,自学也可以做到。只要开发能力突出,即使不是对口专业也可以成为游戏开发。
一个游戏中包括人物、建筑、动物、植物等数千种角色,每一个角色都需要设计制作出来,而每一个角色都有自己的个性,这也非常吸引玩家。
所以,游戏开发工程师一直是游戏公司常年招聘的高薪岗位,甚至经常出现互相挖人的现象。游戏开发学什么专业?选哪家学校?想必这是大家都非常关心的问题。
在这里小编想告诉你,要想学游戏开发,就选择计算机专业,而且大学里打好基础非常重要。接下来介绍几个国内比较有名的计算机专业大学:
第1个就是哈尔滨工业大学的计算机科学与技术学院。优势领域包括:智能机器人,CIMS与系统集成,智能化中文信息处理机器翻译技术,计算机网络及系统安全防护技术等。
第2个就是吉林大学的计算机科学与技术学院,吉大计算机:软件自动化、软件重用技术、人工智能、专家系统、计算机代数、定理证明与自动推理、分布式推理、分布式系统等方面居国内领先水平。
第3个就是华中科技大学的计算机科学与技术学院。学院在信息存储系统与技术,存储网络与附网存储技术,采用新原理的超高密度超高速存储技术,集群系统与并行I/O,网络安全体系结构理论与技术方面有优势。建有外存储系统国家专业实验室,信息存储系统教育部重点实验室。
第4个就是清华大学的计算机科学与技术系。清华大学应用和系统结构更强些,某些方向已经处于世界的领先水平。优势领域包括多媒体,网络技术等。同时拥有模式识别与智能控制国家重点学科。
再有一个就是浙江大学的计算机科学与技术学院。优势在于建有计算机辅助设计与图形学国家重点实验室。优势领域还有CAD/CIMS、虚拟现实,网络与多媒体、产品创新设计、智能信息与人机交互技术等。
这是我关于游戏团队的整理,里面也涉及游戏开发所需要的技能整理,希望对你有所帮助。
自学开发笔记,有兴趣的同学请关注微信WiGameFun,不定时分享游戏开发相关技术。有不对的地方烦请指点修正。
一个游戏公司在立项开发一款游戏时,首先就是要组建开发团队。而要组建团队,一定要搞清楚游戏开发团队必须配备哪些人员模块,这些人员在对应模块应该具备什么技能,他们的职责又是什么。这样在后续开发中才能做到责任的清晰划分,确保高效质量地完成开发任务。
项目组制作人是项目第一负责人,对整个游戏项目进度、成本、风险等都要关注。负责和制作人沟通项目进展风险等信息的则是主策划、主程序、主美术、主测试。
主策划主导策划组设计整个游戏的核心玩法、数值成长、剧情发展,模块依赖限制设计等等以及策划组任务分配、进度管理。
主程序针对游戏类型和具体游戏要求,结合自身开发经验和对各种技术的调研、程序组人员的技能掌握情况,选择开发引擎、开发语言、设计游戏逻辑框架、技术风险评估与解决方案设计(特别需要注意的:包括但不限于客户端展示性能和服务器支撑多人在线的性能等问题)以及程序组任务分配、进度管理。
主测试主要根据负责测试组任务分配、进度管理,同时要根据自身测试知识储备、以往测试经验对测试人员对各个模块设计的测试,这里需要特别说明的是,测试是游戏版本发布前质量保证的最后保证,至关重要。
剧情策划一般负责游戏剧情的编写,因此需要剧情策划同学具有丰富的历史、神话、地理、政治等等知识背景。
数值策划需要对整个游戏的数值把控,比如场景中的角色、怪物等每一级的血量、护甲、伤害,数值直接影响玩家游戏体验,如果设计的怪物太厉害,玩家体验挫败感太强容易造成玩家流失,或者怪物太弱玩家分分钟能够通关玩家的成就感就很弱,同样也会造成玩家流失。为了能够构造出比较合理的数值,数值策划一般会设计一些公式来计算当前角色的血量、伤害、护甲,这些公式输入值与角色的等级相关,这样基本能够保证数值不会崩溃。数值策划可能常用到Excel,也包含在Excel的部分编程技能,比如在Excel中设计数值计算的公式编辑等。
执行策划一般会做一些具体的文本编辑等,比如从美术那里拿到美术资源使用其他软件(程序负责开发,或者选择现有市场的软件)编辑成游戏中需要的动画、设计界面布局等。因为这些工作并不涉及太复杂的开发技术,基本都是操作软件,只要调整界面元素布局(像素级别)、动画帧调整,因此都是执行策划来负责完成这一工作。对执行策划而言,最好能具备一些bat、shell等脚本编写,这些都能帮助执行策划提高工作效率。
客户端程序主要负责实现给玩家展示的界面活动切换等逻辑,因此客户端程序需要掌握的是如何在界面加载精灵元素、动画播放、音乐音效播放、资源管理、网络编程、数据结构设计、游戏逻辑实现等,但是这些大家不要担心,现在的游戏引擎都能帮我们实现以上这些基础功能管理。因此客户端程序一般来说至少要掌握一款现有流行的游戏引擎,市面上现有流行的游戏引擎有Unity3D(C#语言)、CocosCreator(JavaScript、TypeScript语言,作为CocosCreator的前身产品,Cocos2dx支持C++、JavaScript语言)、Egret(支持TypeScript语言)等等。
服务器端程序主要负责玩家数据存储、游戏服务器端逻辑实现。服务器的实现的语言一般可以选择C++、Java、NodeJS等。要对玩家的数据进行存储就涉及到数据库操作,服务器端程序可能涉及到MySQL、MongoDB等数据库知识,具体根据项目组技术选择决定。
接下来说说平台支撑组,在大一些的游戏公司中,一般会有专门的引擎研究组,对现有市面流行的引擎研究,因为游戏项目的不同,有时会涉及到通用引擎不能支持的特定功能,这时引擎组可以对开源引擎进行修改来帮助项目组完成该特定功能。在游戏逻辑开发完成之后,就要面临游戏上线,移植平台(常见的如Android、iOS等)再接入平台的SDK,大一点的公司可能会有专门负责接入渠道的平台组。而这就要求平台组的程序人员具备Android、iOS等原生开发技能(这里我将引擎组和平台组统一划分到平台支撑组)。
美术组中,一般虽然一个游戏确定是2D或者3D之后,大部分资源要做成2D的还是3D的就确定了,但是不排除在一些场景还是都要涉及2D和3D的元素的。一般游戏中的元素划分为场景(比如各个副本场景)、角色(比如玩家控制的角色、关卡中的怪物等)、UI(登录界面的按钮、文本、动画元素等等)。一般来说美术同学需要掌握PhotoShop、3DMax等设计软件。
我个人并没有参与过美术开发,因此对美术同学的工作了解并不很多,但之前的工作经验,美术同学在开发过程中的工作强度并不低于程序同学,而且很可能会出现,制作人等拿到版本在移动设备上体验之后,对整体画风、界面元素、整体布局等不满意,评审后推翻重做的情况。因此,这里建议大家在游戏制作初期,尽可能的早出版本验证,越到后期推翻重做的成本越大。当然这也看出主美术在其中的关键作用,因为在界面画风这些方面,主美术的经验应该是最丰富的,如果能够在早期就把这些问题避免掉,会节省很大成本。
测试组中,主测试按照策划文案划分模块分配给各个测试同学,各个测试同学根据自己对负责模块的了解,可以通过思维导图细分当前模块,再进一步设计详细的测试用例。
比如:针对登录模块,就需要设计玩家用户名和密码的正确性验证的验证,各种正常输入和异常输入都需要进行覆盖,为了避免出现覆盖不全或者冗余验证,我们可以学习边界值法、等价类划分法、判定表法等等针对当前情况进行分析,为每一类型的场景设计一条测试用例,既保证测试覆盖的全面性,又不会因为冗余测试而为自己带来过多的工作量。
测试用例设计完成后,可以先交付给对应模块开发人员,要求开发人员在完成逻辑开发转测试之前自验,这样可以将问题发现提前,而且开发人员自己应该更了解当前模块逻辑,可以通过对照测试用例对各个分支排查,尽早发现问题,避免测试黑盒测试漏测风险。
这里需要特别强调下,虽然从结构上来说这样划分,但实际工作中,不论是策划组内、美术组内还是程序组内、测试组内,具体的工作可能是穿插的,比如客户端程序除了要开发游戏逻辑外,也要负责平台移植,在电脑上开发完成之后还要负责打出Android的APK安装包、iOS的IPA包等等。这些都会根据团队的具体配置来调整,但团队整体的目标应当是一致的,那就是齐心协力在尽可能短的时间内,降低开发成本、控制开发风险,开发出高质量的游戏!开云APP 开云官网入口开云APP 开云官网入口
扫一扫关注微信公众帐号