• 3dmt项目开发总结


    0x00:前言
         3dmt项目正式开发已经超过了一年,对于一个手游项目算是比较漫长的,这期间项目组不断来了新的成员,经过大家不懈的努力,整个项目还算比较健康。我在其中参与了很多功能的开发和设计。以前都是以核心成员的身份开发项目,所以只会站在自己的角度,只负责好自己的一亩三分地。那时的心境只能达到只见树木不见森林,当这个项目慢慢的不断完善,自己要把握所有的东西的时候,才知道在这个位置并不轻松,这里我通过技术,管理,生活来和大家分享一下我的感想。

    0x01:技术
         作为技术团队,技术就是我们看家吃饭的根本,在这个Unity3d 项目中总共研究了这些技术问题。这里面每个问题都可以展开独自成一片文章,我会陆续将这些主题写成文章发表在我的博客。对于技术开发者,写文章是非常有好处的,这里不再详叙,大家可以自行搜索。做项目期间,我对接触到的技术进行了总结以及我是如何看待这些问题。

    1、Unity AssetBundle
         a、AssetBundle是什么,有哪些类型
         b、AssetBundle如何生成
         c、Unity3d里如何加载,释放AssetBundle
         d、如何构建自动化工具,生成不同平台的AssetBundle
         e、如何管理划分资源,那些为Resources, 那些为AssetBundle
         f、AssetBundle的优缺点
         g、如何自己实现一套AssetBundle

    2、Unity内存优化
         a、Unity如何查看当前内存使用情况
         b、Unity使用C#的内存是如何管理的
         c、怎样去评判一个APP使用内存是否正常
         d、如何减少内存碎片
         e、如何减少内存分配器和gc的压力
         f、C# 会导致内存泄露吗
         g、资源的大小和内存有关系吗
         h、如何解决游戏里顿卡的问题

    3、APP包大小
         a、APP包的大小原因是什么
         b、如何查看包里资源分布情况
         c、减小包有几种手段
         e、包的大小影响什么
         
    4、Unity网络通讯
         a、什么是http协议
         b、如何处理超时
         c、如何处理网络异常
         d、如何保证包的时序性
         e、如何设计并处理错误码

    5、渲染效率
         a、渲染效率用什么参数来衡量
         b、渲染效率是后期优化就可以解决的吗
         c、什么是像素填充率
         d、什么是渲染管线
         e、shader影响渲染效率吗?如何优化

    6、Cpu效率
         a、draw call 是什么
         b、Cpu占用率过高会产生什么问题
         c、降低draw call 的几种方法
         
    7、技能,buff
         a、技能的数据结构
         b、技能接口
         c、技能如何和动作,特效通信
         d、技能如何复用
         e、技能如何销毁

    8、角色
         a、如何设计角色数据结构
         b、角色那些功能需要分离出去
         c、如何设计角色的AI
         d、如何解决角色和UI的通信问题
         e、角色和技能,buff又如何组合
         
    9、场景加载和卸载
         a、如何划分项目需要几个场景
         b、场景数量多少影响什么
         c、场景加载有几个状态
         e、场景的切换需要注意什么
         f、如何设计场景加载过程进度条

    10、场景刷怪机制
         a、怪物产生的条件有那些
         b、怪物死亡的逻辑有那些
         c、如何设计怪物生成逻辑的数据结构
         d、怪物生成导致的顿卡问题如何解决
         e、怪物不同生成机制如何有效的分摊

    11、战斗逻辑设计
         a、如何抽象整个战斗过程
         b、如何处理场景资源的加载
         c、如何解决不同的战斗玩法
         e、如何拆解战斗元素(战斗场景,战斗UI, 战斗网络协议,战斗结果)

    12、自动化编译
         a、为何需要自动编译
         b、Unity为自动编译提供了什么
         c、自动编译过程中有那些事情要做
         d、如何解决跨平台问题
         e、自动编译智能到什么程度

    13、安全问题
         a、项目性质,安全有哪些问题
         b、修改内存的原理
         c、加速的原理
         d、代码反编译的问题

    14、制定规范,
         a、同屏点数,三角形面数
         b、ui适配问题
         c、ui资源优化
         d、场景优化

    0x02:管理
         管理上我做的事情比较少,我只要求大家做好每周的周报,用好teambition。teambition是一个任务自我管理系统,通过这个工具,希望大家将自己的工作进行拆分细化,然后逐条完成,用的时间久了大家自然会体会出它的好处。另一个就是周报,因为我自己每周都会总结自己一周的工作生活,好处自不多说。对于大家,我们是一个团队,我们的工作是透明的,积极向上的。

    0x03:生活
         a、基本每天都会玩一局dota
         b、如果有好看的电影会去看一下
         c、会比较关注App Store 榜单
         d、会去逛逛多看,买买书,买书容易,看书难啊

    这期间看的书:
    a、习惯的力量
    b、如何阅读一本书
    c、编码的秘密
    d、python核心编程
    e、重来
    f、冒号课堂
    g、三体

    0x04:总结
         每年我都会进行一个自我总结,咱们项目到了一个大的节点,我认为一个大节点总结是有必要的。大家既然一起踏上了这次征程,那我们劲量做到最好,无怨无悔吧。 
  • 相关阅读:
    SynchronousQueue 的联想
    Spring Cache
    CSUOJ 1011 Counting Pixels
    CSUOJ 1973 给自己出题的小X DFS
    CSUOJ 1726 你经历过绝望吗?两次!BFS+优先队列
    CSUOJ 1900 锋芒不露
    CSUOJ 1808 地铁
    CSUOJ 1895 Apache is late again
    CSUOJ 1781 阶乘除法
    CSUOJ 1560 图书管理员的表白方式
  • 原文地址:https://www.cnblogs.com/fengju/p/6174283.html
Copyright © 2020-2023  润新知