项目推进篇
项目如何快速推进,功能落实到小组负责人,策划组织宣讲功能会后需要相关开发负责人估开发时间,之后功能小组负责人需要给开发人员下发带有完成时间节点的任务单。功能到期未能完成交付需要复盘并找到原因。
1、压缩开发时间
为了避免程序预估时间与实际开发所需时间差距较大,可以对照UE图拆解成小的模块,每个小模块按天或者两天为单位完成,以书面形式汇报到小组,由主程决定该时间是否合理。程序开发前期以铺代码和UI交互逻辑为主,一般会用到配表的相关数据,因此建议宣讲功能会后当天程序和策划同学一同把配表快速构建完成,如果前期配表工作不需要策划参与,则程序自行完成配表的构建,包括字段列的添加,以及填充测试数据。
2、新开发功能解耦调试
如果我正在调试了一个主城中的UI功能,比如任务列表UI,我希望有一个测试功能架构单独测该功能,支持前后端通信(主服务器或某个后端同学的自启服)。核心思想是一定要让开发者跳过新手引导、抽卡、跑图、播放Timeline等浪费时间的流程,之前我遇到的项目测试任何功能都要登录---进主程---关闭引导---点击跳过剧情---进入主城---点击UI打开功能测试,经历这一系列的操作已经浪费了不少时间。如果经历了一系列操作进入主城后服务器挂了,则需要去别的测试服建号、登录、跑图等,及其浪费时间且搞心态。
比较浪费时间的功能有:新手引导、跑图、抽卡、Timeline、对话、QTE剧情等。
3、支持流程跳转
程序效率篇
1、让每个人学会在开发功能前学会画图,UML图,框架图等
2、代码生成器,重复性的工作自动生成
首先是基础版本的自动生成,以角色展示的UI举例:
当这个功能从0开发时,前端主要负责写三个部分的代码
Manager类负责数据维护(通信数据、配表数据等)
后端数据变化,数据通过事件发送给Module层
module负责逻辑控制通知UI显示什么
接收Manager的事件与数据
注册屏幕拖拽,当拖拽时要旋转展示3D模型
点击回调函数,该UI的按钮点击要触发
注册登录、掉线、初始化等周期函数,做相关表现
view负责纯显示
注册周期函数:OnCreate、OnEnable、OnDisable、OnDestroy等
UI比较简单,获取到所有要显示的组件,Module层通知咱干啥咱就干啥
上面的描述是前端开发UI时的功能比较常见的流程,抛去这个功能独有的逻辑外,通用的注册函数、周期函数还是有不少的,这些代码全部用python模板生成比较合适,比如这个功能叫ShowHero,一键生成后就得到了ShowHeroMgr、Module_ShowHero、UI_ShowHero,开发者希望的是生成后的ShowHeroMgr已经实现了所有的通信发送与接收函数,且接收函数写入了Socket回调中,Module_ShowHero脚本写好了所有的周期、注册函数等、UI_ShowHero获取了预设上的所有组件。
然后是进阶版的自动生成,以角色展示的UI举例:
除了基础生成,还可以让开发者用配置自定义生成文件,一些个性化需求如:
我的UI很复杂,所有逻辑写在一个Module类里特别长,我需要多个文件去管理局部,那么就在生成Module_ShowHero的配置里加入子控制模块名称、子控制类函数名,一键生成后子控制器就被Module_ShowHero引用完成,
我的初始化函数中需要注册好几个模块的事件,在配置中写入1个或多个注册事件的组名即可自动生成代码。
我的某个函数中需要给别人发事件,在该函数的配置中写入即可
程序策划合作
公共功能开发后需要落实到一个文档上供大家查阅和使用,该,例如玩法布阵、弹窗模板,以玩法布阵举例: