平台与编程语言选择
首先,游戏开发的平台就有很多类型:
个人主机平台:Windows、Linux、MacOC;
移动平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;
专业主机平台:Xbox、PlayStation、Will等。
如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。
所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:
只使用游戏引擎;
使用游戏引擎并深入学习游戏引擎原理。
游戏开发需要学什么?和软件开发一样,游戏开发也是需要从编程语言学起的。下面有怎样学习软件开发的方法。游戏开发比软件开发相对难一些,因为游戏开发需要我们熟悉各种游戏开发工具。来看看具体的内容吧!
阶段一:学习和计算机沟通的言语——C++语言或其他语言
编写程序就是和计算机进行沟通,而沟通很常用的途径就是语言,就像我们平时和别人沟通一样,只是现在你是和计算机进行沟通,其实你想想和计算机沟通比和别人沟通来得更容易。
计算机语言有很多中,如C/C++,Objc-C,Java,AS3,汇编语言,php,asp等,就像我们平时语言也有多种。当你掌握了这样的一种语言,那么你就能和计算机在不同的领域进行沟通。
而C++语言是目前来说较为强大的语言之一,而重要的是现在很多游戏的底层都是用C++语言写的。而同时你要熟悉一种编程开发工具,编程工具就是你向计算机沟通的一种工具,就像平时我们说话用的嘴巴,开发工具让我们和计算机的沟通更加方便。
阶段二:熟练掌握数据结构及各种常用的算法_灵活使用语言
单单会语言还不够的,就像我们平时你不是会说话就能和别人很好的沟通,你要懂得沟通的方式和技巧。数据就是计算机内存放记录的内容,你可以认为是我们平时说的词,数据结构就是数据与数据间的关系。
针对程序来说,你对数据理解,定义,操作熟悉,对算法多样,高效,那么程序就会简洁,运行效率高,这就是为什么要熟练掌握数据结构和常用算法的原因。其实算法就是解决问题的方法,解决一个问题,方法有很多,有些常用的方法是前人经验得来的,我们就要学习。
阶段三:找一个平台,发挥你的语言能力——Win,Android,IOS
目前程序应用的范围广,平台很多,就针对游戏程序目前常见的就有Win,Android,IOS等,平台就相当于语言使用的地域,你会普通话在中国很吃香,沟通无难题,但你去到美国,那就有难度了,就是你是普通话专家都郁闷。不同的平台对语言及程序架构的要求不一样,因此你要挑一个平台时更好的使用你的语言。
阶段四:开发游戏Dome_实践你的技术
如果你前三个阶段都过了剩下的就是开发游戏Dome,从游戏的logo开始,菜单,到场景,当主角,到NPC,到主角与NPC的交互,到主角与场景的交互等,一步一步写,在不断的开发中积累经验与程序框架。用得越多越熟练。
1、先学习C/C++
2、之后接触学习WINDOWSAPI和VC++
3、需要掌握一个3D游戏SDK:DirectxSDK,或者OPENGLSDK
4、美工和建模方面的知识适当了解围绕以上找相关资料或书,可能需要好几本。
首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。
1.要想成为一个游戏开发人员,就得先成为一个很好的程序开发人员。当你成为一个很好的程序开发人员时,就可以考虑学习游戏开发了。要想成为一个非常好的游戏开发人员,最重要的一点,就是需要对数学非常好。当然,这里指的数学好,不是指加减法好,或者心算好,而是指线性代数,几何和几何代数,物理方面的数学等等。如果你对于数学是毫无兴趣,或者索然无味的话,就要重新想想自己是否可以改变自己的理想了。如果你的数学不好,还想成为游戏中的人员,呵呵,有一个办法,就是成为游戏的测试人员,游戏的艺术人员,或者是游戏设计人员,或者游戏的管理人员。
上面知道数学是开发游戏的第一个基本条件了,但还是有很多其它知识需要学习的。下面就来详细说明一下:
2.程序设计语言:在程序语言方面,不但要精通一两门语言,还需要了解其它的语言。一般开发游戏都是使用C++或者C,因此精通这门语言是必然的选择了。由于开发游戏需要不同的语言,比如脚本语言,这样就需要了解一下动态语言,比如Python等等。
3.数据结构:不管计算机发展到什么程度,只要是编写程序,就少不了数据结构。目前,基本上都不再会有自己去创造“车轮”年代了,应去理解和使用STL,或者其它更好的数据结构库了。精通地使用STL,就基本上解决了数据结构的问题了。
浮点数:在开发游戏里,使用最多的数据类型是什么呢?显然就是浮点数。比如3D游戏里的点坐标,就是使用三个浮点数来表示的。浮点数的计算,往往就会有不精确的现像,比如判断一个数是否等于0,就不能想当然地认为是否等于0了。
4.编程工具:编程工具,就像自己的柴刀,如果没有柴刀,就砍不到柴的。当然,磨刀不误砍柴功。因此,一定要对自己的编程工具非常熟悉,比如调试,工程配置,编辑,编译等等,还有经常出现的编译错误等。如果你还是使用VC6来开发现在的游戏话,建议你赶紧放弃吧。那都是8年前的开发工具了,目前都需要使用VS2005的开发工具了,强大的C++语言特性,强劲的编辑工具,让你写代码,就如流水般流畅。它还能支持编译x64位的代码,64位的PC越来越流行了。
5.计算机体系结构:不了解计算机的体系结构,就没有办法知道程序的运行环境。很多年前,还是8086的体系的结构,接着,就是80386的保护模式。到目前多核体系结构,对于编写程序,要求发挥多核CPU的性能,就需要了解怎么样合理地分配CPU资源了。或许,你还可以控制那个CPU进行渲染的操作,那个CPU进行网络通迅。如果到四核的CPU,又要需要多少个CPU进行数据库的查询工作呢?
6.Windows编程:目前90%的游戏运行环境就是Windows,如果不了解Windows,就无从下手了。比如Windows的消息处理过程,事件响应,还有Windows的网络通迅过程,这些都是需要了解的。还有Windows提供的API,更加要熟练运用了。
7.DirectX:对于每个游戏开发者,都是必备常识。
软件工程:现在的游戏开发,都不是一个人就可以开发完成的。一定是一个团队,相互之间的协作,就成为了需要解决的问题。比如每个人写的一部份的程序库,是怎么样连接在一起,都是软件工程的问题,怎么样安排进度,都是需要使用甘特图来说明,以及怎么样进行测试,也是测试人员配合进行的。现在的游戏都进行入了3D的时代,那么你从哪里开始呢,最快的方法,就是下载DXSDK,然后打开一个空的工程,看看DX给你创建了什么文件,以及这些源程序作什么用的。接着试着创建一个三角形显示出来看看,试着改变它的颜色,试着让它转动起来,最后创建两个三角形,计算一下这两个三角形会不会相交呢?会不会碰撞呢?
在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。
在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。
我最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!
看你要去哪个方向了,策划、程序、美术,每个方向又有细分。
策划有剧情策划,关卡策划,数值策划等等。
程序有客户端编程,服务器编程,引擎编程,脚本编程,手机游戏开发,网页游戏。
美术有3d建模,2d美术。
方向不一样需求不一样。
较了解程序,就程序俩说吧。
如果要说只为干活,客户端你得学windows编程,socket等
服务器当然就是各种数据库操作,各种通讯操作。
引擎编程需要了解底层,directx,opengl,3d数学,物理基础等。
脚本的话就学脚本就够了。
手机游戏开发分ios、android,对应使用不同引擎需要不同的学习。
网页游戏前端目前flex流行,js,html也在发展。
以上只是速成。但是真正建议的是,
学好c++,数据结构,socket编程,了解windows编程,学习数据库编程。
先学3d数学,再学directx,然后试着做个小游戏。
学习设计模式。研究开源引擎。
会是个比较漫长的过程,但是基础扎实,各种开发都不怕。
可以专挑一条喜欢的道路深入研究,也可以专注游戏逻辑实现。
我也是在学习游戏,个人经历来说,觉得比较好的一个方案。
1、3D数学,包括矩阵、四元数、空间变换、碰撞检测等等;
2、C、C++要熟练掌握,对内存、指针这些都要很熟悉;
3、底层的计算机知识、组成原理很重要,最好能会一些汇编;
4、数据结构和算法,非常重要,基础都很重要;
5、对游戏的整体认识,包括游戏需要哪几个模块,比如渲染、物理、AI、gameplay等等,最好自己不用引擎的情况下写过一些基础的引擎、渲染模块等等;
6、对游戏需要有自己的认识和见解,玩游戏也要学会分析,知道如何分析游戏的优缺点,知道什么样的游戏好玩,为什么好玩,建议多看各种文章和视频;
7、了解业界的动态,多关注游戏相关的知识,业内的消息、媒体、人脉也非常重要,学习自己分析业界动向和观点;
8、使用和熟悉学习一下unity这种比较成熟的引擎也很有帮助,可以帮你了解游戏引擎的架构和引擎的动向,但是千万要巩固计算机基础之后再做这些;
9、创新的思维和openmind很重要;
10、好的实习经历、项目经验很重要,先进入游戏行业很重要,每个人都要敲门砖。
在此前的文章中,我们曾认真分享了“游戏运营如何入行”的干货:这一次,我们邀请了天美的运营妹子@Irisly作答,从更轻松易读的角度,分析(tǔ cáo)一波游戏运营该具备哪些自我修养?“作为一名游戏运营,您平时的工作是什么呢?”“我什么都接触一点,因为游戏运营经常需要和各个部门沟通协作。”“好厉害,那您懂的可真多!工作上一定如鱼得水,左右逢源吧。”游戏运营是一项职能特别广泛的工作,从产品规划、数据分析、渠道推广到用户维系,都可以见到运营人的身影。而相比职能明确的“策划、程序、美术”研发铁三角,庞杂琐碎的游戏运营工作时常给人一种“哪里需要哪里搬”的万金油感。在大的游戏公司,游戏运营的分工往往更具体细分;而如果是从“锻炼综合能力”的小公司起步,更难免要身兼多职,以至于在思考人生时发出“杂而不精,这几年到底做了些什么”的灵魂拷问。这也是许多游戏运营陷入的一种迷茫状态。为了克服这种迷茫,好的游戏运营都应当掌握一些生存tips,好让自己在每天的忙乱工作中,获得坚持下去的成就感。1、明确游戏运营的“主线目标”“做游戏运营就是打杂吗?”这是不少游戏运营的困惑。不过游戏运营的工作看似杂乱,但背后也有着明确的逻辑可循。了解这一点能成为我们摆脱迷茫的“定海神针”。一针就见血本质上,游戏运营是游戏行业精细化发展的产物。早期的游戏行业几乎不存在游戏运营。游戏开发者根据自身喜好或经验去研发“玩家可能喜欢”的游戏,投放市场后能否成功更多是一种概率事件。开发者与玩家之间的交流相对滞后与局限,像是一群人在广场上对另一群人喊话,信息传达完全随缘。在人数众多,声量嘈杂的情况下,开发者难以去听清与回应,反而会分散注意力与精力。随着游戏行业日趋成熟,岗位分工更加明确,逐渐分化出一个类似“管家”的角色,专门负责玩家与开发者之间的沟通,协调各方需求,优化资源的配置与内外合作。有了游戏运营,一切开始变得井然有序。除了手忙脚乱的运营自己在MMORPG等服务型游戏崛起后,游戏运营可以通过收集用户反馈,整理数据分析,来为开发者提供方向指引,比如产出玩家喜闻乐见的新内容,或修复影响游戏体验的问题,让游戏得到玩家更长久的喜爱。因此综合来说,游戏运营的主线任务就是“让游戏产品和服务满足用户的需求,延长游戏的生命周期”。作为事事周全的“管家”,游戏运营虽然工作忙乱,但并非没有意义。看清工作的主线目标,针对性地规划自己的成长,我们就能慢慢成为更厉害的高级运营。2、灵活的沟通能力游戏运营是连接玩家与开发者、内部资源和外部渠道的重要桥梁,因此善于沟通非常重要。在一个游戏团队内部,不同部门之间虽是合作关系,但可能因种种原因产生沟通脱节或矛盾。任何环节掉链子,都可能对后续流程造成影响。内部冲突从研发、测试到市场投放,一旦有问题发生,一名好的游戏运营都应当主动介入、积极沟通、协调配合,避免研发进度受到影响。游戏运营也肩负着改进游戏产品的“提需求”使命,比如Bug的反馈与跟进、游戏内活动的设计与优化、版本的管理与外部渠道的对接......如何有效沟通、保证执行效果也是一门大学问。化解冲突3、优秀的留人能力东皇太一曾经说过:“留人?很简单的!”强人锁男但游戏运营的“留人”更加微妙:如何让玩家满意,也同时保证团队的利益,是一个需要巧妙调节的动态平衡。简单来说,一方面,“留人”依赖于游戏运营的数据分析与沟通能力,用妥善的数据论证说服研发团队,作出正确的设计决策;也要尽可能与玩家真诚沟通,争取玩家们的理解与支持。对内对外的沟通能力,决定了运营留人的下限。另一方面,留人取决于游戏运营的活动策划与“整活”能力。优秀的游戏运营能通过活动策划来留住玩家的芳心,或者让渐渐流失的玩家不再走远。但也可能翻车。对于游戏运营来说,活动的奥义在于玩家喜欢留在游戏里,“整活”的能力则是如何使出浑身解数,尽可能让玩家喜欢你,信赖你。有时也要做出必要的“牺牲”。比如女装4、稳健的抗压心态对内对外的沟通、忙乱琐碎的工作、处理意外事故的补救......这些是游戏运营不可避免的状况,而在种种压力面前,如何排解这些消极情绪也是游戏运营的必备技巧。忙到爆炸,但依然优雅从容的游戏运营就我个人而言,工作虽忙,也会尽可能为自己留出一些时间,可以是听歌、撸猫、玩游戏,让自己恢复元气。相比其他职业技能,劳逸结合其实也是一门需要锻炼的技巧:只有做好时间和情绪管理,才能张弛有度地工作与享受生活。心态决定一切5、保持主动学习的动力最后,回到“一名好的游戏运营需要具备素质和技能?”这个问题,我认为最重要的还是学习能力。不论是刚进入游戏行业,一知半解的萌新,还是工作已久的同行,除了从工作中被动涨经验,也要尽可能通过主动学习来提升能力,突破进阶的平台期。当你明白游戏运营的本质,就会发现工作虽然杂乱,但仍有许多值得钻研的地方:比如换位思考的共情能力、沟通说服的心理学技巧、即将是简单的写文案也有传播学可供研究和推敲。优秀的游戏运营也会注重培养自己的工具使用能力,让自己的工作事半功倍。比如用Excel数据分析和呈现、用PS或PR来打个小样、Axure制作原型图......重要的是发现问题,并找到改进的解决办法。学到昏迷与其在“杂而不精”中迷茫,不如顺势点亮更多技能点,让自己的职业道路走得更广阔长远。最后也祝大家新年快乐,开工大吉!拓展阅读:
游戏测试员——游戏生产链接中一个重要的组成部分,他的成员构成也以炯异于程序员、美工师的专业性和全职性而著称。在国内外很多游戏厂商中,既有专职的测试人员,也有由游戏玩家组成的测评大军。因为他们承担着游戏制作环节最后的检验工作,把握着从厂商到玩家手中最后一道大门,所以地位十分重要。在游戏测试员中,按照工作方式的不同,可以分为全职游戏测试员和兼职游戏测试员两大类。也因为这些人都把玩游戏当作生活的一部分,有些人甚至依靠玩游戏得以在都市中生存下去,又被业内称为“游戏即人生”的人。
兼职测试员—成员构成最复杂的职业
在各大网站,几乎每天都可以看到十多个游戏厂商贴出招聘兼职测试员的广告,在一家游戏厂商的招聘公告中,是这样描述他们心中的兼职测试员的——有这样一批人,叫测试玩家吧,哪里有新游戏测试了,哪里就有他们的影子,越是紧张的号,到他们手里的越多,他们是职业测试者。测试玩家权利:所有凭实力成为我们兼职游戏测试员的游戏高手,将可以在协议有效期内凭测试员帐户,免费玩我公司所有正在运营的游戏;因为你的专业素质和对游戏的深入了解,我们还将会优先为您提供在线GM的职位,并提供丰厚的回报。测试玩家义务:及时准确地得到作为玩家的你对于游戏的反馈意见和你的第一手资料,根据你的建议,我们将对游戏的开发和运营进行改进。你将是一个经典游戏的缔造者之一!
网友小比是这批游戏测试员大军中的一员,在一个招聘公告的讨论区,我找到了他。据他自我介绍,他是一个广州的SOHO(Small office home office)族,三天打鱼两天晒网,时不时接一测试单活,剩下的时间种花也好充电也好拍拖也好,总之是随意安排,闲散过日子,在他的测试员朋友中很多都是如此。
作为一名狂热的网络游戏爱好者,早在念大学的时候,学计算机专业的小比就已经“我为网狂”。毕业后,干脆呆在家全力玩游戏,但迫于生存的压力,他不得不寻思点事情赚钱。既然喜欢游戏,何不干脆把工作和娱乐结合起来。小比如是想,也如是作了。
几年前,他进入游戏测试圈的时候,网络游戏一般都是内部测试,很少在外面招人。而小比则另辟蹊径,专门找那些已经推广的网络游戏的“空子”。那段时间,他每天的工作就是玩各种新出的游戏,检测其中可能存在的BUG,再与网友们一起用程序修正这个BUG;虽然常常昏天暗地地“加班”,但对小比而言,不过是重温大学时代在机房混战通宵的经历。找到了问题就马上发邮件或者打电话给游戏厂商。从开始没有人理睬到后来的小有名气。半年之后,几个网络游戏开发商开始主动找他,请他测试新开发的游戏……就这样,小比的钱包也开始日见沉甸。
他介绍说,一般的网络游戏测试流程分为黑箱测试、白箱测试、第三方测试、多级用户测试、CMM3软件成熟度模型和ISO-9000质量控制等多个流程。
所谓的“黑箱测试”是邀请资深的玩家体验游戏的各个角落,尝试所有的游戏功能,然后写出反馈意见。因为这种测试属于全封闭,所以叫“黑箱测试”(Black Box),他就属于这类测试者。而“白箱测试”是编写源代码的程序员自己进入游戏,在非常极端的情况下,模拟几百到上千人同时在线,考察系统的承受能力。因为这种测试比较透明,故称“白箱测试”(White Box)。第三方测试、CMM3软件成熟度模型、ISO 9000一般是邀请专业的第三方机构考评游戏。从常理而言,从这些环节泄漏源代码的可能性几乎为零。但作此种类型测试的一般都是比较有实力的大游戏公司。此外还有一种被称作推广型测试,就是目前游戏厂商所大规模招聘的普通玩家型测试员,他们一般是对游戏进行评估,品评游戏的“手感”。对游戏环节中的不足提出意见,这一般是在前几种测试完成后,游戏开发比较成熟的时候才推出。
谈到现在的兼职游戏测试员,小比很是不屑。他觉得和他出道的时候,网游世界已经变的太多了。铺天盖地的招聘启示背后,是兼职测试员的鱼龙混杂和素质低下。一些小厂商根本不进行黑箱测试、白箱测试、第三方测试等,就直接进入推广型测试,对兼职测试员的业务素质也不作仔细辨别,而是大肆扩充测试员队伍。不但“扩招”来的测试员根本赚不到钱,或者没能力赚到钱(找BUG需要有一定的专业知识,不是每个玩家都可以的),厂商得到的评语也多是都对他们游戏的溢美之词。结果游戏还没有“检疫”完全,就以为天衣无缝,匆匆推向了市场。最后呢,游戏破绽百出,受害的还是玩家。
平台与编程语言选择
首先,游戏开发的平台就有很多类型:
个人主机平台:Windows、Linux、MacOC;
移动平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;
专业主机平台:Xbox、PlayStation、Will等。
如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。
所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:
只使用游戏引擎;
使用游戏引擎并深入学习游戏引擎原理。
游戏开发需要学什么?和软件开发一样,游戏开发也是需要从编程语言学起的。下面有怎样学习软件开发的方法。游戏开发比软件开发相对难一些,因为游戏开发需要我们熟悉各种游戏开发工具。来看看具体的内容吧!
阶段一:学习和计算机沟通的言语——C++语言或其他语言
编写程序就是和计算机进行沟通,而沟通很常用的途径就是语言,就像我们平时和别人沟通一样,只是现在你是和计算机进行沟通,其实你想想和计算机沟通比和别人沟通来得更容易。
计算机语言有很多中,如C/C++,Objc-C,Java,AS3,汇编语言,php,asp等,就像我们平时语言也有多种。当你掌握了这样的一种语言,那么你就能和计算机在不同的领域进行沟通。
而C++语言是目前来说较为强大的语言之一,而重要的是现在很多游戏的底层都是用C++语言写的。而同时你要熟悉一种编程开发工具,编程工具就是你向计算机沟通的一种工具,就像平时我们说话用的嘴巴,开发工具让我们和计算机的沟通更加方便。
阶段二:熟练掌握数据结构及各种常用的算法_灵活使用语言
单单会语言还不够的,就像我们平时你不是会说话就能和别人很好的沟通,你要懂得沟通的方式和技巧。数据就是计算机内存放记录的内容,你可以认为是我们平时说的词,数据结构就是数据与数据间的关系。
针对程序来说,你对数据理解,定义,操作熟悉,对算法多样,高效,那么程序就会简洁,运行效率高,这就是为什么要熟练掌握数据结构和常用算法的原因。其实算法就是解决问题的方法,解决一个问题,方法有很多,有些常用的方法是前人经验得来的,我们就要学习。
阶段三:找一个平台,发挥你的语言能力——Win,Android,IOS
目前程序应用的范围广,平台很多,就针对游戏程序目前常见的就有Win,Android,IOS等,平台就相当于语言使用的地域,你会普通话在中国很吃香,沟通无难题,但你去到美国,那就有难度了,就是你是普通话专家都郁闷。不同的平台对语言及程序架构的要求不一样,因此你要挑一个平台时更好的使用你的语言。
阶段四:开发游戏Dome_实践你的技术
如果你前三个阶段都过了剩下的就是开发游戏Dome,从游戏的logo开始,菜单,到场景,当主角,到NPC,到主角与NPC的交互,到主角与场景的交互等,一步一步写,在不断的开发中积累经验与程序框架。用得越多越熟练。
1、先学习C/C++
2、之后接触学习WINDOWSAPI和VC++
3、需要掌握一个3D游戏SDK:DirectxSDK,或者OPENGLSDK
4、美工和建模方面的知识适当了解围绕以上找相关资料或书,可能需要好几本。
首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。
1.要想成为一个游戏开发人员,就得先成为一个很好的程序开发人员。当你成为一个很好的程序开发人员时,就可以考虑学习游戏开发了。要想成为一个非常好的游戏开发人员,最重要的一点,就是需要对数学非常好。当然,这里指的数学好,不是指加减法好,或者心算好,而是指线性代数,几何和几何代数,物理方面的数学等等。如果你对于数学是毫无兴趣,或者索然无味的话,就要重新想想自己是否可以改变自己的理想了。如果你的数学不好,还想成为游戏中的人员,呵呵,有一个办法,就是成为游戏的测试人员,游戏的艺术人员,或者是游戏设计人员,或者游戏的管理人员。
上面知道数学是开发游戏的第一个基本条件了,但还是有很多其它知识需要学习的。下面就来详细说明一下:
2.程序设计语言:在程序语言方面,不但要精通一两门语言,还需要了解其它的语言。一般开发游戏都是使用C++或者C,因此精通这门语言是必然的选择了。由于开发游戏需要不同的语言,比如脚本语言,这样就需要了解一下动态语言,比如Python等等。
3.数据结构:不管计算机发展到什么程度,只要是编写程序,就少不了数据结构。目前,基本上都不再会有自己去创造“车轮”年代了,应去理解和使用STL,或者其它更好的数据结构库了。精通地使用STL,就基本上解决了数据结构的问题了。
浮点数:在开发游戏里,使用最多的数据类型是什么呢?显然就是浮点数。比如3D游戏里的点坐标,就是使用三个浮点数来表示的。浮点数的计算,往往就会有不精确的现像,比如判断一个数是否等于0,就不能想当然地认为是否等于0了。
4.编程工具:编程工具,就像自己的柴刀,如果没有柴刀,就砍不到柴的。当然,磨刀不误砍柴功。因此,一定要对自己的编程工具非常熟悉,比如调试,工程配置,编辑,编译等等,还有经常出现的编译错误等。如果你还是使用VC6来开发现在的游戏话,建议你赶紧放弃吧。那都是8年前的开发工具了,目前都需要使用VS2005的开发工具了,强大的C++语言特性,强劲的编辑工具,让你写代码,就如流水般流畅。它还能支持编译x64位的代码,64位的PC越来越流行了。
5.计算机体系结构:不了解计算机的体系结构,就没有办法知道程序的运行环境。很多年前,还是8086的体系的结构,接着,就是80386的保护模式。到目前多核体系结构,对于编写程序,要求发挥多核CPU的性能,就需要了解怎么样合理地分配CPU资源了。或许,你还可以控制那个CPU进行渲染的操作,那个CPU进行网络通迅。如果到四核的CPU,又要需要多少个CPU进行数据库的查询工作呢?
6.Windows编程:目前90%的游戏运行环境就是Windows,如果不了解Windows,就无从下手了。比如Windows的消息处理过程,事件响应,还有Windows的网络通迅过程,这些都是需要了解的。还有Windows提供的API,更加要熟练运用了。
7.DirectX:对于每个游戏开发者,都是必备常识。
软件工程:现在的游戏开发,都不是一个人就可以开发完成的。一定是一个团队,相互之间的协作,就成为了需要解决的问题。比如每个人写的一部份的程序库,是怎么样连接在一起,都是软件工程的问题,怎么样安排进度,都是需要使用甘特图来说明,以及怎么样进行测试,也是测试人员配合进行的。现在的游戏都进行入了3D的时代,那么你从哪里开始呢,最快的方法,就是下载DXSDK,然后打开一个空的工程,看看DX给你创建了什么文件,以及这些源程序作什么用的。接着试着创建一个三角形显示出来看看,试着改变它的颜色,试着让它转动起来,最后创建两个三角形,计算一下这两个三角形会不会相交呢?会不会碰撞呢?
在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。
在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。
我最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!
看你要去哪个方向了,策划、程序、美术,每个方向又有细分。
策划有剧情策划,关卡策划,数值策划等等。
程序有客户端编程,服务器编程,引擎编程,脚本编程,手机游戏开发,网页游戏。
美术有3d建模,2d美术。
方向不一样需求不一样。
较了解程序,就程序俩说吧。
如果要说只为干活,客户端你得学windows编程,socket等
服务器当然就是各种数据库操作,各种通讯操作。
引擎编程需要了解底层,directx,opengl,3d数学,物理基础等。
脚本的话就学脚本就够了。
手机游戏开发分ios、android,对应使用不同引擎需要不同的学习。
网页游戏前端目前flex流行,js,html也在发展。
以上只是速成。但是真正建议的是,
学好c++,数据结构,socket编程,了解windows编程,学习数据库编程。
先学3d数学,再学directx,然后试着做个小游戏。
学习设计模式。研究开源引擎。
会是个比较漫长的过程,但是基础扎实,各种开发都不怕。
可以专挑一条喜欢的道路深入研究,也可以专注游戏逻辑实现。
我也是在学习游戏,个人经历来说,觉得比较好的一个方案。
1、3D数学,包括矩阵、四元数、空间变换、碰撞检测等等;
2、C、C++要熟练掌握,对内存、指针这些都要很熟悉;
3、底层的计算机知识、组成原理很重要,最好能会一些汇编;
4、数据结构和算法,非常重要,基础都很重要;
5、对游戏的整体认识,包括游戏需要哪几个模块,比如渲染、物理、AI、gameplay等等,最好自己不用引擎的情况下写过一些基础的引擎、渲染模块等等;
6、对游戏需要有自己的认识和见解,玩游戏也要学会分析,知道如何分析游戏的优缺点,知道什么样的游戏好玩,为什么好玩,建议多看各种文章和视频;
7、了解业界的动态,多关注游戏相关的知识,业内的消息、媒体、人脉也非常重要,学习自己分析业界动向和观点;
8、使用和熟悉学习一下unity这种比较成熟的引擎也很有帮助,可以帮你了解游戏引擎的架构和引擎的动向,但是千万要巩固计算机基础之后再做这些;
9、创新的思维和openmind很重要;
10、好的实习经历、项目经验很重要,先进入游戏行业很重要,每个人都要敲门砖。
在此前的文章中,我们曾认真分享了“游戏运营如何入行”的干货:这一次,我们邀请了天美的运营妹子@Irisly作答,从更轻松易读的角度,分析(tǔ cáo)一波游戏运营该具备哪些自我修养?“作为一名游戏运营,您平时的工作是什么呢?”“我什么都接触一点,因为游戏运营经常需要和各个部门沟通协作。”“好厉害,那您懂的可真多!工作上一定如鱼得水,左右逢源吧。”游戏运营是一项职能特别广泛的工作,从产品规划、数据分析、渠道推广到用户维系,都可以见到运营人的身影。而相比职能明确的“策划、程序、美术”研发铁三角,庞杂琐碎的游戏运营工作时常给人一种“哪里需要哪里搬”的万金油感。在大的游戏公司,游戏运营的分工往往更具体细分;而如果是从“锻炼综合能力”的小公司起步,更难免要身兼多职,以至于在思考人生时发出“杂而不精,这几年到底做了些什么”的灵魂拷问。这也是许多游戏运营陷入的一种迷茫状态。为了克服这种迷茫,好的游戏运营都应当掌握一些生存tips,好让自己在每天的忙乱工作中,获得坚持下去的成就感。1、明确游戏运营的“主线目标”“做游戏运营就是打杂吗?”这是不少游戏运营的困惑。不过游戏运营的工作看似杂乱,但背后也有着明确的逻辑可循。了解这一点能成为我们摆脱迷茫的“定海神针”。一针就见血本质上,游戏运营是游戏行业精细化发展的产物。早期的游戏行业几乎不存在游戏运营。游戏开发者根据自身喜好或经验去研发“玩家可能喜欢”的游戏,投放市场后能否成功更多是一种概率事件。开发者与玩家之间的交流相对滞后与局限,像是一群人在广场上对另一群人喊话,信息传达完全随缘。在人数众多,声量嘈杂的情况下,开发者难以去听清与回应,反而会分散注意力与精力。随着游戏行业日趋成熟,岗位分工更加明确,逐渐分化出一个类似“管家”的角色,专门负责玩家与开发者之间的沟通,协调各方需求,优化资源的配置与内外合作。有了游戏运营,一切开始变得井然有序。除了手忙脚乱的运营自己在MMORPG等服务型游戏崛起后,游戏运营可以通过收集用户反馈,整理数据分析,来为开发者提供方向指引,比如产出玩家喜闻乐见的新内容,或修复影响游戏体验的问题,让游戏得到玩家更长久的喜爱。因此综合来说,游戏运营的主线任务就是“让游戏产品和服务满足用户的需求,延长游戏的生命周期”。作为事事周全的“管家”,游戏运营虽然工作忙乱,但并非没有意义。看清工作的主线目标,针对性地规划自己的成长,我们就能慢慢成为更厉害的高级运营。2、灵活的沟通能力游戏运营是连接玩家与开发者、内部资源和外部渠道的重要桥梁,因此善于沟通非常重要。在一个游戏团队内部,不同部门之间虽是合作关系,但可能因种种原因产生沟通脱节或矛盾。任何环节掉链子,都可能对后续流程造成影响。内部冲突从研发、测试到市场投放,一旦有问题发生,一名好的游戏运营都应当主动介入、积极沟通、协调配合,避免研发进度受到影响。游戏运营也肩负着改进游戏产品的“提需求”使命,比如Bug的反馈与跟进、游戏内活动的设计与优化、版本的管理与外部渠道的对接......如何有效沟通、保证执行效果也是一门大学问。化解冲突3、优秀的留人能力东皇太一曾经说过:“留人?很简单的!”强人锁男但游戏运营的“留人”更加微妙:如何让玩家满意,也同时保证团队的利益,是一个需要巧妙调节的动态平衡。简单来说,一方面,“留人”依赖于游戏运营的数据分析与沟通能力,用妥善的数据论证说服研发团队,作出正确的设计决策;也要尽可能与玩家真诚沟通,争取玩家们的理解与支持。对内对外的沟通能力,决定了运营留人的下限。另一方面,留人取决于游戏运营的活动策划与“整活”能力。优秀的游戏运营能通过活动策划来留住玩家的芳心,或者让渐渐流失的玩家不再走远。但也可能翻车。对于游戏运营来说,活动的奥义在于玩家喜欢留在游戏里,“整活”的能力则是如何使出浑身解数,尽可能让玩家喜欢你,信赖你。有时也要做出必要的“牺牲”。比如女装4、稳健的抗压心态对内对外的沟通、忙乱琐碎的工作、处理意外事故的补救......这些是游戏运营不可避免的状况,而在种种压力面前,如何排解这些消极情绪也是游戏运营的必备技巧。忙到爆炸,但依然优雅从容的游戏运营就我个人而言,工作虽忙,也会尽可能为自己留出一些时间,可以是听歌、撸猫、玩游戏,让自己恢复元气。相比其他职业技能,劳逸结合其实也是一门需要锻炼的技巧:只有做好时间和情绪管理,才能张弛有度地工作与享受生活。心态决定一切5、保持主动学习的动力最后,回到“一名好的游戏运营需要具备素质和技能?”这个问题,我认为最重要的还是学习能力。不论是刚进入游戏行业,一知半解的萌新,还是工作已久的同行,除了从工作中被动涨经验,也要尽可能通过主动学习来提升能力,突破进阶的平台期。当你明白游戏运营的本质,就会发现工作虽然杂乱,但仍有许多值得钻研的地方:比如换位思考的共情能力、沟通说服的心理学技巧、即将是简单的写文案也有传播学可供研究和推敲。优秀的游戏运营也会注重培养自己的工具使用能力,让自己的工作事半功倍。比如用Excel数据分析和呈现、用PS或PR来打个小样、Axure制作原型图......重要的是发现问题,并找到改进的解决办法。学到昏迷与其在“杂而不精”中迷茫,不如顺势点亮更多技能点,让自己的职业道路走得更广阔长远。最后也祝大家新年快乐,开工大吉!拓展阅读:
游戏测试员——游戏生产链接中一个重要的组成部分,他的成员构成也以炯异于程序员、美工师的专业性和全职性而著称。在国内外很多游戏厂商中,既有专职的测试人员,也有由游戏玩家组成的测评大军。因为他们承担着游戏制作环节最后的检验工作,把握着从厂商到玩家手中最后一道大门,所以地位十分重要。在游戏测试员中,按照工作方式的不同,可以分为全职游戏测试员和兼职游戏测试员两大类。也因为这些人都把玩游戏当作生活的一部分,有些人甚至依靠玩游戏得以在都市中生存下去,又被业内称为“游戏即人生”的人。
兼职测试员—成员构成最复杂的职业
在各大网站,几乎每天都可以看到十多个游戏厂商贴出招聘兼职测试员的广告,在一家游戏厂商的招聘公告中,是这样描述他们心中的兼职测试员的——有这样一批人,叫测试玩家吧,哪里有新游戏测试了,哪里就有他们的影子,越是紧张的号,到他们手里的越多,他们是职业测试者。测试玩家权利:所有凭实力成为我们兼职游戏测试员的游戏高手,将可以在协议有效期内凭测试员帐户,免费玩我公司所有正在运营的游戏;因为你的专业素质和对游戏的深入了解,我们还将会优先为您提供在线GM的职位,并提供丰厚的回报。测试玩家义务:及时准确地得到作为玩家的你对于游戏的反馈意见和你的第一手资料,根据你的建议,我们将对游戏的开发和运营进行改进。你将是一个经典游戏的缔造者之一!
网友小比是这批游戏测试员大军中的一员,在一个招聘公告的讨论区,我找到了他。据他自我介绍,他是一个广州的SOHO(Small office home office)族,三天打鱼两天晒网,时不时接一测试单活,剩下的时间种花也好充电也好拍拖也好,总之是随意安排,闲散过日子,在他的测试员朋友中很多都是如此。
作为一名狂热的网络游戏爱好者,早在念大学的时候,学计算机专业的小比就已经“我为网狂”。毕业后,干脆呆在家全力玩游戏,但迫于生存的压力,他不得不寻思点事情赚钱。既然喜欢游戏,何不干脆把工作和娱乐结合起来。小比如是想,也如是作了。
几年前,他进入游戏测试圈的时候,网络游戏一般都是内部测试,很少在外面招人。而小比则另辟蹊径,专门找那些已经推广的网络游戏的“空子”。那段时间,他每天的工作就是玩各种新出的游戏,检测其中可能存在的BUG,再与网友们一起用程序修正这个BUG;虽然常常昏天暗地地“加班”,但对小比而言,不过是重温大学时代在机房混战通宵的经历。找到了问题就马上发邮件或者打电话给游戏厂商。从开始没有人理睬到后来的小有名气。半年之后,几个网络游戏开发商开始主动找他,请他测试新开发的游戏……就这样,小比的钱包也开始日见沉甸。
他介绍说,一般的网络游戏测试流程分为黑箱测试、白箱测试、第三方测试、多级用户测试、CMM3软件成熟度模型和ISO-9000质量控制等多个流程。
所谓的“黑箱测试”是邀请资深的玩家体验游戏的各个角落,尝试所有的游戏功能,然后写出反馈意见。因为这种测试属于全封闭,所以叫“黑箱测试”(Black Box),他就属于这类测试者。而“白箱测试”是编写源代码的程序员自己进入游戏,在非常极端的情况下,模拟几百到上千人同时在线,考察系统的承受能力。因为这种测试比较透明,故称“白箱测试”(White Box)。第三方测试、CMM3软件成熟度模型、ISO 9000一般是邀请专业的第三方机构考评游戏。从常理而言,从这些环节泄漏源代码的可能性几乎为零。但作此种类型测试的一般都是比较有实力的大游戏公司。此外还有一种被称作推广型测试,就是目前游戏厂商所大规模招聘的普通玩家型测试员,他们一般是对游戏进行评估,品评游戏的“手感”。对游戏环节中的不足提出意见,这一般是在前几种测试完成后,游戏开发比较成熟的时候才推出。
谈到现在的兼职游戏测试员,小比很是不屑。他觉得和他出道的时候,网游世界已经变的太多了。铺天盖地的招聘启示背后,是兼职测试员的鱼龙混杂和素质低下。一些小厂商根本不进行黑箱测试、白箱测试、第三方测试等,就直接进入推广型测试,对兼职测试员的业务素质也不作仔细辨别,而是大肆扩充测试员队伍。不但“扩招”来的测试员根本赚不到钱,或者没能力赚到钱(找BUG需要有一定的专业知识,不是每个玩家都可以的),厂商得到的评语也多是都对他们游戏的溢美之词。结果游戏还没有“检疫”完全,就以为天衣无缝,匆匆推向了市场。最后呢,游戏破绽百出,受害的还是玩家。
上一篇:打游戏必备的专业知识是什么
下一篇:打游戏必须要知道的小知识