案例研究 / 05

商业游戏客户端开发

Unreal / C++ / Lua / Gameplay Systems

商业客户端开发经历:在腾讯游戏参与大型 Unreal 游戏项目,在哔哩哔哩参与手游开发。

← 全部项目
商业游戏系统Unreal Engine
C++ × Lua
地图与导航玩法 UI背包系统
客户端状态服务器事件

生产管线 / Perforce / 策划与 QA

角色游戏客户端工程师
背景腾讯游戏与哔哩哔哩的项目团队
状态商业项目 / 保密

挑战

在成熟的生产管线与分布式团队中,交付可维护的玩法与界面系统。

我的贡献

开发地图与导航系统、玩法 UI、背包与物品系统、客户端—服务器流程,并参与 UMG 从 C++ 到 SLua 的工作流迁移。

交付过程

这项工作
是如何成形的。

从对问题的第一个模型,到检验系统的实际行为。

01

负责一个系统

承担地图与导航功能,覆盖 UI 呈现、坐标转换、特效与寻路。

02

融入生产环境

在既有的客户端—服务器接口、内容管线、代码评审与跨地协作中工作。

03

改进迭代效率

参与把 UI 工作从编译沉重的 C++ 路径迁向 SLua 热更新,缩短迭代时间。

04

跨职能交付

与策划、美术和 QA 协同实现与调试,而不是把客户端孤立看待。

工程证据

那些
真正重要的细节。

  • 地图、小地图、寻路与坐标系统
  • 登录、背包与副本入口 UI
  • C++ 到 SLua 的工作流迁移
  • 与策划、QA 的跨职能交付
  • Perforce 与代码评审的生产流程
  • 约 240 人分布式团队的协作经验

决策细节 / 展开阅读

01把地图视图与导航规则分开

大地图与小地图在不同尺度上呈现世界坐标、路线与玩家状态。让坐标转换与导航规则独立于视图,两者才更容易一起推理。

02用 SLua 缩短 UI 迭代周期

编译沉重的 C++ UI 工作流拖慢了频繁的表现层改动。我在项目既有的客户端架构内,参与推动向 SLua 热更新的迁移。

03跨越客户端边界调试

一个可见的 UI 缺陷,可能源自网络状态、数据、资源或客户端逻辑。生产环境的调试意味着沿着这些边界追踪状态,并与相关团队协同修复。

04在共享的生产管线中构建

Perforce、代码评审以及与策划、QA 的协调都是功能交付的一部分。本案例说明我的职责,团队的商业源码与资源不予公开。

结果

为腾讯已上线的《逆战:未来》(NIZHAN: Future)所做的地图、导航与玩法 UI 工作,奠定了我如今带进独立游戏与运营软件的商业工程基础。

我在腾讯参与的 NIZHAN: Future 此后已上线。更早在哔哩哔哩参与的手游项目在上线前被取消。本案例只描述我的职责,不公开任何商业源码或受保护的资源。

  • Unreal Engine
  • C++
  • Lua / SLua
  • UMG
  • Perforce
  • Client-server

下一个案例

01酒店运营平台→