学习《游戏工业化的日与夜 - 江南工作室实践札记》总结知识点

本文介绍了工业化开发的标准化和自动化流程,包括编程规范、资源管理自动化、SVN Merge工具和Lua逻辑优化。通过Unity的AssetBundle和自定义资源加载系统提高效率,使用自动化工具进行美术资源导入、错误定位及日志管理,实现更高效的游戏开发流程。
摘要由CSDN通过智能技术生成

工业化的定义:

制作流程呈现标准化、工具化、自动化、平台化

标准化:规范和框架,提供通用能力

规范:

1.程序编码规范

2.美术资源规范

3.开发流程规范

4.维护发布规范

框架:

1.在一个项目的起始阶段,提供一个必选的包Framework,和多个可选包,都以UnityPackages形式存在。必选包内包含的是所有项目都需要用到的内容,如资源加载,资源打包,Lua框架,美术格式导入,UI框架等等,防止每个项目组自己去重复造轮子。

2.提供统一的编程范式,规范程序的书写习惯。

自动化的定义:

在无人参与的情况下,利用控制装置使被控对象或过程自动按照预定规律运行。

1.美术资源导入的自动化。

2.关于SVNMerge的自动化

3.关于自动定位项目阻断的自动化

4.减少重复等待时间,工具栏扩展,Unity快速启动模式

技术:

Unity的AssetBundle资源加载改为自己的一套资源加载VirtualFileSystem(一看就比较高大上,咱不研究)

资源加载不再采用字符串路径的方式去加载,防止产生lua和C#的字符串消耗,用hashcode代替。

业务逻辑(lua)不持有或访问任何GameObject,防止编写不规范导致的内存泄漏,在lua层创建实例的时候拿到的只是一个id。

在玛雅中就能将资源导出并自动导入到Unity中进行一系列的设置,如果做不到在玛雅中一键导出,也可以做到将导出的资源放置在文件夹中,通过一个py工具,将资源导入到Unity并进行一系列的设置,包括资源命名等,同时还能加入限制,例如模型的面数超过限制,模型为中文名,名字长度超出等,可以直接导入失败,还能限定死美术提交的目录,避免提交错误。

自动Merge工具,在SVN提交时需要将Tapd单号放在日志中,Merge工具可以将对应Tapd单号的记录自动Merge到别的分支(神器)

自动定位项目阻断并分发到对应人的工具(自动冒烟这个不大清楚咋做),可以考虑做一个工具,将阻断的报错日志输入,找到关键字和关键文件,结合SVN最近提交信息,找到对应提交人,直接在大群中通知给提交者。另外还有Log日志的管理,可以做个Jenkins工程检查每日提交的Log日志,通知到群里,让大家检查是否有必要提交。

Unity快速启动模式(2019),在ProjectSetting->Editor->EnterPlayModeSettings->EnterPlayModeOptions,这样设置会使的程序中的static变量会保留上次运行时的状态,需要在变量上加上[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)],静态时间上加上[RuntimeInitializeOnLoadMethod]

LuaReload功能

Lua日志跳转功能,双击可以打开日志

感谢江南工作室大佬的分享,启发点超级多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值