武汉列举网 > 教育培训 > 电脑/网络 > 游戏开发程序员要具备哪些能力呢
武汉
[切换城市]

游戏开发程序员要具备哪些能力呢

更新时间:2018-12-16 09:17:47 浏览次数:68次
区域: 武汉 > 江汉 > 万松
类别:软件工程师培训
地址:解放大道中山广场7楼
1.游戏开发基本功
数学基础:根据你所做内容来决定,一般上层逻辑比较少的去考虑到积分等高数内容。但是如果想搞图形学,矩阵线性代数,高数必须要有一定的功底;
算法:常见的排序,查找需要理解并掌握,进一步常见的还有分治,贪心,动态规划,有时候现学现卖也是可以的。另外,除了这些基本的算法,在游戏领域还是有很多其他领域不太常用的算法,比如八叉树查找,碰撞检测,A*。还有一些很特殊的情况需要开发者自己去寻找合适的算法。
C++:基本语法,代理,命名空间,const,继承,内存结构,虚表,引用,断言,宏定义等
数据结构:首先是掌握链表,数组,队列,堆,栈,图,树等数据结构,然后是各种排序,查找,遍历等算法。这些掌握了以后可以很快的熟悉stl或者类似的基本库原,用的时候可以更准确的选择合适的数据结构
设计模式:一般来说,我们需要设计模式来快速的搭建游戏逻辑框架,比如前面提到的各种逻辑系统。而且还需要通过设计模式来理解引擎各个模块的设计思路。当然,如果你想设计游戏引擎,那更不能少了设计模式了。
对引擎各个模块由一定深入的理解:这个不用多说,看一遍游戏引擎架构吧,不理解写出的代码经常会出现各种问题(比如同步问题),编辑器各种功能也用不好。
内存管理:可能很多引擎或者语言已经尽可能的帮你处理内存了,但是你难免需要在一些特殊情况下自己处理,内存池技术,各种C++的new的使用,不得不会。
对开发工具的熟悉:这里并不是指只是对某一个引擎使用熟练,而且对不同引擎相关的内容都有一定理解,可以很快的触类旁通。
编译原理,链接,第三方库:经常会遇到各种链接错误,编译错误,打包错误,这需要你有一定的相关知识与经验去解决这些问题。
性能分析与性能优化: CPU与GPU,渲染批次,渲染实例化,布料优化,网络同步数据量,物理开销等,加载资源优化;
对游戏的理解:虽然不玩游戏也一样能参与游戏开发,但玩过游戏的人还是有优势的。明显的是玩过游戏的人会对游戏有更多的想法与意见,也习惯去主动学习其他的游戏的技术与优点。(程序这样,策划更是如此)
开发经验:这个就比较宽泛了,难以只言片语说清。比如你的游戏莫名其妙的出现了一些bug,新手完全无从下手,而有经验的人会有各种手段去调试并解决。经验丰富的老手有时真的抵得上N个新手的,所以这需要各位不断的学习与实践了。
2.游戏模块总结
游戏逻辑模块系统:游戏玩法核心,包括各种武器,状态,技能,背包,战斗等逻辑系统。
动画模块系统:状态机,Montage,动画融合,IK等
物理模块:给需要交互表现的对象赋予物理特性(包括刚体,流体,粒子,布料等),调整重力大小等各种参数,调整交互中力的大小,调整物理约束
AI模块: AI导航,与玩家交互等,玩家的很多功能系统也需要给AI来使用,更深层次的可以考虑将机器学习相关的内容融入
UI模块:搭建各种界面框架(背包,捏脸,地图等),非常耗时间与精力,后期需要不断调整;
渲染模块:客户端表现核心,不用多说,内容非常多且深
网络模块:底层架构,同步,网络连接
场景模块:包括地形,关卡,植被,角色管理与优化等
输入与输入处理模块:将玩家输入处理转换成逻辑,需要注意的有组合键,输入法切换等;
游戏登录与更新:一般这是专门的工具组来做,比如我们常见的各种游戏登录器,在线更新等。
这里面的除了网络基本上都需要美术,策划,程序共同参与与合作。
3.技术点
存储与序列化(protobuf)
单机玩家的游戏存档如何实现?通过序列化 socket 搭建基本的TCP/UDP通信系统
反外挂
保证游戏公平性,一般服务器上做各种校验措施
多线程
一般用于渲染,物理,网络同步等,减少开销,增加cpu利用率
打包流水线,包的大小优化,包的多层递归引用优化等
数据库
什么数据要存在数据库里面,什么存在本地就可以。应该选择什么数据库?之后会不会出现游戏合服?
CDN /服务器的部署与运行等
这个也很复杂,又要考虑成本又想容纳更多玩家(网游),有时可能需要用到CDN技术来优化网络同步,另外还要考虑成本等问题来决定是否租用云服务器
武汉电脑/网络相关信息
很多人推荐的电脑培训学校
东西湖-东西湖周边
4月25日 刷新
专业电脑培训
东西湖-吴家山
2023-12-20 刷新
东西湖电脑培训
东西湖-吴家山
2023-11-25 刷新
为什么要学电脑
东西湖-吴家山
2023-05-07 刷新
2023-03-11 刷新
仓库管理物流电脑操作培训
东西湖-东西湖周边
2022-07-24 刷新
注册时间:2018年06月23日
UID:498552
---------- 认证信息 ----------
手机已认证
查看用户主页