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