大世界游戏技术现状与挑战
- 大世界游戏定义:提供广阔无缝连接的游戏世界,允许玩家自由探索、互动,具备海量玩家在线、高度自由、动态剧情、多样化任务、无缝地图、丰富互动、持续进化等特点。
- 技术挑战:
- 跨平台性能差异
- 海量数据高效存储
- 弹性调度与服务高可用
- 渲染复杂度激增
- 保障低延迟与高并发
- 高效动态光照表现
- 关键技术:
- Level Streaming:动态加载/卸载关卡部分,优化性能和内存。
- HLOD:远处加载低精度模型,近处加载高精度模型,节省内存。
- World Partition:将世界划分为网格单元,自动流送加载/卸载。
- Data layer:分组、管理、动态加载场景内容,优化性能和开发协作。
腾讯游戏云大世界技术实践
1. TKE-资源弹性调度与服务高可用
- 典型大世界架构:超大场景(8KM*8KM以上)、高并发(1万玩家以上,3万以上实体)、无缝可见环境。
- 商用无缝大世界方案:SpatialOS和BigWorld,特点是需要快速扩缩容、对网络延迟敏感、需要频繁更新和发布。
- 无缝策略:按逻辑分离或按空间分离(如BigWorld的Space/Cell或SpatialOS的zoning)。
- 推荐云原生架构:Client -> CDN -> COS -> CLB ->公共服务 -> GateServer -> TKE(容器服务)-> GameServer/Cell -> EOSessionServer。
- TKE超级节点能力:支持秒级扩容、无损热更、EO加速和高防。
- 云原生架构 vs 自建网关+CVM:
- 云原生:利用K8S并行扩缩容、优雅终止Pod、灵活调节HPA扩缩容速率。
- 自建:需处理长连接场景、滚动更新负载不均、扩容Pod失效等问题。
- Pod长连接场景及最佳实践:
- 配置
terminationGracePeriodSeconds避免过早被SIGKILL杀死。
- 业务层面自动重连,避免连接固化到某个后端Pod。
2. MongoDB-海量数据存储
- 选择MongoDB原因:
- 高可用性和可靠性:原生分布式架构,保障业务不中断。
- 实时水平扩展:分片架构支持PB级数据存储。
- 灵活数据结构:支持半结构化数据,满足游戏背包、战斗等需求。
- 快速迭代速度:Schemaless特性支持随时修改数据结构。
- MongoDB回档闪回:
- 支持秒级别回档单个文档,提高数据修复效率。
- 功能价值:降低运维风险、提高业务恢复速度、灵活易用。
- 大规模集群优化:
- 内核增量路由刷新:性能提升2200-450倍,解决分片集群chunks较多时的抖动问题。
- 透明平滑扩容:不停服扩容分片,业务不闪断,加完分片后自动平衡。
- 多可用区部署:提升业务可用性,通过副本和灾备实例保证数据同步。
- 优化实践:
- 索引优化:添加background参数避免全集群挂。
- 片键规划:合理设计避免数据倾斜。
- 业务慢查询优化:设置服务端和请求端超时时间。
- Count性能改善:通过Redis等存储介质提前记录条数。
3. GenesisLod-引擎资产预处理
- 传统制作方式弊端:
- LOD/HLOD资产预处理耗时耗力,效果差距大。
- 纯几何算法无大局观,易产生接缝和破面。
- GenesisLod优势:
- 降低人力成本90%,90%模型可直接程序化自动减面。
- 效率提升10倍,耗时提效100倍以上。
- 效果达到人工品质,甚至超越人工制作效果。
- 静态减面竞品对比:InstaLOD、Simplygon、Houdini、Blender、Unreal Engine。
- HLOD功能介绍:支持动态细节层次,优化渲染性能。
4. MagicDawn跨引擎分布式光照烘焙技术
- 游戏GI方案现状和挑战:
- 制作过程耗时,运行时性能要求高。
- 光照质量是提升画质的性价比手段。
- MagicDawn方案:
- 跨平台跨引擎,拥抱AI与云计算。
- 支持纯静态GI、半动态GI(TOD)、兼容实时GI。
- 特点:超大规模场景自动拆分&光源采样优化、智能烘焙任务调度、云烘焙加速、无偏的光照烘焙算法(PT)、高精度模型和材质表达。
- 超大规模场景烘焙方案:
- 场景自适应划分:4叉树场景管理、ILC任务拆分、Lightmap任务Pack。
- 贴图结果并行导入&编码:拆分后显存/内存大幅减少,导入耗时降低40%。
- 光照烘焙性能:
- 项目A:1.3km场景,53w实体,烘焙耗时1.5h vs MagicDawn 1h(8 agent)。
- 项目B:2km场景,62w实体,烘焙耗时20h vs MagicDawn 1h(8 agent)。
- 项目C:11km场景,53w实体,烘焙耗时4.69w vs MagicDawn 0.5h(8 agent)。
- 基于Probe的全平台GI方案:
- 不规则布点(ILC)或规则布点(VLM/APV)。
- 基于AI的解压缩算法,压缩率提升至3%。
- OLV自动防漏光,结合烘焙离线迭代优化。
- TOD动态光源支持:
- PRT2.0方案,预计算和储存光照信息,实现动态天光和方向光。
- 无需烘焙多套数据,模块化集成,低频与高频分开存储,最小化包体。