首页 > 我想学习游戏编程,需要哪些知识?

我想学习游戏编程,需要哪些知识?

本猿web程序员一枚,熟悉c#,对c++也有些经验,想踏入游戏开发的大门,我该从何入手?

——————————————————————————————————————————————————————————

很感谢各位的回答,最近比较忙没什么时间上来。

u3d我有了解过,是一款开发周期比较短的引擎,其优点在于跨平台,缺点是效果上较老牌引擎差很多。

经过考虑,我认为想要成为一名能当一面的游戏开发者,应该从底层学起,再到高层,从而能够独当一面。

最后,我没有选择哪一款引擎(也许会选ue4吧),选择从directX学起,了解3d基本知识,掌握基本HLSL的编写,以此打下基础。

很感谢各位的回答,虽然并不是我最终要走的路,但是对我来说还是十分有用的。


unity3d?好多手游、页游都是用它的。


我的理解楼主是要搞手游客户端的,我的回答也是以这个为前提。
首先,游戏引擎的选择,你想学2D or 3D游戏,这两个还是有差别的,如果是2D游戏建议cocos2d-x,如果是3D游戏建议是u3d(也可以2D游戏),游戏引擎定下来后,你要做的就是慢慢熟悉里面的各种API的用法,这些网上的各种教程,有木有。
其次,有了之上的入门之后,几周到半年不等,然后你就开始有选择的设计模式、数据结构和算法,如A*、FSM、行为树等等。同时还有一些数学的东东,比如线性代数。
再次,了解下脚本,如果是cocos2d-x就是lua or js,如果是u3d就是你已经掌握的C#。
最后,如果想更深入,就可以去了解OpenGL ES and Shader编程,此时你已经进入高手模式,一招秒杀一片。

本人还是处于初期阶段,用cocos2d做过多个项目,ejoy2d了解了点皮毛,u3d学习当中,说的有点多了,不过这些就是我的学习计划,给楼主参考。做游戏程序猿,要学习的东西太多了,苦逼并幸福着。。


楼主选择先学习hlsl是对的,我也在学习这个,工具嘛RenderMonkey就可以了,虽然只支持Shader Model 3,但SM3如果吃透了,别的Shader应该也不在话下,纯图形渲染就这么些内容,更不要说3ds max和maya的ShaderFX功能还可以可视化生成Shader代码都不用自己写。

我觉得游戏最重要的是场景管理,这个掌管一切,渲染效果和效率,碰撞检测...,在RenderMonkey里把Shader搞差不多后,把BSP,PVS等搞精,基本不是高手也是中手了。


在学校的时候做过一个j2me的小游戏....个人觉得线程间通信这个得学学(比如一个NPC自言自语,可能是一个线程,你跑过去跟他对话这个NPC会转过头来),还有数据结构可能也得学一点,因为游戏中算法用得比较多,好点的数据结构可以降低算法的复杂度(比如自动寻路),欢迎折叠^_^


既然你有C++背景知识, 那你直接用cocos2d-x就好, 用C++开发, 跨平台, 教程多, 会的人多 (有人教你).


脚本语言

比如lua


一个与众不同的建议是建议先学裸写,比如先学h5的canvas的调用方法,然后学会了如何画点划线,如何鼠标交互,然后了解游戏是个帧循环的过程,理解一个游戏框架应该包含了哪些基本的功能模块,然后不同的游戏开发框架在你看来就是外在不同的招式罢了,内在的都是一致的。然后再选一个具体的游戏方向而针对性的选择开发框架。
有个计算机视觉方面的东西叫processing,是java的方言,可以看一下,他不是做游戏的,但是可以来做游戏。算不上框架,只能算比较方便的api集合。但是他的逻辑性很清楚,上手很快,当你获得了那些每个api的功能后,难道你拼凑不出一个游戏,把拼凑的过程总结下来,那就是开发框架。

另外,先确定你所说的独当一面的游戏开发者的具体是指哪种游戏开发————是页游还是手游还是单机游戏,我觉得建议学手游开发吧,h5做手游还不错,有跨平台的优势,个人认为h5不适合做商业应用,h5做手游是个好的选择。另外,做原生的游戏也是比较建议的。cocos2dx确实很火,如果你还想更深入学,建议直接学objective-c,先学如何做ios app。

【热门文章】
【热门文章】