Cocos4 通用客户端基础框架设计
- 范围:基于 Cocos4 的可复用游戏客户端基础框架
- 目标平台:iOS、Android、鸿蒙
- 目标项目形态:中重度联网游戏、支持 3D、原生优先交付
- 开发方向:对 Pink 友好,但运行时不依赖 Pink
1. 背景
这次要建设的不是“某一个项目的模板工程”,而是“多个项目可复用的客户端基础框架”。
cocos4 应被视为引擎底座,而不是业务框架本身。共享能力应该主要沉淀在项目层之上的通用基础层,只有在确实不可避免时才对引擎做少量、可治理的补丁。
这套基础框架面向以下场景:
- 多个游戏项目复用
- 中重度联网游戏
- 3D 内容与性能敏感场景
- iOS、Android、鸿蒙三端交付
- 后续借助 Pink 和相关工具提升研发效率
2. 目标
这套基础框架需要提供:
- 可被多个项目复用的运行时架构
- 稳定的启动、更新、登录、大厅、战斗主链路模型
- 模块化的资源、网络、UI、场景、平台能力抽象
- 可跨 iOS、Android、鸿蒙复用的交付模型
- 对人和 Pink 都清晰可理解的工程边界
- 尽可能把重复工作沉淀为工具生成或自动校验
Foundation Layer
通用基础层: 9 个共享包(kernel、resource、net、ui、scene、platform、data、tools、gameplay-kit)
基础包速览
| 包名 | 一句话职责 |
|---|---|
foundation-kernel |
生命周期、依赖注入、模块图、事件总线、配置中心、日志 |
foundation-resource |
资源域与 bundle 策略、热更新、版本检查、预加载、资源寻址 |
foundation-net |
传输层、会话管理、协议编解码、断线重连、战斗网络支持 |
foundation-ui |
UI Root、页面栈、弹窗、HUD、红点、异步加载、引导外壳 |
foundation-scene |
AppRootScene、世界场景加载卸载、场景生命周期、相机契约 |
foundation-platform |
平台能力抽象、原生桥接、权限编排、合规入口 |
foundation-data |
配置访问层、本地存储抽象、迁移、缓存分层、多账号隔离 |
foundation-tools |
配置/协议/资源生成、模块脚手架、manifest 生成、CI 校验 |
foundation-gameplay-kit |
与项目无关的玩法支撑:状态机、战斗时序容器、表现驱动接口 |
