问题一:学游戏开发要学那么多东西。。。怎么学啊。。。我觉得你这些学会了还是太少了。
开玩笑了,我作为一个游戏程序员在这个行业干了6年,其实你真正要会的东西是C++,另外你还要对计算机的内存结构,数据编排管理方式,也就是我们说的数据结构掌握透彻。
Android只是一个程序的载体平台,你将来还有可能为iphone开发,所以这种东西你用到的时候通过sdk文档去了解一下它的规则就可以了。
cocos2dx你可以通过一个实例项目去掌握它,用它来做一块你进入这个行业的敲门砖还是可以的。毕竟现在用这个的公司是非常多,都想招个熟练工嘛。
粒子系统和OpenGL.等你学了cocos2dx之后,如果对他背后的东西感兴趣可以研究一下,有百益而无一害。
数据库无非就是一些接口和查询语句,对于一个程序员来说,应该要学。
游戏脚本你可以学一个,比如lua,不要纠结它的语法和形式,要思考为什么用脚本,用脚本有什么好处。大部分游戏引擎都有自己的脚本语言,你能理解他存在的意义遇到任何脚本语言就都没有问题了。
物理引擎我建议你也学一下,虽然我见过的很多游戏程序员根本不懂物理引擎,也能做出很优秀的游戏。但是当你深入研究了物理引擎,你就会觉得你游戏程序员的路还很长,就不会因此而满足现状。
最后给你一点忠告,学好数据结构很重要,做游戏的都说游戏的灵魂是程序,而程序的灵魂是数据!能创造出完美灵魂的人才是一个完美的游戏程序员。
问题二:游戏软件编程要先学什么首先,别的都不管,一定要先学精以下数学科目:线性代数、空间解析几何、微积分。都要学到比较深的程度,千万不能囫囵吞枣,否则往后的压力会越来越大。现在本科的内容其实不够的,例如quaternion你在课本里就没学,但游戏里绝对用得多。还有,课本里大概也不会教你怎样判断任意两个多面体是否相交。这些都要靠自己多钻研、多琢磨,不能满足课本内容的。
然后,看你是侧重图形、物理、还是AI方向。
图形方面,其实基本上就是几何和光学问题,关键是熟悉API(DirectX或OpenGL)。如果想获得尖端效果,则要先学一些光学基础,然后才能进入可编程Shader的美妙境界。
物理方面,本人经验太少,只能说:这真的是太太复杂了。AI方面:本人也没经验。就不多说了。
最后才说C++编程:其实C++编程这东西真的很奇怪。我们先是在课堂上学了一套东西,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦、不安全啦,等等),反正又得学另一套东西。搞C++特别是游戏的人,都有一种近乎病态的完美主义倾向,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,什么都加const,其实你就算加了const,人家用强制类型转换,一样可以转成非const)。还有那个指针,如果你真的用CObject*pObj这样的形式,肯定要被人骂。他们要用所谓的“*** art pointer”。诸如此类,都相当变态。
其实真的要做AAA级的游戏,简直就和强迫自己开发一套操作系统、加上一套程序框架、加上实现绝大多数的数据结构和算法一样痛苦。
为什么那么痛苦那么麻烦?想想:做一个游戏,本质上就是想用有限的资源模拟出无限的显示世界,而创造这个复杂的世界是上帝才能胜任的事情,那你想模拟它出来,不就是要和上帝竞争吗?(本人不信教,呵呵。)
当然,如果你只是满足比较不那么出众的游戏,或许并不用那么痛苦,随便拿个所谓的“引擎”过来用就行。或者用C#,也可以吧。
问题三:游戏开发需要学哪些课程呢?游戏程序开发专业主要培养具有必要的计算机理论知识,熟练掌握至少一种游戏开发平台,熟悉游戏架构、游戏规划及设计、游戏动画、音效制作、游戏编程和测试的游戏开发人才,并且能适应游戏开发公司、网络游戏运营和服务企业、动漫制作等公司的需要,从事各种游戏的策划、设计、编码和测试工作。
主要专业课程有:C++程序设计、数据结构与算法、计算机图形学、DirectX程序设计、OpenGL程序设计、JAVA游戏程序设计、游戏体系结构、游戏建模技术、游戏引擎技术、角色设计、游戏企划、网络游戏开发等。
问题四:学游戏开发要学些什么?跟楼主说一下常用的游戏编辑软件吧:
3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。
MAYA:跟3dsMAX差不多的软件,因个人喜好而定, MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。
Maya和3dmax的区别:
MAX优势在于模型和插件,有丰富的模型库,快速的建模方式和优良的渲染插件及较快的渲染速度,能够在游戏模型、建筑巡游、广告效果图等领域广泛使用。 MAYA优势在于动画及其特效,在模型方面与MAX无太大差异,但建模速度较慢。MAYA的动画块较MAX有显著优势,现阶段的动画电影及长片动画都是用 MAYA来制作完成,并且《变形金刚》《蜘蛛侠》这类科幻电影的动画及特效也是有MAYA来制作完成,所以MAYA的侧重点在于动画电影的制作。
Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要用的贴图。
ZBrush:美工制作超高模用的,然后可以生成法线贴图,在MAYA或MAX中使用。
Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。
C++:程序使用,用来实现游戏中的各种功能,调试BUG等。
Alienbrain:文件管理软件。游戏团队不是一个两个人在工作,一大群人的工作成果怎样才能有效的管理并使用?这时就需要一款文件管理软件
问题五:学习游戏编程需要学什么?首先,不管什么游戏,最基本的要求有两个。一是至少精通一门编程语言,二是掌握游戏设计结构。
语言包括C/C++、C#、ObjC、Java等。游戏设计结构包括图形渲染、声音、物理、网络等等。
再者,看你具体要想学习哪方面的游戏编程了。
如果做Windows PC游戏需要你学习DirectX或OpenGL等图形库,如有必要还需要网络和多线程的知识。
如果做手机游戏多为2D游戏,建议你了解一下cocos2d游戏引擎(Android或i盯S,如果是WinPhone手机,顺便建议你了解一下XNA)。
如果做网页游戏,若是服务端建议你了解至少一门编写CGI的语言如PHP,还需要你知道数据库相关知识;若是前端建议你了解一下HTML5、JavaScript、Flash等等。
PS,请楼主不要看到这些内容就觉得晕,你提出的是一个很大很笼统的命题,希望你可以找准方向,专攻一路。草民提到的也不一定全面,当然更不深入,如果不对你就当没看到吧。
问题六:要学计算机游戏开发要学些什么? 20分首先你需要掌握一门编程语言。还需要3dsMAX或maya,Deeppaint3D,Photoshop与Panter等软件的使用
问题七:学习游戏软件开发要具备什么?游戏分为游戏策划,游戏美工,游戏程序三个部分,游戏策划就是编辑游戏剧本,需要有好文彩,游盯美工要有绘画基础,美感好,学3dmax软件,游戏程序要学习编程语言,逻辑思维能力。
问题八:想学游戏编程应该从什么入门啊。 20分不管什么方向,编程都是基础.哪个人不是从零基础开始学的,你又不是第一个?你要先学C语言,编程入门的.我是学这个的,可以共同学习,茉987末期300址192开,注意数字,能找q.
问题九:游戏开发需要学什么你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢我你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢我你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后......>>
学习游戏开发需要熟练掌握游戏编辑软件,熟练掌握好这些基础的游戏软件功能就可以了。
常用的编辑软件有以下6种。
1、3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。
2、MAYA:跟3dsMAX差不多的软件,因个人喜好而定,MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。
3、Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。
4、C++:程序使用,用来实现游戏中的各种功能,调试BUG等。
5、Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要用的贴图。
6、ZBrush:美工制作超高模用的,然后可以生成法线贴图,在MAYA或MAX中使用。
平台与编程语言选择
首先,游戏开发的平台就有很多类型:
个人主机平台: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、好的实习经历、项目经验很重要,先进入游戏行业很重要,每个人都要敲门砖。
问题一:学游戏开发要学那么多东西。。。怎么学啊。。。我觉得你这些学会了还是太少了。
开玩笑了,我作为一个游戏程序员在这个行业干了6年,其实你真正要会的东西是C++,另外你还要对计算机的内存结构,数据编排管理方式,也就是我们说的数据结构掌握透彻。
Android只是一个程序的载体平台,你将来还有可能为iphone开发,所以这种东西你用到的时候通过sdk文档去了解一下它的规则就可以了。
cocos2dx你可以通过一个实例项目去掌握它,用它来做一块你进入这个行业的敲门砖还是可以的。毕竟现在用这个的公司是非常多,都想招个熟练工嘛。
粒子系统和OpenGL.等你学了cocos2dx之后,如果对他背后的东西感兴趣可以研究一下,有百益而无一害。
数据库无非就是一些接口和查询语句,对于一个程序员来说,应该要学。
游戏脚本你可以学一个,比如lua,不要纠结它的语法和形式,要思考为什么用脚本,用脚本有什么好处。大部分游戏引擎都有自己的脚本语言,你能理解他存在的意义遇到任何脚本语言就都没有问题了。
物理引擎我建议你也学一下,虽然我见过的很多游戏程序员根本不懂物理引擎,也能做出很优秀的游戏。但是当你深入研究了物理引擎,你就会觉得你游戏程序员的路还很长,就不会因此而满足现状。
最后给你一点忠告,学好数据结构很重要,做游戏的都说游戏的灵魂是程序,而程序的灵魂是数据!能创造出完美灵魂的人才是一个完美的游戏程序员。
问题二:游戏软件编程要先学什么首先,别的都不管,一定要先学精以下数学科目:线性代数、空间解析几何、微积分。都要学到比较深的程度,千万不能囫囵吞枣,否则往后的压力会越来越大。现在本科的内容其实不够的,例如quaternion你在课本里就没学,但游戏里绝对用得多。还有,课本里大概也不会教你怎样判断任意两个多面体是否相交。这些都要靠自己多钻研、多琢磨,不能满足课本内容的。
然后,看你是侧重图形、物理、还是AI方向。
图形方面,其实基本上就是几何和光学问题,关键是熟悉API(DirectX或OpenGL)。如果想获得尖端效果,则要先学一些光学基础,然后才能进入可编程Shader的美妙境界。
物理方面,本人经验太少,只能说:这真的是太太复杂了。AI方面:本人也没经验。就不多说了。
最后才说C++编程:其实C++编程这东西真的很奇怪。我们先是在课堂上学了一套东西,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦、不安全啦,等等),反正又得学另一套东西。搞C++特别是游戏的人,都有一种近乎病态的完美主义倾向,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,什么都加const,其实你就算加了const,人家用强制类型转换,一样可以转成非const)。还有那个指针,如果你真的用CObject*pObj这样的形式,肯定要被人骂。他们要用所谓的“*** art pointer”。诸如此类,都相当变态。
其实真的要做AAA级的游戏,简直就和强迫自己开发一套操作系统、加上一套程序框架、加上实现绝大多数的数据结构和算法一样痛苦。
为什么那么痛苦那么麻烦?想想:做一个游戏,本质上就是想用有限的资源模拟出无限的显示世界,而创造这个复杂的世界是上帝才能胜任的事情,那你想模拟它出来,不就是要和上帝竞争吗?(本人不信教,呵呵。)
当然,如果你只是满足比较不那么出众的游戏,或许并不用那么痛苦,随便拿个所谓的“引擎”过来用就行。或者用C#,也可以吧。
问题三:游戏开发需要学哪些课程呢?游戏程序开发专业主要培养具有必要的计算机理论知识,熟练掌握至少一种游戏开发平台,熟悉游戏架构、游戏规划及设计、游戏动画、音效制作、游戏编程和测试的游戏开发人才,并且能适应游戏开发公司、网络游戏运营和服务企业、动漫制作等公司的需要,从事各种游戏的策划、设计、编码和测试工作。
主要专业课程有:C++程序设计、数据结构与算法、计算机图形学、DirectX程序设计、OpenGL程序设计、JAVA游戏程序设计、游戏体系结构、游戏建模技术、游戏引擎技术、角色设计、游戏企划、网络游戏开发等。
问题四:学游戏开发要学些什么?跟楼主说一下常用的游戏编辑软件吧:
3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。
MAYA:跟3dsMAX差不多的软件,因个人喜好而定, MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。
Maya和3dmax的区别:
MAX优势在于模型和插件,有丰富的模型库,快速的建模方式和优良的渲染插件及较快的渲染速度,能够在游戏模型、建筑巡游、广告效果图等领域广泛使用。 MAYA优势在于动画及其特效,在模型方面与MAX无太大差异,但建模速度较慢。MAYA的动画块较MAX有显著优势,现阶段的动画电影及长片动画都是用 MAYA来制作完成,并且《变形金刚》《蜘蛛侠》这类科幻电影的动画及特效也是有MAYA来制作完成,所以MAYA的侧重点在于动画电影的制作。
Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要用的贴图。
ZBrush:美工制作超高模用的,然后可以生成法线贴图,在MAYA或MAX中使用。
Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。
C++:程序使用,用来实现游戏中的各种功能,调试BUG等。
Alienbrain:文件管理软件。游戏团队不是一个两个人在工作,一大群人的工作成果怎样才能有效的管理并使用?这时就需要一款文件管理软件
问题五:学习游戏编程需要学什么?首先,不管什么游戏,最基本的要求有两个。一是至少精通一门编程语言,二是掌握游戏设计结构。
语言包括C/C++、C#、ObjC、Java等。游戏设计结构包括图形渲染、声音、物理、网络等等。
再者,看你具体要想学习哪方面的游戏编程了。
如果做Windows PC游戏需要你学习DirectX或OpenGL等图形库,如有必要还需要网络和多线程的知识。
如果做手机游戏多为2D游戏,建议你了解一下cocos2d游戏引擎(Android或i盯S,如果是WinPhone手机,顺便建议你了解一下XNA)。
如果做网页游戏,若是服务端建议你了解至少一门编写CGI的语言如PHP,还需要你知道数据库相关知识;若是前端建议你了解一下HTML5、JavaScript、Flash等等。
PS,请楼主不要看到这些内容就觉得晕,你提出的是一个很大很笼统的命题,希望你可以找准方向,专攻一路。草民提到的也不一定全面,当然更不深入,如果不对你就当没看到吧。
问题六:要学计算机游戏开发要学些什么? 20分首先你需要掌握一门编程语言。还需要3dsMAX或maya,Deeppaint3D,Photoshop与Panter等软件的使用
问题七:学习游戏软件开发要具备什么?游戏分为游戏策划,游戏美工,游戏程序三个部分,游戏策划就是编辑游戏剧本,需要有好文彩,游盯美工要有绘画基础,美感好,学3dmax软件,游戏程序要学习编程语言,逻辑思维能力。
问题八:想学游戏编程应该从什么入门啊。 20分不管什么方向,编程都是基础.哪个人不是从零基础开始学的,你又不是第一个?你要先学C语言,编程入门的.我是学这个的,可以共同学习,茉987末期300址192开,注意数字,能找q.
问题九:游戏开发需要学什么你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢我你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后退俄罗斯方块:如何这一层满了就消除如何变幻方块模型扫雷:如何查找周围有几颗雷这些都是游戏的算法搞懂了这些逻辑算法就好做了希望能帮到你谢谢我你好做手机游戏我分开说好了首先做手机应用(手机游戏其实也是应用的一种)首选肯定是安卓或者ios二选一安卓肯定就是java了(我比较了解干这个的)后一种我就不熟了那么这个方向的技能需要javaLogic也就是java的基本逻辑然后是web应用也就是服务器技术jsp、servlet前端的话页面要学习js jquery html也就是div+css再从游戏来说游戏那么多精美的图片想要绚丽的效果肯定少不了的那么就是fla sh图片处理之类的技术了如果你只是想练手做个小游戏例如贪食蛇俄罗斯方块扫雷坦克大战之类的那么入手的方向是先搞懂游戏的算法简单来说如何判断蛇吃到了食物如何让蛇前进后......>>
学习游戏开发需要熟练掌握游戏编辑软件,熟练掌握好这些基础的游戏软件功能就可以了。
常用的编辑软件有以下6种。
1、3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。
2、MAYA:跟3dsMAX差不多的软件,因个人喜好而定,MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。
3、Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。
4、C++:程序使用,用来实现游戏中的各种功能,调试BUG等。
5、Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要用的贴图。
6、ZBrush:美工制作超高模用的,然后可以生成法线贴图,在MAYA或MAX中使用。
平台与编程语言选择
首先,游戏开发的平台就有很多类型:
个人主机平台: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、好的实习经历、项目经验很重要,先进入游戏行业很重要,每个人都要敲门砖。
上一篇:创造游戏要学哪些知识点
下一篇:创造游戏怎么学好数学知识