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:游戏服务器开发, 技术总监都是全栈。只有全栈才能带网络游戏项目

  1. 游戏服务器基础, TCP, UDP, http, epoll, IOCP,数据协议,通讯协议等;
  2. 游戏服务器框架设计, 要做到高性能,高并发;
  3. 分布式游戏服务器设计与开发;
  4. 核心游戏类型的主题的技术攻关 MMORPG (TCP, 状态同步,AOI)(Moba UDP 帧同步);
  5. Linux 服务器的上线部署与发布;

8:拓展我们自己边界

  1. 服务器,要熟悉不同的技术与方案。C++, Java, Node.js 等;
  2. 客户端要熟悉不同的技术方案:Unity, Cocos, Laya, UE4等;