Unity架构师如何提升
今天我从一个从业10多年的游戏开发者角度,来给大家介绍Unity 架构师如何提升与成长。
最终到技术总监
1: 扎实的基础, 腾讯,网易这些一线大厂都非常注重基础知识:
(1) 语言基础, 协程原理,委托,event的作用等;
(2) 数据结构与常用算法: 链表, 树, 算法,图的遍历,树的遍历,算法时间与空间复杂度等;
(3) 扎实的unity基础, unity的每个点你都知道,比如如何降低drawcall等。
(4) 扎实的3D数学,游戏数学, 向量,四元素,矩阵, 法线,点乘,叉积等等。
…
2: 代码设计思想, 框架设计能力,项目管理能力:
(1)要明白主流的框架设计思想,MVC, ECS等。
(2)要熟练的使用主流的一些设计模式,并有自己的体会,而不是死记。
(3)明白开发游戏的主要需求,以及每种需求对应的框架设计。完成的组成框架。
(4) 热更新,资源管理,网络管理,调试模块,工具模块,与服务器对接等经典的设计要熟悉。
(5) 项目管理,明白不同阶段开发者对如何开发项目,如何安排提升,如何考核与管理。
(6) 熟悉游戏项目部署与运营技术,比如版本更新,资源更新等。
3: 熟悉精通游戏中常用的算法,拿起就能开干:
(1)地图编辑器的设计与实现;
(2) 寻路导航算法;
(3) 基于场景树的资源管理;
(4) Mesh切割,程序生成地图;
(5)AOI, 帧同步设计, 物体运动与分解。
4: Shader进阶:
(1) Shader重要性: 炫酷的效果需要Shader, 渲染性能需要Shader, 有趣的玩法需要Shader
(2) Shader的基础开发, Cg 基础, 常用Unity Shader API 功能。
(3) 主流经典的Shader技术自己最好都要实现一遍: 水,卡通渲染等。
(4)多阅读别人写到的Shader代码, 掌握主流的Shader开发技巧;
5: 性能调优:
(1)内存分析与优化技巧;
(2)包体分析与优化技巧;
(3)drawcall分析与优化技巧;
(4) Shader性能分析与优化技巧;
(5) 游戏算法性能分析与优化技巧,比如时间换空间,空间换时间,动态规划。
6: 与网络服务器对接:
(1)TCP 通讯, http通讯 Websocket,这些对接与使用相当熟悉
(2)数据协议要非常熟悉 json, xml, BASE64, protobuf的使用;
(3)常用网络游戏的基本常识, 同步,重连等。
7: 游戏服务器开发, 技术总监都是全栈。只有全栈才能带网络游戏项目:
a: 游戏服务器基础, TCP, UDP, http, epoll, IOCP,数据协议,通讯协议等。
b: 游戏服务器框架设计, 要做到高性能,高并发。
c: 分布式游戏服务器设计与开发。
d: 核心游戏类型的主题的技术攻关 MMORPG (TCP, 状态同步, AOI) (Moba UDP 帧同步)。
e: Linux 服务器的上线部署与发布。
9: 拓展我们自己边界:
我们开发会有自研项目,购买别人项目本地化, 第三方开源项目,所以要勇于拓展自己的边界。
比如服务器,要熟悉不同的技术与方案。C++, Java, Node.js 等。
客户端要熟悉不同的技术方案:Unity, Cocos, Laya, UE4等。
你的视野决定了你的格局,对技术保持必要的关注,是一个技术总监必备的技能。
好了,祝你在技术总监这条路上越走越顺。前途是光明的,道路是曲折的。加油。