1、了解并致力于游戏总体设计。
2、配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持。
3、负责游戏开发工具和运营维护工具的设计与开发。
4、完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试。
5、管理维护游戏平台的制作与运行。
6、与团队其他人员配合,促进游戏的改进创新。
负责客户端架构设计、模块划分、编辑器规划、引擎维护与人员分工。负责游戏客户端与公司技术平台的整合。协调与服务器端、策划、美术和公司其他技术部门之间的关系。
看一下游戏开发的基本功有哪些:
数学基础:根据你所做内容来决定,一般上层逻辑比较少的去考虑到积分等高数内容。但是如果想搞图形学,矩阵线性代数,高数必须要有一定的功底
算法:常见的排序,查找需要理解并掌握,进一步常见的还有分治,贪心,动态规划,有时候现学现卖也是可以的。另外,除了这些基本的算法,在游戏领域还是有很多其他领域不太常用的算法,比如八叉树查找,碰撞检测,A*。还有一些很特殊的情况需要开发者自己去寻找合适的算法。
C++(C#):基本语法,模板,代理,命名空间,const,继承,内存结构,虚表,引用,断言,宏定义等
数据结构:首先是掌握链表,数组,队列,堆,栈,图,树等数据结构,然后是各种排序,查找,遍历等算法。这些掌握了以后可以很快的熟悉stl或者类似的基本库原,用的时候可以更准确的选择合适的数据结构
设计模式:一般来说,我们需要设计模式来快速的搭建游戏逻辑框架,比如前面提到的各种逻辑系统。而且还需要通过设计模式来理解引擎各个模块的设计思路。
对引擎各个模块有一定深入的理解:这个不用多说,看一遍游戏引擎架构吧,不理解写出的代码经常会出现各种问题(比如同步问题),编辑器各种功能也用不好。
内存管理:可能很多引擎或者语言已经尽可能的帮你处理内存了,但是你难免需要在一些特殊情况下自己处理,内存池技术,各种C++的new的使用,不得不会。
对开发工具的熟悉:这里并不是指只是对某一个引擎使用熟练,而且对不同引擎相关的内容都有一定理解,可以很快的触类旁通。
编译原理,链接,第三方库:经常会遇到各种链接错误,编译错误,打包错误,这需要有一定的相关知识与经验去解决这些问题。
性能分析与性能优化: 主要就是三个方面——内存,CPU,GPU。着手点有渲染批次,渲染实例化,布料优化,网络同步数据量,物理开销等,加载资源优化(包的合并),裁剪,声音文件加载,LOD,美术资源制作规范化等。调试的时候可以使用引擎内置工具,进一步的细节可以采用Intel的VTune工具
对游戏的理解:虽然不玩游戏也一样能参与游戏开发,但玩过游戏的人还是有优势的。最明显的是玩过游戏的人会对游戏有更多的想法与意见,也习惯去主动学习其他的游戏的技术与优点。(程序这样,策划更是如此)
开发经验:这个就比较宽泛了,难以只言片语说清。
- 相关评论
- 我要评论
-